如何在 Amazon Linux 2 版 Amazon EC2 实例上使用实例角色对 AWS CodeCommit 存储库执行 Git 操作?

2 分钟阅读
0

我想对 AWS CodeCommit 存储库执行 Git 操作。而且我想在 Amazon Linux 2 版 Amazon Elastic Compute Cloud (Amazon EC2) 实例上使用实例角色。

简短描述

通过 AWS 命令行界面 (AWS CLI) 凭证助手,在您的 EC2 实例上使用实例角色对 CodeCommit 存储库执行 Git 操作。

**注意:**对于不需要 AWS Identity and Access Management (IAM) 用户的 CodeCommit 存储库,使用凭证助手是唯一的连接方法。

解决方法

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

1.为您的 EC2 实例创建 IAM 角色,然后将以下示例 IAM 策略附加到该角色。将 arn:aws:codecommit:us-east-1:111111111111:testrepo 替换为您的 CodeCommit 存储库的 ARN。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource": "arn:aws:codecommit:us-east-1:111111111111:testrepo"
    }
  ]
}

**注意:**步骤 1 的策略允许 IAM 角色对 CodeCommit 存储库执行 Git 拉取和推送操作。有关对 CodeCommit 使用 IAM 策略的更多示例,请参阅对 CodeCommit 使用基于身份的策略(IAM 策略)

2.将您在步骤 1 中创建的 IAM 角色附加到 EC2 实例

3.在您的 EC2 实例上安装 Git。

**注意:**有关详细信息,请参阅 Git 网站上的下载

4.要在 EC2 实例上设置凭证助手,请运行以下命令:

$ git config --global credential.helper '!aws codecommit credential-helper $@'

$ git config --global credential.UseHttpPath true

**注意:**步骤 4 中的命令指定 Git 凭证助手与 AWS 凭证配置文件一起使用。该凭证配置文件使 Git 能够向 AWS 进行身份验证,以便与 CodeCommit 存储库进行交互。进行身份验证时,Git 使用 HTTPS 和您的 EC2 实例角色的加密签名版本。

5.要显式配置您的姓名和电子邮件地址,请运行以下命令:

$ git config --global user.email "testuser@example.com"

$ git config --global user.name "testuser"

**注意:**您的姓名和电子邮件地址根据您的用户名和主机名自动配置。

6.要将存储库克隆到 EC2 实例,请运行以下命令:

$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/testrepo

7.在您的 CodeCommit 存储库中创建 commit

**注意:**如果您使用的是 Windows,请参阅使用 AWS CLI 凭证助手在 Windows 上通过 HTTPS 连接到 AWS CodeCommit 存储库的设置步骤


相关信息

使用 AWS CLI 凭证助手在 Linux、macOS 或 Unix 上通过 HTTPS 连接到 AWS CodeCommit 存储库的设置步骤

如何在 Windows 版 Amazon EC2 实例上使用实例角色对 AWS CodeCommit 存储库执行 Git 操作?

AWS 官方
AWS 官方已更新 1 年前