本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 AWS 安全代理连接到 GitHub 企业服务器
将您的 AWS 安全代理连接到 GitHub 企业服务器 (GHES) 实例,以便对托管在您自己的基础设施上的存储库启用代码审查、威胁建模、渗透测试和自动修复功能。
GitHub 企业服务器集成提供与云托管相同的功能 GitHub (参见 Connect AWS Security Agent 连接到 GitHub 存储库),并提供了与自托管实例的网络连接的额外配置。在开始之前,如何与代理空间进行集成请查看以了解如何在座席空间中重复使用注册以及在各个功能之间共享注册。
注意
GitHub 企业服务器是通过GitHub集成注册的,而不是通过单独的集成类型注册的。在注册流程中,选择GitHub 企业服务器作为实例类型。云托管 GitHub.com 流程如中所述。将 AWS 安全代理连接到 GitHub 存储库
GitHub 企业服务器集成的工作原理
拉取请求分析发生在 GitHub 企业服务器中。在 AWS 管理控制台中授权连接、连接存储库并启用代码审查注释后,AWS 安全代理会自动扫描每个新拉取请求中的更改(仅对更改后的代码进行差异扫描),并将发现结果作为拉取请求注释发布。
您可以在 AWS Security Agent Web 应用程序中创建和运行完整的代码审查(扫描存储库的整个代码库),而不是在 E GitHub nterprise Server 中。
渗透测试和威胁建模在 AWS 安全代理 Web 应用程序中启动。用户指定目标域并选择连接的存储库来提供应用程序上下文。如果您启用自动修复,则用户可以通过向连接的存储库打开拉取请求来请求 AWS Security Agent 修复发现的问题。
先决条件
在开始之前,请确保您满足以下条件:
-
一个 GitHub 企业服务器实例,它可以是:
-
可通过互联网公开访问,或者
-
可通过私人连接进行访问(请参阅Connect 连接到私有托管的源代码管理)
-
-
您的 GHES 实例的站点管理员或组织管理员访问权限
-
您的 GHES 实例必须使用最低 TLS 版本为 1.2 的 HTTPS 流量提供服务
-
在 AWS 安全代理管理控制台中配置集成的权限
注意
GitHub 企业服务器集成可在多个 AWS 账户中使用。
注册 GitHub 企业服务器连接
注册 GitHub 企业服务器连接使用 OAuth-based 授权流程。
重要
无需关闭浏览器或导航离开,即可完成此过程中的所有步骤。如果注册过程中断,则可能需要从头开始重新启动。
-
在 AWS 安全代理管理控制台中,导航到 “集成”。
-
选择添加集成。
-
选择 GitHub,然后选择 “下一步”。
-
在实例类型下,选择GitHub 企业服务器。
-
例如,在GitHub 企业服务器 URL 字段中,输入您的实例的 HTTPS 网址
https://github.example.com。 -
如果您的实例不可公开访问,请选择使用私有连接连接到终端节点,然后选择现有的私有连接或创建新的私有连接。请参阅Connect 连接到私有托管的源代码管理。
-
在注册详细信息部分,配置以下字段:
-
注册名称-输入此连接的描述性名称。有效字符包括字母、数字、句点、下划线和连字符。
-
GitHub 帐户类型-选择 “组织” 或 “用户”。
-
组织名称(仅在您选择了组织时才会出现)-输入您的 GitHub 企业服务器组织的确切名称。名称区分大小写。
-
-
选择连接。
注意
AWS Security Agent 会将您从控制台重定向到您的 GitHub 企业服务器实例完成授权。授权完成后,您返回控制台,新连接将显示在 “集成” 页面上。
私有连接
如果您的 E GitHub nterprise Server 实例不可公开访问,则必须在注册集成之前创建私有连接。有关详细Connect 连接到私有托管的源代码管理说明,请参阅。
重要
Service-managed 私有连接要求 GHES 实例在创建代理空间的同一 AWS 账户中运行。要进行跨账户访问,请使用自我管理的私有连接。
注意
如果您的 GHES 实例使用私有证书颁发机构颁发的 TLS 证书,请在创建私有连接时提供该证书的 PEM-encoded 公钥。
GitHub 企业服务器集成疑难解答
如果您在将 AWS 安全代理连接到 GitHub 企业服务器时遇到问题,请使用以下指导来诊断和解决常见问题。
OAuth 重定向失败
症状
-
在授权流程中,浏览器重定向失败
-
在 GHES 上授权后显示错误页面
解决方案
-
验证您的浏览器是否可以访问您的 GHES 实例
-
确保 OAuth 回传网址配置正确
-
从头开始重新启动集成过程
无法访问实例
症状
-
连接因超时或网络错误而失败
解决方案
-
验证您的 GHES 实例是否正在运行且可访问
-
如果使用私有连接,请验证 VPC 莱迪思连接
-
验证安全组允许配置的端口上的流量
-
验证 TLS 证书是否有效(最低 TLS 1.2)
后续步骤
将 GitHub 企业服务器连接到 AWS 安全代理后:
-
导航到要使用这些存储库的代理空间
-
选择 “启用代码审查” 或 “设置渗透测试” 以连接特定的存储库
-
启用代码修复以允许 AWS 安全代理提交包含漏洞修复的拉取请求