将其他 CodeCommit 账户中的 AWS 存储库与笔记本实例关联 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

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

要为 CodeCommit 存储库设置跨账户访问权限并将其与笔记本实例关联,请执行以下操作:

  1. 在 AWS 存储库所在的 CodeCommit 账户中,创建一个 IAM 策略,它允许笔记本实例所在账户中的用户访问该存储库。有关信息,请参阅 AccountA 用户指南CodeCommit中的步骤 1:在 中为存储库访问创建策略。

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

  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 是您在上一步中创建的配置文件的名称。