本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 AWS 安全代理连接到 GitLab Self-Managed
将您的 AWS 安全代理连接到 GitLab Self-Managed 实例,以便对托管在您自己的基础设施上的存储库启用代码审查、威胁建模、渗透测试和自动修复功能。
GitLab Self-Managed 集成的工作原理与 GitLab Cloud 相同(参见将 AWS 安全代理连接到 GitLab 存储库),但需要对私有实例的网络连接进行额外配置。在开始之前,如何与代理空间进行集成请查看以了解如何在座席空间中重复使用注册以及在各个功能之间共享注册。
注意
GitLab Self-Managed 是通过GitLab集成注册的,而不是单独的集成类型。在注册流程中,选择使用 GitLab 自托管终端节点并提供您的实例 URL。云托管 GitLab 流程如中所述。将 AWS 安全代理连接到 GitLab 存储库
先决条件
在开始之前,请确保您满足以下条件:
-
一个 GitLab Self-Managed 实例,可以是:
-
可通过互联网公开访问,或者
-
可通过私人连接进行访问(请参阅Connect 连接到私有托管的源代码管理)
-
-
具有您的连接类型所需范围的 GitLab 访问令牌:
-
个人-具有所有读取权限和
api权限的个人访问令牌。 -
群组-
read_repository范围为read_api和的群组访问令牌。
-
-
维护者或所有者对您要连接的项目的访问权限
-
您的 GitLab 实例必须使用最低为 1.2 的 TLS 版本为 HTTPS 流量提供服务
注意
如果您的 GitLab Self-Managed 实例使用私有证书颁发机构颁发的 TLS 证书,则可以在创建私有连接时提供证书的 PEM-encoded 公钥。这允许 AWS 安全代理信任与您的实例的 TLS 连接。
注册 GitLab Self-Managed 连接
-
在 AWS 安全代理管理控制台中,导航到集成。
-
选择添加集成。
-
选择 GitLab,然后选择 “下一步”。
-
在 “选择账户类型” 下,选择 “个人” 或 “群组”。如果您选择群组,请输入您的群组 ID。
-
选择使用 GitLab 自托管终端节点。
-
例如,在GitLab 自托管终端节点 UR L 字段中,输入您的实例的 URL。
https://gitlab.example.com -
如果您的实例不可公开访问,请选择使用私有连接连接到终端节点,然后选择现有的私有连接或创建新的私有连接。请参阅Connect 连接到私有托管的源代码管理。
-
在访问令牌字段中,粘贴您的 GitLab 访问令牌。
-
在注册名称字段中,输入此连接的描述性名称。有效字符包括字母、数字、句点、下划线和连字符。
-
选择连接。
您将返回 “集成” 页面,新连接及其注册名称将出现在该页面中。
私有连接
如果您的 GitLab Self-Managed 实例不可公开访问,则必须在注册集成之前创建私有连接。有关详细Connect 连接到私有托管的源代码管理说明,请参阅。
重要
Service-managed 私有连接要求 GitLab Self-Managed 实例在创建代理空间的同一 AWS 账户中运行。要进行跨账户访问,请使用自我管理的私有连接,在那里您可以提供自己的 VPC Lattice 资源配置。
排除 GitLab Self-Managed 集成故障
除了中的故障排除步骤外将 AWS 安全代理连接到 GitLab 存储库,自管理实例还存在以下特定问题:
无法访问实例
症状
-
连接因超时或网络错误而失败
-
集成以前可以正常运行但已停止运行
解决方案
-
验证您的 GitLab 实例是否正在运行且可访问
-
如果使用私有连接,请验证 VPC Lattice 资源网关是否运行正常,以及 ENI 是否与您的实例建立了网络连接
-
验证安全组允许配置的端口上的流量
-
验证 TLS 证书有效且未过期
TLS 证书错误
症状
-
连接失败并 SSL/TLS 出现错误
解决方案
-
验证您的实例是否支持 TLS 1.2 或更高版本的 HTTPS
-
如果使用私有证书颁发机构,请确保在私有连接设置期间提供了 PEM-encoded 公钥
-
验证证书未过期
后续步骤
连接 GitLab Self-Managed 到 AWS 安全代理后:
-
导航到要使用这些存储库的代理空间
-
选择 “启用代码审查” 或 “设置渗透测试” 以连接特定项目
-
为基于合并请求的修复启用代码修复