本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 AWS 安全代理连接到 GitLab 存储库
将您的 AWS 安全代理连接到 GitLab 云存储库,以启用代码审查、威胁建模、渗透测试和自动修复功能。在开始之前,如何与代理空间进行集成请查看以了解如何在座席空间中重复使用注册以及在各个功能之间共享注册。
GitLab 集成有多种用途:
-
代码审查-根据组织安全要求自动分析每个合并请求中的代码更改,并按需运行完整存储库扫描
-
威胁建模-通过分析源代码、数据流和架构,提供对应用程序的理解
-
渗透测试上下文-通过分析源代码,为渗透测试提供对应用程序的理解
-
自动修复-提交合并请求,修复安全评估期间发现的漏洞
连接 GitLab 到 AWS 安全代理需要提供具有相应权限的 GitLab 访问令牌,然后在 AWS 控制台中注册连接。
GitLab 整合的工作原理
合并请求分析发生在内 GitLab。在您提供访问令牌、连接项目并在 AWS 管理控制台中启用代码审查注释后,AWS Security Agent 会自动扫描每个新合并请求中的更改(仅对更改后的代码进行差异扫描),并将发现结果作为合并请求注释发布。
您可以在 AWS Security Agent Web 应用程序中创建和运行完整的代码审查(扫描项目的整个代码库),而不是在 AWS 安全代理 Web 应用程序中 GitLab。
渗透测试和威胁建模在 AWS 安全代理 Web 应用程序中启动。用户指定目标域并选择连接的存储库来提供应用程序上下文。如果您启用自动修复,则用户可以通过向连接的存储库打开合并请求来请求 AWS Security Agent 修复发现的问题。
注意
公共 GitLab 存储库不提供自动补救功能,以避免在修复漏洞之前将其泄露。
先决条件
在开始之前,请确保您满足以下条件:
-
一个拥有维护者或所有者访问你想要连接的项目的权限的 GitLab.com 账户
-
具有您的连接类型所需范围的 GitLab 访问令牌:
-
个人-具有所有读取权限和
api权限的个人访问令牌。 -
群组-
read_repository范围为read_api和的群组访问令牌。
-
-
在 AWS 安全代理管理控制台中配置集成的权限
重要
将令牌的到期时间设置为当前日期之后的最多 365 天。
注意
GitLab 个人访问令牌可在多个 AWS 账户中使用。与 Atlassian 集成不同 GitHub ,将同一个 GitLab 账户连接到多个 AWS 安全代理实例没有限制。
注册 GitLab 连接
-
在 AWS 安全代理管理控制台中,导航到 “集成”。
-
选择添加集成。
-
选择 GitLab,然后选择 “下一步”。
-
在 “选择账户类型” 下,选择以下选项之一:
-
个@@ 人-Connect 您的个人 GitLab 用户帐户。
-
群组-Connect 包含多个项目的 GitLab 群组。输入您的群组 ID。
-
-
在访问令牌字段中,粘贴您的 GitLab 访问令牌。
-
在 “注册名称” 字段中,输入此连接的描述性名称,例如
Engineering-Team-GitLab。有效字符包括字母、数字、句点、下划线和连字符。 -
选择连接。
您将返回 “集成” 页面,新连接及其注册名称将出现在该页面中。
排除 GitLab 集成故障
如果您在 GitLab 集成过程中遇到问题,请使用以下指导来解决常见问题。
令牌无效或已过期
症状
-
集成无法连接
-
以前运行的集成停止运行
-
表示身份验证失败的错误消息
解决方案
-
在中 GitLab,导航到您的用户设置,然后选择访问令牌。
-
验证您的令牌尚未过期。
-
验证令牌是否具有其类型所需的范围。
-
如果令牌已过期,请创建新令牌并在 AWS 控制台中更新集成。
速率限制
症状
-
代码审查期间出现间歇性故障
-
延迟合并请求分析
解决方案
-
GitLab 对 API 请求应用速率限制。如果您有大量仓库或频繁的合并请求,则某些请求可能会受到限制。
-
等待速率限制窗口重置,或联系 GitLab 支持人员提高速率限制。
后续步骤
连接 GitLab 到 AWS 安全代理后:
-
导航到要使用这些存储库的代理空间
-
选择 “启用代码审查” 或 “设置渗透测试”,将特定项目连接到 Agent Space 并配置其使用情况
-
启用代码修复以允许 AWS 安全代理提交包含漏洞修复的合并请求
-
有关私有托管的 GitLab 实例,请参阅 将 AWS 安全代理连接到 GitLab Self-Managed