使用 Amazon CodeConnections 连接到 Git 存储库 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

使用 Amazon CodeConnections 连接到 Git 存储库

Amazon CodeConnections 提供了一种安全方式,用于将 Amazon 服务与第三方源代码存储库建立连接。AmazonCodeConnections 支持 GitHub、GitLab、Bitbucket 以及其他服务商。如需了解更多信息并快速上手,,请参阅使用连接

在 Argo CD 中使用 Amazon CodeConnections

当您使用适用于 Argo CD 的 EKS 功能时,可选择借助 Amazon CodeConnections 实现与 Git 存储库的安全身份认证,无需手动管理长期凭证或个人访问令牌。AmazonCodeConnections 会处理 OAuth 身份认证流程,并负责维护与 Git 服务商的连接。这种方式能提供一套安全且易于管控的方案,用于访问存储在第三方 Git 服务商中的 GitOps 存储库及应用程序清单。

先决条件

  • 已创建带有 Argo CD 功能的 Amazon EKS 集群

  • 已在 Amazon CodeConnections 中创建与 Git 服务商的连接

  • 已为 Argo CD 配置好使用该连接所需的 IAM 权限

配置 CodeConnections 实现 Argo CD 存储库访问

  1. 在 CodeConnections 控制台中创建连接:

    1. 打开 CodeConnections 控制台

    2. 选择创建连接

    3. 选择所用的服务商(GitHub、GitLab 或 Bitbucket),再按照指引完成身份认证流程。

    4. 记录该连接的 ARN,以便在 Argo CD 配置中使用。

  2. 确保 Argo CD 功能角色已通过基于资源的策略,获得使用该连接的权限:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:UseConnection", "codeconnections:GetConnection" ], "Resource": "arn:aws:codeconnections:region:account-id:connection/connection-id" } ] }
  3. 在 Argo CD 中添加存储库时,需将其配置为引用 CodeConnections 资源,并将 CodeConnections 资源端点作为存储库 URL。Argo CD 功能会通过该连接完成与 Git 服务商的身份认证,无需使用长期凭证。

搭配 Argo CD 使用 CodeConnections 的注意事项

在适用于 Argo CD 的 EKS 功能中搭配使用 Amazon CodeConnections 时,请留意以下几点:

  • CodeConnections 连接必须与 EKS 集群处于同一 Amazon 区域

  • Argo CD 功能角色必须具备 codeconnections:UseConnectioncodeconnections:GetConnection 权限

  • CodeConnections 会自动管理 OAuth 流程与凭证的生命周期

有关使用 Argo CD 配置存储库访问权限的更多信息,请参阅配置存储库访问权限