如何从特定的 AWS 代码提交帐户克隆分支
How to clone branch from specific AWS Code commit account
我们有 4 个单独的 AWS 账户用于开发、QA、UAT 和 Prod。
我需要从分支名称为 Production 的 AWS Prod 帐户克隆存储库。
问题是我正在使用命令
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/vanguard"
工作正常,但我不确定克隆的存储库属于哪个 AWS 帐户,因为我在将存储库克隆到本地时没有提供任何 AWS 帐户详细信息。
克隆体URL
https://git-codecommit.us-east-1.amazonaws.com/v1/repos/vanguard"
在所有 AWS 账户中都相同。
如何仅从特定的 AWS Code 提交账户克隆存储库?
您必须在要从中克隆存储库的 AWS 帐户中创建一个 IAM
角色。 IAM
角色会将对该存储库的访问权限委托给 AWS 账户中的 IAM user/users。
然后,您必须将 AWS CLI
配置为使用 AWS Security Token Service (STS) 并在 运行 命令时承担该角色。
另外请注意,每个 CodeCommit
存储库都与一个 AWS 区域相关联。
有关 assuming roles with AWS CLI 的更多信息。
编辑:
以下是启用跨帐户访问 到不同帐户中的存储库需要执行的操作:
存储库帐户操作:
- 创建存储库访问策略。
- 将此策略附加到同一帐户中的角色,并允许用户帐户中的用户承担此角色。
用户帐户操作:
- 创建一个
IAM
用户或 IAM
组。使用这些从其他帐户访问存储库。
- 为用户或组分配一个策略,允许他们担任上一步中在存储库帐户中创建的角色。
最后,在您尝试克隆或以其他方式访问存储库之前承担跨帐户角色。此外,对您的凭据文件进行必要的更改 ~/.aws/config
例如:
[profile MyCrossAccountProfile]
role_arn = arn:aws:iam::123456789012:role/MyCrossAccountProfile
source_profile = user1
最后,您需要修改 AWS CLI
凭据助手,以便您使用 MyCrossAccountProfile
git config --global credential.helper `!aws codecommit credential-helper --profile MyCrossAccountProfile $@'
我们有 4 个单独的 AWS 账户用于开发、QA、UAT 和 Prod。
我需要从分支名称为 Production 的 AWS Prod 帐户克隆存储库。
问题是我正在使用命令
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/vanguard"
工作正常,但我不确定克隆的存储库属于哪个 AWS 帐户,因为我在将存储库克隆到本地时没有提供任何 AWS 帐户详细信息。
克隆体URL
https://git-codecommit.us-east-1.amazonaws.com/v1/repos/vanguard"
在所有 AWS 账户中都相同。
如何仅从特定的 AWS Code 提交账户克隆存储库?
您必须在要从中克隆存储库的 AWS 帐户中创建一个 IAM
角色。 IAM
角色会将对该存储库的访问权限委托给 AWS 账户中的 IAM user/users。
然后,您必须将 AWS CLI
配置为使用 AWS Security Token Service (STS) 并在 运行 命令时承担该角色。
另外请注意,每个 CodeCommit
存储库都与一个 AWS 区域相关联。
有关 assuming roles with AWS CLI 的更多信息。
编辑:
以下是启用跨帐户访问 到不同帐户中的存储库需要执行的操作:
存储库帐户操作:
- 创建存储库访问策略。
- 将此策略附加到同一帐户中的角色,并允许用户帐户中的用户承担此角色。
用户帐户操作:
- 创建一个
IAM
用户或IAM
组。使用这些从其他帐户访问存储库。 - 为用户或组分配一个策略,允许他们担任上一步中在存储库帐户中创建的角色。
最后,在您尝试克隆或以其他方式访问存储库之前承担跨帐户角色。此外,对您的凭据文件进行必要的更改 ~/.aws/config
例如:
[profile MyCrossAccountProfile]
role_arn = arn:aws:iam::123456789012:role/MyCrossAccountProfile
source_profile = user1
最后,您需要修改 AWS CLI
凭据助手,以便您使用 MyCrossAccountProfile
git config --global credential.helper `!aws codecommit credential-helper --profile MyCrossAccountProfile $@'