

 **帮助改进此页面** 

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

# 使用 AWS CodeConnections 连接到 Git 存储库
<a name="integration-codeconnections"></a>

 [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html) 提供了一种安全方式，用于将 AWS 服务与第三方源代码存储库建立连接。AWSCodeConnections 支持 GitHub、GitLab、Bitbucket 以及其他[服务商](https://docs.aws.amazon.com/dtconsole/latest/userguide/supported-versions-connections.html)。如需了解更多信息并快速上手，，请参阅[使用连接](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections.html)。

## 在 Argo CD 中使用 AWS CodeConnections
<a name="integration-codeconnections-use"></a>

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

 **先决条件** 
+ 已创建带有 Argo CD 功能的 Amazon EKS 集群
+ 已在 AWS CodeConnections 中创建与 Git 服务商的连接
+ 已为 Argo CD 配置好使用该连接所需的 IAM 权限

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

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

   1. 打开 [CodeConnections 控制台](https://console.aws.amazon.com/codesuite/settings/connections)。

   1. 选择**创建连接**。

   1. 选择所用的服务商（GitHub、GitLab 或 Bitbucket），再按照指引完成身份认证流程。

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

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

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codeconnections:UseConnection",
           "codeconnections:GetConnection"
         ],
         "Resource": "arn:aws:codeconnections:region:account-id:connection/connection-id"
       }
     ]
   }
   ```

1. 在 Argo CD 中添加存储库时，需将其配置为引用 CodeConnections 资源，并将 CodeConnections 资源端点作为存储库 URL。Argo CD 功能会通过该连接完成与 Git 服务商的身份认证，无需使用长期凭证。

## 搭配 Argo CD 使用 CodeConnections 的注意事项
<a name="integration-codeconnections-considerations"></a>

在适用于 Argo CD 的 EKS 功能中搭配使用 AWS CodeConnections 时，请留意以下几点：
+ CodeConnections 连接必须与 EKS 集群处于同一 AWS 区域
+ Argo CD 功能角色必须具备 `codeconnections:UseConnection` 和 `codeconnections:GetConnection` 权限
+ CodeConnections 会自动管理 OAuth 流程与凭证的生命周期

有关使用 Argo CD 配置存储库访问权限的更多信息，请参阅[配置存储库访问权限](argocd-configure-repositories.md)。