リポジトリポリシーステートメントを設定する - Amazon ECR

リポジトリポリシーステートメントを設定する

次の手順に従って、AWS Management Console でレポジトリにアクセスポリシーステートメントを追加できます。リポジトリごとに複数のポリシーステートメントを追加できます。ポリシーの例については、「リポジトリポリシーの例」を参照してください。

重要

Amazon ECR では、ユーザーがレジストリへの認証を行って、Amazon ECR リポジトリに対するイメージのプッシュまたはプルを行う前に、IAM ポリシーを介して ecr:GetAuthorizationToken API への呼び出しを行う許可が必要です。Amazon ECR には、さまざまなレベルでユーザーアクセスを制御するいくつかのマネージド IAM ポリシーが用意されています。詳細については、「Amazon Elastic Container Registry のアイデンティティベースのポリシーの例」を参照してください。

リポジトリポリシーステートメントを設定するには

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

  2. ナビゲーションバーから、ポリシーステートメントをオンに設定するリポジトリが含まれるリージョンを選択します。

  3. ナビゲーションペインで、[Repositories] を選択します。

  4. リポジトリページで、ポリシーステートメントを有効に設定するリポジトリを選択して、リポジトリの内容を表示します。

  5. リポジトリイメージのリストビューのナビゲーションペインで、[アクセス権限]、[編集] を選択します。

    注記

    ナビゲーションペインに [Permissions] (アクセス許可) オプションが表示されない場合、画面がリポジトリイメージリストビューであることを確認します。

  6. 許可を編集ページで [ステートメントを追加] を選択します。

  7. [ステートメント名] に、ステートメントの名前を入力します。

  8. [効果] で、ポリシーステートメントの結果を許可または明示的な拒否のどちらにするかを指定します。

  9. [プリンシパル] で、ポリシーステートメントを適用する範囲を選択します。詳細については、IAM ユーザーガイドの「AWS JSON ポリシー要素: プリンシパル」を参照してください。

    • このステートメントは、[Everyone (*)] (全員) チェックボックスを選択することによってすべての認証済みの AWS ユーザーに適用できます。

    • [サービスプリンシパル] で、特定のサービスにステートメントを適用するサービスプリンシパル名 (ecs.amazonaws.com など) を指定します。

    • [AWS アカウント ID] で、AWS アカウント番号 (例: 111122223333) を指定し、特定の AWS アカウント内のすべてのユーザーにステートメントを適用します。カンマ区切りのリストを使用して複数のアカウントを指定できます。

      重要

      アクセス権限を付与するアカウントには、リポジトリポリシーを作成するリージョンが有効になっている必要があります。有効でない場合、エラーが発生します。

    • [IAM エンティティ] で、ステートメントを適用する AWS アカウント内のロールまたはユーザーを選択します。

      注記

      AWS Management Console で現在サポートされていない複雑なリポジトリポリシーは、set-repository-policy AWS CLI コマンドを使用して適用できます。

  10. [アクション] で、個別の API オペレーションのリストとの間でポリシーステートメントを適用する Amazon ECR API オペレーションの範囲を選択します。

  11. 完了したら、[Save] を選択してポリシーを設定します。

  12. 追加する各レポジトリポリシーに対して、前のステップを繰り返します。