本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Connect 连接到私有托管的源代码管理
重要
AWS 安全代理的私有连接处于预览版,可能会发生变化。
AWS Security Agent 可以连接到在私有网络中运行的源代码控制系统,例如 GitLab Self-Managed 实例和 GitHub 企业服务器。私有连接使用 Amazon VPC Lattice 在 AWS 安全代理和您的私有基础设施之间建立安全的连接,而无需将您的系统暴露在公共互联网上。
私有连接的工作原理
私有连接在 AWS 安全代理和您的 VPC 中的目标资源之间创建了一条安全的网络路径。在幕后,AWS 安全代理使用 Amazon VPC Lattice 来建立这种连接。VPC Lattice 是一项 AWS 应用程序联网服务,用于连接、保护和监控 VPC 和账户间服务之间的流量,而无需您管理底层网络基础设施。
创建私有连接时:
-
您提供与目标服务具有网络连接的 VPC、子网和(可选)安全组。
-
AWS 安全代理创建服务托管资源网关,并在您指定的子网中配置弹性网络接口 (ENI)。
-
代理使用资源网关通过私有网络路径将流量路由到目标服务的 IP 地址或 DNS 名称。
Service-managed 与自我管理的私有连接对比
AWS 安全代理支持两种私有连接模式:
Service-managed(建议用于简单设置):
-
AWS 安全代理为您创建和管理 VPC 莱迪思资源网关。
-
目标服务必须在创建代理空间的同一 AWS 账户中运行。
-
不能跨越多个 AWS 账户。
Self-managed(适用于高级或跨账户设置):
-
您可以创建和管理自己的VPC Lattice资源配置。
-
您提供现有资源配置的 Amazon 资源名称 (ARN)。
-
支持跨账户访问(客户管理跨账户联网)。
先决条件
在创建私有连接之前,请确认您已经:
-
活跃的代理空间
-
使用已知私有 IP 地址GitLab Self-Managed 或 DNS 名称可私密访问的目标服务(或 GitHub 企业服务器)
-
目标服务必须使用 TLS 最低版本为 1.2 的 HTTPS 流量提供服务
-
您的 VPC 中的子网(1-20 个子网)。我们建议在多个可用区中选择子网以实现高可用性。
-
(可选)用于控制 ENI 流量的安全组(最多 5 个)
注意
VPC Lattice 不支持以下可用区:use1-az3、usw1-az2、apne1-az3、apne2-az2、、euc1-az2、euw1-az4cac1-az3、ilc1-az2。
注意
私有连接是账户级别的资源。创建私有连接后,可以在需要访问同一主机的多个集成和代理空间中重复使用该连接。
注意
当您为使用 OAuth 身份验证的提供商选择私有连接时,私有连接将同时应用于提供商端点和令牌交换端点。确保私有连接配置的主机地址可以将流量路由到两个端点。
创建私有连接
-
在 AWS 安全代理管理控制台中,导航到 “集成”。
-
选择 “专用连接” 选项卡。
-
选择 “创建私有连接”。
-
在 “连接详细信息” 下,输入名称。名称可以包含小写字母、数字和连字符,并且必须以字母或数字开头和结尾。
-
在连接详情部分,选择 AWS 安全代理如何连接到您的目标服务:
-
要让 AWS Security Agent 创建和管理连接,请清除 “使用现有资源配置”,然后填写 “资源位置”、“访问控制” 和 “服务目标详情” 部分。
-
要通过您已经创建的 VPC Lattice 资源配置进行路由,请选择使用现有资源配置,然后完成现有资源配置部分。服务管理部分不适用。
-
-
(Service-managed) 在 “资源位置” 下:
-
选择您的资源所在的 VPC。
-
选择一个或多个子网。我们建议在至少两个可用区中选择子网。
-
(可选)选择 IP 地址类型(IPv4、IPv6 或双堆栈)。
-
-
(Service-managed) 在 “访问控制” 下:
-
选择与您连接的资源关联的安全组。
-
(可选)在 “高级配置” 下,输入端口范围,例如,最多 11 个以逗号分隔的 TCP 端口或范围。
443, 8080-8090
-
-
(Service-managed) 在 “服务目标详细信息” 下:
-
在主机地址字段中,输入目标服务的 DNS 主机名或 IP 地址。
-
对于 DNS 解析,对于可公开解析的主机地址,选择在 VPC 中(私有 DNS),选择只能在 VPC 内解析的地址。
-
(可选)如果您的目标使用自签名证书或私有证书颁发机构,请在 “证书 PEM-encoded 公钥” 字段中输入公钥。这允许 AWS 安全代理信任 TLS 连接。
-
-
(Self-managed) 在 “现有资源配置” 下,对于资源配置,从列表中选择 VPC Lattice 资源配置,或者输入资源配置 ID(以开头
rcfg-)或其 ARN。该列表显示了当前区域的资源配置。 -
选择创建连接。
连接状态更改为 “正在创建”。这一过程耗时最多 10 分钟。完成后,状态将更改为 “可用”。
使用私有连接进行集成
注册 GitLab Self-Managed 或 En GitHub terprise Server 集成时,选择 “使用专用连接连接到端点”,然后从 “专用连接” 列表中选择您的连接。AWS 安全代理通过该连接将流量路由到提供商。只有状态为 “可用” 的连接才会出现在列表中。
您也可以在注册期间选择 “创建私有连接”。AWS Security Agent 会在您创建连接时保留您的注册草稿,然后将您返回到注册流程。
安全性
-
没有公开的互联网接触-所有流量都保留在 AWS 网络上。
-
Customer-controlled 安全组-您可以管理入站和出站流量规则。
-
Service-linked 权限最低的角色-AWS 安全代理使用服务相关角色,其范围仅限于标记为的资源。
AWSSecurityAgentManaged
注意
如果您的组织有限制VPC Lattice API操作的服务控制策略 (SCP),则服务管理资源网关是通过服务相关角色创建的。确保您的 SCP 允许服务相关角色执行必要的操作。
验证私有连接
私有连接达到 “可用” 状态后,请验证连接:
-
确保您的目标服务正在运行并接受预期端口上的连接
-
验证连接到 ENI 的安全组是否允许目标端口上的出站流量
-
验证您的服务的安全组是否允许来自您的 VPC CIDR 范围内的 VPC Lattice 数据平面 IP 的入站流量
-
确认子网路由表允许 ENI 子网和您的服务之间的流量
删除私有连接
-
在 AWS 安全代理控制台中,导航到 “集成”。
-
选择 “专用连接” 选项卡。
-
选择要删除的专用连接。
-
选择删除。
重要
您无法删除集成当前正在使用的私有连接。先移除集成,然后删除私有连接。
后续步骤
-
将 AWS 安全代理连接到 GitLab Self-Managed-Connect 私有 GitLab 实例
-
将 AWS 安全代理连接到 GitHub 企业服务器-Connect 私有 GitHub 企业服务器