View a markdown version of this page

将 AWS 安全代理连接到 GitHub 存储库 - AWS 安全代理

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

将 AWS 安全代理连接到 GitHub 存储库

将您的 AWS 安全代理连接到 GitHub 存储库,以启用代码审查、威胁建模、渗透测试和自动修复功能。AWS 安全代理支持云托管 GitHub 和云托管的企业版 GitHub 。在开始之前,如何与代理空间进行集成请查看以了解如何在座席空间中重复使用注册以及在各个功能之间共享注册。

GitHub 集成有多种用途:

注意

本页涵盖云托管 GitHub (github.com) 和云托管的企业版。 GitHub 有关自托管 GitHub 企业服务器的信息,请参阅将 AWS 安全代理连接到 GitHub 企业服务器

  • 代码审查-根据组织安全要求自动分析每个拉取请求中的代码更改,并按需运行完整存储库扫描

  • 威胁建模-通过分析源代码、数据流和架构,提供对应用程序的理解

  • 渗透测试上下文-通过分析源代码,为渗透测试提供对应用程序的理解

  • 自动修复-提交拉取请求,修复安全评估期间发现的漏洞

连接 GitHub 到 AWS 安全代理需要为您的 GitHub 组织或用户账户授权 AWS 安全代理 GitHub 应用程序,然后在 AWS 控制台中注册连接。

GitHub 整合的工作原理

拉取请求分析发生在内部 GitHub。在您授权 GitHub 应用程序、连接存储库并在 AWS 管理控制台中启用代码审查注释后,AWS Security Agent 会自动扫描每个新拉取请求中的更改(仅对更改后的代码进行差异扫描),并将发现结果作为拉取请求注释发布。

您可以在 AWS Security Agent Web 应用程序中创建和运行完整的代码审查(扫描存储库的整个代码库),而不是在 AWS 安全代理 Web 应用程序中 GitHub。

渗透测试威胁建模在 AWS 安全代理 Web 应用程序中启动。用户选择连接的存储库来提供应用程序上下文,并指定渗透测试的目标域。如果您启用自动修复,则用户可以通过向连接的存储库打开拉取请求来请求 AWS Security Agent 修复发现的问题。

先决条件

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

  • GitHub 组织管理员访问权限或 GitHub 用户帐户所有者访问权限

  • 在 AWS 管理控制台中为您的代理空间配置集成的权限

  • 了解要连接哪些存储库以进行代码审查、威胁建模和渗透测试

重要

一个 GitHub 应用程序只能向一个 GitHub 账户或 GitHub 组织安装一次。如果您需要将同一个 GitHub 组织连接到 AWS 安全代理,则必须使用首次注册集成时所在的 AWS 账户。

注意

如果您的 GitHub 企业组织已启用 IP 许可名单,则必须接受 GitHub 应用程序上允许的 IP 地址。您也可以选择将这些 IP 地址自动添加到您的允许列表中。有关更多信息,请参阅 GitHub 文档中的允许 GitHub 应用程序访问启用允许的 IP 地址

以下 IP 地址用于访问您的 GitHub 资源:

  • 美国东部(弗吉尼亚州北部)(us-east-1)

    • 34.228.181.128

    • 44.219.176.187

    • 54.226.244.221

  • 美国西部(俄勒冈州)(us-west-2)

    • 34.212.16.133

    • 52.89.67.212

    • 54.187.135.61

  • 亚太地区(孟买)(ap-south-1)

    • 13.126.209.199

    • 13.234.6.24

    • 35.154.102.216

  • 亚太地区(新加坡)(ap-southeast-1)

    • 18.139.13.125

    • 47.130.240.215

    • 54.179.238.173

  • 亚太地区(悉尼)(ap-southeast-2)

    • 13.237.95.197

    • 13.238.84.102

    • 52.64.174.242

  • 亚太地区(东京)(ap-northeast-1)

    • 13.192.12.233

    • 35.74.181.230

    • 57.183.50.158

  • 欧洲地区(法兰克福)(eu-central-1)

    • 18.158.110.140

    • 52.57.96.160

    • 52.59.55.56

  • 欧洲地区(爱尔兰)(eu-west-1)

    • 34.251.85.24

    • 52.30.157.157

    • 52.51.192.222

  • 南美洲(圣保罗)(sa-east-1)

    • 54.94.247.213

    • 54.207.222.14

    • 54.232.201.242

授权并注册 AWS 安全代理 GitHub 应用程序

授权 AWS 安全代理 GitHub 应用程序访问您的 GitHub 组织或用户账户,然后在 AWS 控制台中注册连接。

重要

无需关闭浏览器或导航离开,即可完成此过程中的所有步骤。如果注册过程中断,则可能需要卸载 GitHub 应用程序并重新开始。

  1. 在 AWS 安全代理管理控制台中,导航到 “集成”。

  2. 选择添加集成

  3. 选择 GitHub

  4. 选择下一步

  5. 选择 “安装并授权”。

    您将被重定向 GitHub 到以完成授权。确保您 GitHub 使用对要连接的组织或用户帐户具有管理员访问权限的帐户登录。

  6. 在中 GitHub,选择要安装 AWS 安全代理 GitHub 应用程序的账户或组织。

  7. 选择 AWS 安全代理可以访问的存储库:

    • 所有存储库-授予对组织或用户帐户中所有当前和将来的存储库的访问权限

    • 仅选择存储库-从下拉列表中选择特定的存储库。您可以一次选择多个存储库。

      注意

      您可以随时通过访问 GitHub 组织中的 GitHub 应用程序设置或用户帐户设置来修改仓库访问权限。

  8. 选择 “安装并授权”。

  9. 您将被重定向回 AWS 管理控制台以完成注册。

  10. 注册详细信息部分,配置以下字段:

    1. 注册名称-输入此 GitHub 连接的描述性名称。使用标识 GitHub 组织或用户帐户的名称,例如 “Acme-Corp-Org” 或 “Production-Repos”。

    2. 账户类型-从下拉列表中选择以下选项之一:

      • 组织-如果您关联了 GitHub 组织帐户

      • 用户-如果您关联了个人 GitHub 用户帐户

    3. 组织名称(仅在您选择了组织时才会出现)-输入显示在中的 GitHub 组织确切名称 GitHub。

  11. 选择连接

  12. 您会看到一条确认消息,然后返回到集成页面,您的新 GitHub 连接及其注册名称将出现在该页面中。要连接其他 GitHub 组织或用户帐户,请再次选择 “添加集成”,重复此过程。

排除 GitHub 集成故障

如果您在 GitHub 集成过程中遇到问题,请使用以下指导来解决常见问题。

无法完成注册

如果您无法完成注册流程(例如,您的浏览器已关闭、离开注册页面或遇到会话中断),AWS Security Agent GitHub 应用程序可能已安装在您的 GitHub 组织中,但未在 AWS 控制台中注册。

症状:

  • 当您再次尝试授权 GitHub 应用程序时,会 GitHub 显示 “配置” 而不是 “安装”

  • 您无法在 AWS 控制台中完成注册

  • 该集成未出现在您的集成列表中

解决方法:

  1. 从您的 GitHub 组织或用户账户中卸载 AWS 安全代理 GitHub 应用程序。

  2. 返回 AWS 安全代理控制台,从头开始重新开始集成过程。

多个 AWS 账户正在尝试整合同一个 GitHub 组织

一个 GitHub 应用程序只能向一个 GitHub 账户或 GitHub 组织安装一次。如果您需要使用已与其他 AWS 安全代理账户集成的 GitHub 组织中的存储库,则必须使用首次注册集成的 AWS 账户。

解决方法:

  • 确定哪个 AWS 安全代理账户注册了 GitHub 集成

  • 使用该 AWS 账户创建代理空间并连接存储库

  • 如果您需要将集成转移到其他 AWS 账户,请先从原始 AWS 账户中卸载该 GitHub 应用程序,然后将其与新账户集成

后续步骤

连接 GitHub 到 AWS 安全代理后:

  • 导航到要使用这些存储库的代理空间

  • 选择 “启用代码审查” 或 “设置渗透测试”,将特定存储库连接到您的代理空间并配置其使用情况

  • 启用自动修复,允许 AWS 安全代理提交包含漏洞修复的拉取请求

  • 在 GitHub 组织设置中查看 GitHub 应用程序权限和存储库访问权限