リポジトリへのクロスアカウントアクセス: AccountB の管理者のアクション - AWS CodeCommit

リポジトリへのクロスアカウントアクセス: AccountB の管理者のアクション

AccountB のユーザーまたはグループが AccountA のリポジトリにアクセスすることを許可するには、AccountB の管理者は AccountB でグループを作成する必要があります。このグループには、AccountA の管理者が作成したロールをグループのメンバーが引き受けることを許可するポリシーを設定する必要があります。

次のセクションでは、手順と例を示します。

ステップ 1: AccountB ユーザーにリポジトリアクセスがある IAM グループを作成する

AccountB のどの IAM ユーザーが AccountA のリポジトリにアクセスできるかを管理する最も簡単な方法は、AccountA でロールを引き受けるアクセス権限がある IAM グループを AccountB で作成し、IAM ユーザーをこのグループに追加することです。

クロスアカウントリポジトリアクセス用のグループを作成するには

  1. IAM グループおよびポリシーを作成し、IAM ユーザーを AccountB で管理するために必要なアクセス許可がある IAM ユーザーとして AWS マネジメントコンソールにサインインします。

  2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  3. IAM コンソールで [グループ] を選択します。

  4. [Create New Group (新しいグループの作成)] を選択します。

  5. [グループ名] でこのグループの名前を入力します (たとえば、DevelopersWithCrossAccountRepositoryAccess)。[Next Step] (次のステップ) をクリックします。

  6. [Attach Policy] で、[Next Step] を選択します。次の手順でクロスアカウントポリシーを作成します。このグループの作成を完了します。

ステップ 2: ポリシーを作成し、IAM グループにユーザーを追加する

グループを作成したら、このグループのメンバーが AccountA のリポジトリにアクセスできるロールを引き受けることができるポリシーを作成します。続いて、AccountA へのアクセスを許可する AccountB の IAM ユーザーをグループに追加します。

グループにポリシーを作成し、それにユーザーを追加する

  1. IAM コンソールで [グループ] を選択し、作成したグループの名前を選択します (例: DevelopersWithCrossAccountRepositoryAccess)。

  2. [Permissions] タブを選択します。[インラインポリシー] を展開し、インラインポリシーを作成するリンクを選択します。(インラインポリシーがすでにあるグループを設定する場合には、[グループポリシーの作成] を選択します。)

  3. [Custom Policy] を選択し、[Select] を選択します。

  4. [ポリシー名] にこのポリシーの名前を入力します (AccessPolicyForSharedRepository など)。

  5. [ポリシードキュメント] で次のポリシーを貼り付けます。Resource で、ARN を AccountA の管理者が作成したポリシーの 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. [Users] (ユーザー) タブを選択します。[グループにユーザーを追加] タブを選択し、AccountB の IAM ユーザーを追加します。例えば、ユーザー名が Saanvi_Sarkar の IAM ユーザーをこのグループに追加できます。

    注記

    AccountB のユーザーは、共有 CodeCommit リポジトリにアクセスするためにローカルコンピューターを設定するためのアクセスキーおよびシークレットキーを含む、プログラムへのアクセス権限を有している必要があります。IAM ユーザーを作成する場合は、アクセスキーとシークレットキーを必ず保存してください。AWS アカウントのセキュリティを確保するために、シークレットアクセスキーには、アクセスキーの作成時にのみアクセスできます。