我想从运行 Windows 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例对 AWS CodeCommit 存储库执行 Git 操作。
简短描述
设置 AWS 命令行界面 (AWS CLI) 凭证助手,以对 AWS CodeCommit 存储库执行 Git 操作。然后,在您的 Amazon EC2 实例上创建 IAM 角色,以执行拉取和推送操作。
**注意:**凭证助手是唯一一种不需要 IAM 用户与 CodeCommit 存储库交互的连接方法。
解决方法
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
1.为您的 EC2 实例创建 IAM 角色,然后将以下示例 IAM 策略附加到该角色。将 arn:aws:codecommit:us-east-1:111111111111:SampleRepoName 替换为您的 CodeCommit 存储库的 Amazon 资源名称 (ARN)。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:GitPull",
"codecommit:GitPush"
],
"Resource": "arn:aws:codecommit:us-east-1:111111111111:SampleRepoName"
}
]
}
**注意:**步骤 1 的策略允许 IAM 角色对 CodeCommit 存储库执行 Git 拉取和推送操作。有关对 CodeCommit 使用 IAM 策略的更多示例,请参阅对 CodeCommit 使用基于身份的策略(IAM 策略)。
2.将您在步骤 1 中创建的 IAM 角色附加到实例。
3.在您的实例上安装 Git。有关 Windows 实例的信息,请参阅 Git 网站上的下载。
4.检查 Git 版本,以确认已正确安装 Git:
C:\Users\Administrator> git --version
5.检查 AWS CLI 版本,以确认已安装 AWS CLI:
C:\Users\Administrator> aws --version
6.要在 Amazon EC2 实例上设置凭证助手,请运行以下命令:
C:\Users\Administrator> git config --global credential.helper "!aws codecommit credential-helper $@"
C:\Users\Administrator> git config --global credential.UseHttpPath true
**注意:**步骤 6 中的命令指定 Git 凭证助手与 AWS 凭证配置文件一起使用。该凭证配置文件使 Git 能够向 AWS 进行身份验证,以便与 CodeCommit 存储库进行交互。进行身份验证时,Git 使用 HTTPS 和您的实例角色的加密签名版本。
7.要显式配置您的姓名和电子邮件地址,请运行以下命令:
C:\Users\Administrator> git config --global user.email "testuser@example.com"
C:\Users\Administrator> git config --global user.name "testuser"
8.要将存储库克隆到实例,请从相应的 CodeCommit 存储库复制克隆 URL:
C:\Users\Administrator> git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/SampleRepoName
9.在您的 CodeCommit 存储库中创建 commit。
相关信息
设置凭证助手
如何在 Amazon Linux 2 版 Amazon EC2 实例上使用实例角色对 AWS CodeCommit 存储库执行 Git 操作?