View a markdown version of this page

启用代码审查 - AWS 安全代理

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

启用代码审查

通过连接 GitHub 存储库或 S3 存储桶中的源代码,将您的代理空间配置为启用代码审查。代码审查会分析您的源代码是否存在安全漏洞,以及是否符合组织的自定义安全要求。

设置代码审查配置是一项代理 Space-wide 操作。您连接的集成和 S3 存储桶将跨功能共享,包括代码审查和渗透测试。

完成设置后,用户可以在 AWS 安全代理 Web 应用程序中创建和运行代码审查,以扫描存储库和 S3 源是否存在安全问题。

注意

如果您已经将 GitHub 存储库连接到 Agent Space(例如,通过渗透测试设置),则代码审查已启用。您可以跳过此设置,直接转到 Web 应用程序来创建代码审查。请参阅创建代码审查

先决条件

在开始之前,请确保您满足以下条件:

  • 在 AWS 管理控制台中创建的代理空间(参见创建代理空间

  • 以下源代码输入中至少有一个:

  • 为您的代理空间配置集成的权限

  • (可选)如果您计划使用安全要求验证,则在安全要求包中至少启用一项安全要求(请参阅管理安全要求

访问代码审查设置向导

导航到 Agent Space 的代码审查设置。

  1. 在 AWS 安全代理控制台中,选择您的代理空间。

  2. 从以下位置之一选择 “启用代码审查”:

    • 守则审查

    • 代码审查” 选项卡,然后选择 “启用代码审查

提示

如果您希望 AWS Security Agent 自动处理代码审查反馈,请同时启用代码修复。有关详细信息,请参阅使用户能够开始修复渗透测试和代码审查结果

您将被定向到安装程序代码审查配置向导。

第 1 步:Connect 集成、存储库和存储桶

在向导的第一步中,连接源代码输入并配置代码审查设置。必须至少添加一个 GitHub 存储库或 S3 存储桶才能继续。

重要

此处配置的集成和 S3 存储桶将在您的代理空间中共享。更改适用于代码审查和渗透测试功能。

Connect GitHub 存储库

从您的授权 GitHub 组织或用户帐户中添加 GitHub 存储库。选择 “添加” 将打开两步式 Connect GitHub 向导,在该向导中,您首先选择存储库,然后配置 AWS Security Agent 可以对每个存储库执行的操作。

  1. 在 “已连接集成” 部分中,选择 “添加”。

  2. 选择包含您要查看的存储库的 GitHub 注册。

  3. 在 “Connect GitHub 存储库” 步骤中,选中要连接的每个存储库对应的复选框。

  4. 选择 “下一步” 转至 “管理权能”

注意

在代码审查和渗透测试期间,以只读方式访问连接的存储库以进行代码分析。您可以配置写入操作,例如在下一步中发布评论和打开修正拉取请求。

注意

如果您尚未注册 GitHub 集成,请选择 “设置” 以导航到 “集成” 页面,您可以在其中授权 AWS 安全代理 GitHub 应用程序。有关更多信息,请参阅 将 AWS 安全代理连接到 GitHub 存储库

配置 GitHub 存储库功能

Connect GitHub 向导的 “管理功能” 步骤中,选择 AWS 安全代理可以在每个存储库中执行的操作。代码审查注释代码修正是按存储库独立设置的。

  1. 对于每个存储库,切换代码审查评论,让 AWS Security Agent 将安全发现作为拉取请求的评论发布。

  2. 对于每个存储库,开启代码修复,让 AWS 安全代理修复发现的问题。启用后,Web 应用程序用户可以请求修复发现结果的拉取请求,拉取请求作者可以发表评论@AWS-Security-Agent fix all findings.以让代理处理其审阅评论。

  3. 选择 “保存” 以应用您的选择并返回代码审查设置向导。

为仓库启用代码审查注释后:

  • 当拉取请求标记为 “准备审核” 时,AWS Security Agent 会自动分析这些请求。不分析拉取请求草稿。

  • 安全发现以审查评论的形式直接发布在拉取请求上,并附有具体的补救指南。

  • 分析使用您配置的代码审查设置(安全漏洞、自定义要求或两者兼而有之)。

注意

拉取请求评论仅适用于私有 GitHub 仓库。

为存储库启用代码修复后,Web 应用程序用户可以开始修复该存储库上的代码审查和渗透测试结果,AWS Security Agent 会以拉取请求的形式提供每个修复。有关更多信息,请参阅 使用户能够开始修复渗透测试和代码审查结果

有关拉取请求结果如何显示在中 GitHub 以及如何响应这些结果的更多信息,请参阅查看拉取请求中的代码安全发现

添加 S3 存储桶

添加包含源代码或上下文资源的 S3 存储桶以供代码审查。

  1. S3 存储桶部分,选择添加 S3 资源

  2. 输入存储桶的 S3 URI 或包含源代码的前缀。

  3. 选择添加

注意

您最多可以添加 10 个 S3 资源。S3 存储桶是跨功能共享的,包括代码审查和渗透测试。

提示

您可以添加包含源代码、配置文件、基础设施即代码模板或其他您希望 AWS Security Agent 分析安全问题的项目的 S3 存储桶。

配置代码审查设置

配置 AWS 安全代理在代码审查期间分析的安全问题的类型。此设置适用于在此代理空间中启用代码审查的所有存储库和源。

  1. 代码审查设置部分,选择以下选项之一:

    • 安全要求验证-验证代码是否符合您在安全要求包中启用的安全要求。

    • 安全漏洞发现-识别代码中的常见安全漏洞。

    • 安全要求和漏洞发现 — 分析代码是否符合您启用的安全要求和常见的安全漏洞。这是默认设置。

注意

启用安全要求验证后,AWS Security Agent 会根据您在安全要求包中启用的安全要求检查代码。如果您选择安全要求验证,但未启用至少一项安全要求,AWS 安全代理将无法识别基于要求的发现。有关安全要求的更多信息,请参阅管理安全要求

  1. 选择 “下一步” 继续进行可选配置。

步骤 2:可选配置

在向导的第二步中,为您的代码审查环境配置可选的 CloudWatch 日志记录和服务访问设置。

(可选)配置 CloudWatch 日志

配置 CloudWatch 日志组以捕获和分析代码审查期间的应用程序行为。

  1. 展开 “CloudWatch 日志” 部分。

  2. 日志组下拉列表中,从您的 AWS 账户中选择一个或多个现有 CloudWatch 日志组。

注意

如果您未选择日志组,AWS Security Agent 会自动创建一个默认日志组来存储代码审查执行日志。

(可选)配置服务访问权限

配置 AWS 安全代理用来访问您的 AWS 资源(例如 S3 存储桶和用于代码审查的 CloudWatch 日志)的 IAM 服务角色。

  1. 展开 “服务访问权限” 部分。

  2. 选择下列选项之一:

    • 创建默认角色 — AWS 安全代理会自动创建一个具有代码审查所需权限的新 IAM 角色。

    • 使用现有服务角色-从下拉菜单中选择现有 IAM 角色。

  3. 如果使用默认角色,请输入服务角色名称。该名称在账户中的所有角色中必须是唯一的,必须使用字母数字字符和字+=,.@-_符,并且不能包含空格。

注意

服务角色名称的最大长度为 64 个字符。如果您不选择现有角色,则会自动创建服务角色。

  1. 选择 “保存” 以完成设置。

设置完成后

完成代码审查设置向导后:

  • 您的 Agent Space 页面上的代码审查卡显示为 “就绪” 状态。

  • 用户可以启动 Web 应用程序并创建代码审查以扫描连接的存储库和 S3 源。

  • 您可以随时通过在 “代码审查” 选项卡上选择 “编辑配置” 来修改您的配置。

编辑代码审查配置

要在初始设置后修改代码审查配置,请执行以下操作:

  1. 在 AWS 安全代理控制台中导航到您的代理空间。

  2. 选择 “代码审查” 选项卡。

  3. 选择 Edit configuration (编辑配置)

  4. 根据需要更新您的集成、S3 存储桶、代码审查设置、 CloudWatch 日志或服务访问权限。

  5. 选择保存

后续步骤

设置代码审查配置后: