Amazon ECR でのクロスアカウントレプリケーション用のレジストリアクセス許可の付与 - Amazon ECR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon ECR でのクロスアカウントレプリケーション用のレジストリアクセス許可の付与

クロスアカウントポリシータイプは、プリン AWS シパルにアクセス許可を付与するために使用されます。これにより、ソースレジストリからレジストリへのリポジトリのレプリケーションが可能になります。デフォルトでは、ユーザーには、独自のレジストリ内でクロスリージョンレプリケーションを設定する許可があります。レジストリにコンテンツをレプリケートする許可を別のアカウントに付与する場合、必要な操作は、レジストリポリシーを構成することだけです。

レジストリポリシーは、ecr:ReplicateImage API アクションに許可を付与する必要があります。この API は、複数のリージョンまたはアカウント間でイメージをレプリケートできる内部 Amazon ECR API です。ecr:CreateRepository の許可を付与することもできます。この場合、レポジトリが存在しない場合、Amazon ECR がレジストリ内にリポジトリを作成できるようになります。ecr:CreateRepository の許可が指定されていない場合、ソースリポジトリと同じ名前のリポジトリを手動でレジストリに作成する必要があります。どちらも行われていない場合、レプリケーションは失敗します。失敗したアクションCreateRepositoryまたは ReplicateImage API アクションが CloudTrail に表示されます。

  1. Amazon ECR コンソール (https://console.aws.amazon.com/ecr/) を開きます。

  2. ナビゲーションバーから、レジストリポリシーを設定するリージョンを選択します。

  3. ナビゲーションペインで、プライベートレジストリを選択し、機能と設定を選択し、アクセス許可を選択します。

  4. [Registry permissions] (レジストリー許可) ページで [Generate statement] (ステートメントを生成) を選択します。

  5. ポリシージェネレータを使用してポリシーステートメントメントを定義するには、次の手順を実行します。

    1. ポリシータイプで、レプリケーション - クロスアカウントを選択します。

    2. ステートメント ID には、一意のステートメント ID を入力します。このフィールドは、レジストリポリシーの Sid として使用されます。

    3. [Accounts] (アカウント) に、許可を付与する各アカウントのアカウント ID を入力します。複数のアカウント ID を指定する場合は、カンマで区切ります。

  6. [保存] を選択します。

  1. registry_policy.json という名前のファイルを作成し、レジストリポリシーの情報を入力します。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ] }
  2. ポリシーファイルを使用してレジストリポリシーを作成します。

    aws ecr put-registry-policy \ --policy-text file://registry_policy.json \ --region us-west-2
  3. レジストリのポリシーを取得して確認します。

    aws ecr get-registry-policy \ --region us-west-2