

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

# 将不同 Amazon 账户中的 CodeCommit 存储库与笔记本实例关联
<a name="nbi-git-cross"></a>

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

**要为 CodeCommit 仓库设置跨账户访问权限并将其与笔记本实例关联，请执行以下操作：**

1. 在包含 CodeCommit 存储库的 Amazon 账户中，创建一个 IAM 策略，允许包含您的笔记本实例的账户中的用户访问存储库。有关信息，请参阅《*CodeCommit 用户*指南》中的[步骤 1：在 AccountA 中创建仓库访问策略](https://docs.amazonaws.cn/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a)。

1. 在包含 CodeCommit 存储库的 Amazon 账户中，创建一个 IAM 角色，并将您在上一步中创建的策略附加到该角色。有关信息，请参阅《*CodeCommit 用户*指南》中的[步骤 2：在 AccountA 中创建存储库访问角色](https://docs.amazonaws.cn/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a)。

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

   1. 打开笔记本实例。

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

   1. 通过在终端中键入以下内容，编辑新配置文件：

      ```
      vi /home/ec2-user/.aws/config
      ```

   1. 使用以下配置文件信息编辑该文件：

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

      其中{{CodeCommitAccount}}是包含 CodeCommit 存储库的帐户，{{CrossAccountAccessProfile}}是新配置文件的名称，{{CrossAccountRepositoryContributorRole}}也是您在上一步中创建的角色的名称。

1. 在笔记本实例上，配置 Git 以使用上一步中创建的配置文件：

   1. 打开笔记本实例。

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

   1. 通过在终端中键入以下内容，编辑 Git 配置文件：

      ```
      vi /home/ec2-user/.gitconfig
      ```

   1. 使用以下配置文件信息编辑该文件：

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

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