将不同Amazon账户中的 CodeCommit 存储库与 Notebook 实例相关联 - 亚马逊 SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将不同Amazon账户中的 CodeCommit 存储库与 Notebook 实例相关联

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

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

  2. 在包含 CodeCommit 存储库的Amazon账户中,创建 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

      包含 CodeCommit 存储库的帐户在哪里 CodeCommitAccountCrossAccountAccessProfile是新配置文件的名称,CrossAccountRepositoryContributorRole是您在上一步中创建的角色的名称。

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

    1. 打开笔记本实例。

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

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

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

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

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