将不同 AWS 账户中的 CodeCommit 存储库与笔记本实例关联 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将不同 AWS 账户中的 CodeCommit 存储库与笔记本实例关联

要将其他 AWS 账户中的 CodeCommit 存储库与您的笔记本实例相关联,请为 CodeCommit 存储库设置跨账户访问权限。

要为 CodeCommit 仓库设置跨账户访问权限并将其与笔记本实例关联,请执行以下操作:
  1. 在包含 CodeCommit 存储库的 AWS 账户中,创建允许包含您的笔记本实例的账户中的用户访问存储库的IAM策略。有关信息,请参阅《CodeCommit 用户指南》中的步骤 1:在 AccountA 中创建仓库访问策略

  2. 在包含 CodeCommit 存储库的 AWS 账户中,创建一个IAM角色,并将您在上一步中创建的策略附加到该角色。有关信息,请参阅《CodeCommit 用户指南》中的步骤 2:在 AccountA 中创建存储库访问角色

  3. 在笔记本实例中创建一个配置文件,该配置文件使用上一步中创建的角色:

    1. 打开笔记本实例。

    2. 在笔记本实例中打开终端。

    3. 通过在终端中键入以下内容,编辑新配置文件:

      vi /home/ec2-user/.aws/config
    4. 使用以下配置文件信息编辑该文件:

      [profile CrossAccountAccessProfile] region = us-west-2 role_arn = arn:aws:iam::CodeCommitAccount:role/CrossAccountRepositoryContributorRole credential_source=Ec2InstanceMetadata output = json

      位置 CodeCommitAccount 是包含 CodeCommit 存储库的账户,CrossAccountAccessProfile 是新配置文件的名称,并且 CrossAccountRepositoryContributorRole 是您在上一步中创建的角色的名称。

  4. 在笔记本实例上,配置 Git 以使用上一步中创建的配置文件:

    1. 打开笔记本实例。

    2. 在笔记本实例中打开终端。

    3. 通过在终端中键入以下内容,编辑 Git 配置文件:

      vi /home/ec2-user/.gitconfig
    4. 使用以下配置文件信息编辑该文件:

      [credential] helper = !aws codecommit credential-helper --profile CrossAccountAccessProfile $@ UseHttpPath = true

      位置 CrossAccountAccessProfile 是您在上一步中创建的配置文件的名称。