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

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

要将其他 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

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