本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用代码审查
通过连接 GitHub 存储库或 S3 存储桶中的源代码,将您的代理空间配置为启用代码审查。代码审查会分析您的源代码是否存在安全漏洞,以及是否符合组织的自定义安全要求。
设置代码审查配置是一项代理 Space-wide 操作。您连接的集成和 S3 存储桶将跨功能共享,包括代码审查和渗透测试。
完成设置后,用户可以在 AWS 安全代理 Web 应用程序中创建和运行代码审查,以扫描存储库和 S3 源是否存在安全问题。
注意
如果您已经将 GitHub 存储库连接到 Agent Space(例如,通过渗透测试设置),则代码审查已启用。您可以跳过此设置,直接转到 Web 应用程序来创建代码审查。请参阅创建代码审查。
先决条件
在开始之前,请确保您满足以下条件:
-
在 AWS 管理控制台中创建的代理空间(参见创建代理空间)
-
以下源代码输入中至少有一个:
-
安装了 AWS 安全代理 GitHub 应用程序的 GitHub 组织或用户账户(参见将 AWS 安全代理连接到 GitHub 存储库)
-
包含您要查看的源代码的 S3 存储桶
-
-
为您的代理空间配置集成的权限
-
(可选)如果您计划使用安全要求验证,则在安全要求包中至少启用一项安全要求(请参阅管理安全要求)
访问代码审查设置向导
导航到 Agent Space 的代码审查设置。
-
在 AWS 安全代理控制台中,选择您的代理空间。
-
从以下位置之一选择 “启用代码审查”:
-
守则审查卡
-
“代码审查” 选项卡,然后选择 “启用代码审查”
-
提示
如果您希望 AWS Security Agent 自动处理代码审查反馈,请同时启用代码修复。有关详细信息,请参阅使用户能够开始修复渗透测试和代码审查结果。
您将被定向到安装程序代码审查配置向导。
第 1 步:Connect 集成、存储库和存储桶
在向导的第一步中,连接源代码输入并配置代码审查设置。必须至少添加一个 GitHub 存储库或 S3 存储桶才能继续。
重要
此处配置的集成和 S3 存储桶将在您的代理空间中共享。更改适用于代码审查和渗透测试功能。
Connect GitHub 存储库
从您的授权 GitHub 组织或用户帐户中添加 GitHub 存储库。选择 “添加” 将打开两步式 Connect GitHub 向导,在该向导中,您首先选择存储库,然后配置 AWS Security Agent 可以对每个存储库执行的操作。
-
在 “已连接集成” 部分中,选择 “添加”。
-
选择包含您要查看的存储库的 GitHub 注册。
-
在 “Connect GitHub 存储库” 步骤中,选中要连接的每个存储库对应的复选框。
-
选择 “下一步” 转至 “管理权能”。
注意
在代码审查和渗透测试期间,以只读方式访问连接的存储库以进行代码分析。您可以配置写入操作,例如在下一步中发布评论和打开修正拉取请求。
注意
如果您尚未注册 GitHub 集成,请选择 “设置” 以导航到 “集成” 页面,您可以在其中授权 AWS 安全代理 GitHub 应用程序。有关更多信息,请参阅 将 AWS 安全代理连接到 GitHub 存储库。
配置 GitHub 存储库功能
在 Connect GitHub 向导的 “管理功能” 步骤中,选择 AWS 安全代理可以在每个存储库中执行的操作。代码审查注释和代码修正是按存储库独立设置的。
-
对于每个存储库,切换代码审查评论,让 AWS Security Agent 将安全发现作为拉取请求的评论发布。
-
对于每个存储库,开启代码修复,让 AWS 安全代理修复发现的问题。启用后,Web 应用程序用户可以请求修复发现结果的拉取请求,拉取请求作者可以发表评论
@AWS-Security-Agent fix all findings.以让代理处理其审阅评论。 -
选择 “保存” 以应用您的选择并返回代码审查设置向导。
为仓库启用代码审查注释后:
-
当拉取请求标记为 “准备审核” 时,AWS Security Agent 会自动分析这些请求。不分析拉取请求草稿。
-
安全发现以审查评论的形式直接发布在拉取请求上,并附有具体的补救指南。
-
分析使用您配置的代码审查设置(安全漏洞、自定义要求或两者兼而有之)。
注意
拉取请求评论仅适用于私有 GitHub 仓库。
为存储库启用代码修复后,Web 应用程序用户可以开始修复该存储库上的代码审查和渗透测试结果,AWS Security Agent 会以拉取请求的形式提供每个修复。有关更多信息,请参阅 使用户能够开始修复渗透测试和代码审查结果。
有关拉取请求结果如何显示在中 GitHub 以及如何响应这些结果的更多信息,请参阅查看拉取请求中的代码安全发现。
添加 S3 存储桶
添加包含源代码或上下文资源的 S3 存储桶以供代码审查。
-
在 S3 存储桶部分,选择添加 S3 资源。
-
输入存储桶的 S3 URI 或包含源代码的前缀。
-
选择添加。
注意
您最多可以添加 10 个 S3 资源。S3 存储桶是跨功能共享的,包括代码审查和渗透测试。
提示
您可以添加包含源代码、配置文件、基础设施即代码模板或其他您希望 AWS Security Agent 分析安全问题的项目的 S3 存储桶。
配置代码审查设置
配置 AWS 安全代理在代码审查期间分析的安全问题的类型。此设置适用于在此代理空间中启用代码审查的所有存储库和源。
-
在代码审查设置部分,选择以下选项之一:
-
安全要求验证-验证代码是否符合您在安全要求包中启用的安全要求。
-
安全漏洞发现-识别代码中的常见安全漏洞。
-
安全要求和漏洞发现 — 分析代码是否符合您启用的安全要求和常见的安全漏洞。这是默认设置。
-
注意
启用安全要求验证后,AWS Security Agent 会根据您在安全要求包中启用的安全要求检查代码。如果您选择安全要求验证,但未启用至少一项安全要求,AWS 安全代理将无法识别基于要求的发现。有关安全要求的更多信息,请参阅管理安全要求。
-
选择 “下一步” 继续进行可选配置。
步骤 2:可选配置
在向导的第二步中,为您的代码审查环境配置可选的 CloudWatch 日志记录和服务访问设置。
(可选)配置 CloudWatch 日志
配置 CloudWatch 日志组以捕获和分析代码审查期间的应用程序行为。
-
展开 “CloudWatch 日志” 部分。
-
在日志组下拉列表中,从您的 AWS 账户中选择一个或多个现有 CloudWatch 日志组。
注意
如果您未选择日志组,AWS Security Agent 会自动创建一个默认日志组来存储代码审查执行日志。
(可选)配置服务访问权限
配置 AWS 安全代理用来访问您的 AWS 资源(例如 S3 存储桶和用于代码审查的 CloudWatch 日志)的 IAM 服务角色。
-
展开 “服务访问权限” 部分。
-
选择下列选项之一:
-
创建默认角色 — AWS 安全代理会自动创建一个具有代码审查所需权限的新 IAM 角色。
-
使用现有服务角色-从下拉菜单中选择现有 IAM 角色。
-
-
如果使用默认角色,请输入服务角色名称。该名称在账户中的所有角色中必须是唯一的,必须使用字母数字字符和字
+=,.@-_符,并且不能包含空格。
注意
服务角色名称的最大长度为 64 个字符。如果您不选择现有角色,则会自动创建服务角色。
-
选择 “保存” 以完成设置。
设置完成后
完成代码审查设置向导后:
-
您的 Agent Space 页面上的代码审查卡显示为 “就绪” 状态。
-
用户可以启动 Web 应用程序并创建代码审查以扫描连接的存储库和 S3 源。
-
您可以随时通过在 “代码审查” 选项卡上选择 “编辑配置” 来修改您的配置。
编辑代码审查配置
要在初始设置后修改代码审查配置,请执行以下操作:
-
在 AWS 安全代理控制台中导航到您的代理空间。
-
选择 “代码审查” 选项卡。
-
选择 Edit configuration (编辑配置)。
-
根据需要更新您的集成、S3 存储桶、代码审查设置、 CloudWatch 日志或服务访问权限。
-
选择保存。
后续步骤
设置代码审查配置后:
-
启动 Web 应用程序以创建和运行代码审查(请参阅创建代码审查)
-
随着 GitHub 代码库的增长,连接其他存储库或 S3 存储桶
-
为组织特定的验证配置安全要求包(请参阅)管理安全要求
-
查看拉取请求结果在中的显示方式 GitHub (请参阅查看拉取请求中的代码安全发现)