IAM アップストリームレジストリと Amazon ECRプライベートレジストリを同期するために必要な アクセス許可 - Amazon ECR

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

IAM アップストリームレジストリと Amazon ECRプライベートレジストリを同期するために必要な アクセス許可

プルスルーキャッシュルールを効果的に使用するには、プライベートレジストリへの認証とイメージのプッシュとプルに必要な Amazon アクセスECRAPI許可に加えて、次のアクセス許可が必要です。

  • ecr:CreatePullThroughCacheRule – プルスルーキャッシュルールを作成するアクセス許可を付与します。このアクセス許可は、アイデンティティベースのIAMポリシーを介して付与する必要があります。

  • ecr:BatchImportUpstreamImage – 外部イメージを取得し、プライベートレジストリにインポートするアクセス許可を付与します。このアクセス許可は、プライベートレジストリアクセス許可ポリシー、アイデンティティベースのIAMポリシー、またはリソースベースのリポジトリアクセス許可ポリシーを使用して付与できます。レポジトリアクセス許可の使用に関する詳細については、「Amazon ECR のプライベートリポジトリポリシー」を参照してください。

  • ecr:CreateRepository – プライベートレジストリにリポジトリを作成するアクセス許可を付与します。キャッシュされたイメージを格納するリポジトリがまだ存在しない場合には、この許可が必要となります。このアクセス許可は、アイデンティティベースのIAMポリシーまたはプライベートレジストリアクセス許可ポリシーのいずれかによって付与できます。

  • ecr:TagResource — Amazon ECRリソースにメタデータタグを追加するアクセス許可を付与します。この許可が必要なのは、プルスルーキャッシュルールを使用するイメージに、リポジトリにリソースタグを追加するように設定されたリポジトリ作成テンプレートが関連付けられている場合のみです。このアクセス許可は、アイデンティティベースのIAMポリシーを介して付与する必要があります。

レジストリ許可の使用

Amazon ECRプライベートレジストリのアクセス許可は、プルスルーキャッシュを使用する個々のIAMエンティティのアクセス許可の範囲を設定するために使用できます。IAM エンティティに、 レジストリのアクセス許可IAMポリシーが付与するよりも多くのアクセス許可がポリシーによって付与されている場合、IAMポリシーが優先されます。例えば、 ユーザーに ecr:* 許可が付与されている場合には、レジストリレベルで更に許可する必要はありません。

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

  2. ナビゲーションバーから、プライベートレジストリ許可ステートメントを設定するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Registry permissions] (レジストリー許可) の順に選択します。

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

  5. 作成するプルスルーキャッシュ許可ポリシーステートメントごとに、次の操作を行います。

    1. [ポリシータイプ] で、[プルスルーキャッシュポリシー] を選択します。

    2. [ステートメント ID] で、プルスルーキャッシュステートメントポリシーの名前を指定します。

    3. IAM エンティティ には、ポリシーに含めるユーザー、グループ、またはロールを指定します。

    4. [リポジトリ名前空間] で、ポリシーを関連付けるプルスルーキャッシュルールを選択します。

    5. [リポジトリ名] で、ルールを適用するリポジトリベース名を指定します。例えば、Amazon ECR Public で Amazon Linux リポジトリを指定する場合、リポジトリ名は になりますamazonlinux

を使用してプライベートレジストリのアクセス許可を指定するには、次の AWS CLI コマンドを使用します AWS CLI。

  1. レジストリポリシーのコンテンツが含まれる ptc-registry-policy.json という名のローカルファイルを作成します。次の例では、リポジトリを作成し、以前に作成したプルスルーキャッシュルールに関連付けられたアップストリームソースである Amazon ECR Public からイメージをプルするecr-pull-through-cache-userアクセス許可を付与します。

    { "Sid": "PullThroughCacheFromReadOnlyRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/ecr-pull-through-cache-user" }, "Action": [ "ecr:CreateRepository", "ecr:BatchImportUpstreamImage" ], "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/ecr-public/*" }
    重要

    ecr-CreateRepository 許可は、キャッシュされたイメージを格納するリポジトリがまだ存在しない場合にのみ必要となります。例えば、リポジトリ作成アクションとイメージプルアクションが、管理者や開発者などの個別のIAMプリンシパルによって実行されている場合です。

  2. put-registry-policy コマンドを使用してレジストリポリシーを設定します。

    aws ecr put-registry-policy \ --policy-text file://ptc-registry.policy.json

次のステップ

プルスルーキャッシュルールを使用する準備ができたら、次のステップは以下のとおりです。