跨账户存储库访问:AccountB 中管理员的操作 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

跨账户存储库访问:AccountB 中管理员的操作

要允许 AccountB 中的用户或组访问 AccountA 中的存储库,AccountB 管理员必须在 AccountB 中创建一个组。必须为此组配置一个策略,该策略允许组成员代入由 AccountA 管理员创建的角色。

以下各节提供了步骤和示例。

步骤 1:为 AccountB 用户创建用于存储库访问的 IAM 组

管理 AccountB 中的哪些 IAM 用户可访问 AccountA 存储库的最简单方法是,在 AccountB 中创建一个有权代入 AccountA 中的角色的 IAM 组,然后将 IAM 用户添加到该组。

创建用于跨账户存储库访问的组
  1. 以 IAM 用户身份登录 Amazon 管理控制台,该用户具有在 AccountB 中创建 IAM 组和策略以及管理 IAM 用户所需的权限。

  2. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  3. 在 IAM 控制台中,选择

  4. 选择 Create New Group (创建新组)

  5. 组名中,输入该组的名称(例如,DevelopersWithCrossAccountRepositoryAccess)。选择下一步

  6. Attach Policy 中,选择 Next Step。您在下一个过程中创建跨账户策略。完成组的创建。

步骤 2:创建策略并将用户添加到 IAM 组

现在您已拥有一个组,请创建策略来允许此组的成员代入允许其访问 AccountA 中的存储库的角色。然后,向该组添加 AccountB 中的 IAM 用户,您希望这些用户能够访问 AccountA 中的存储库。

为组创建策略并向组添加用户
  1. 在 IAM 控制台中,选择群组,然后选择您刚刚创建的群组的名称(例如 DevelopersWithCrossAccountRepositoryAccess)。

  2. 选择 Permissions(权限)选项卡。展开内联策略,然后选择用于创建内联策略的链接。(如果您配置的是已拥有内联策略的组,请选择创建组策略。)

  3. 选择 Custom Policy,然后选择 Select

  4. Policy Name (策略名称) 中,输入策略的名称(例如 AccessPolicyForSharedRepository)。

  5. Policy Document (策略文档) 中,粘贴以下策略。在中Resource,将 ARN 替换为管理员在账户 A 中创建的策略的 ARN(例如,arn: aws: iam:: 111122223333: role/),然后选择应用策略。MyCrossAccountRepositoryContributorRole有关管理员在 AccountA 中创建的策略的更多信息,请参阅步骤 1:在 AccountA 中创建用于存储库访问的策略

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole" } }
  6. 选择用户选项卡。选择向组添加用户,然后添加 AccountB IAM 用户。例如,您可以将用户名为 Saanvi_Sarkar 的 IAM 用户添加到组。

    注意

    AccountB 中的用户必须具有编程访问权限,包括访问密钥和密钥,才能配置其本地计算机以访问共享 CodeCommit 存储库。如果您要创建 IAM 用户,请确保保存访问密钥和私有密钥。为确保您的 Amazon 账户的安全,私有访问密钥仅在您创建它时可用。