リポジトリポリシー - Amazon ECR

リポジトリポリシー

Amazon ECR では、リソースベースのアクセス権限を使用してリポジトリへのアクセスを制御します。リソースベースのアクセス権限により、どの IAM ユーザーあるいはロールがリポジトリにアクセスでき、どのようなアクションを実行できるかを指定できます。デフォルトでは、リポジトリの所有者のみリポジトリにアクセスできます。リポジトリへの追加のアクセス権限を許可するポリシードキュメントを適用できます。

レポジトリポリシーと IAM ポリシー

Amazon ECR リポジトリポリシーは、個別の Amazon ECR リポジトリへのアクセスを制御することを目的として特に使用される IAM ポリシーのサブセットです。IAM ポリシーは、一般的に Amazon ECR サービス全体にアクセス権限を適用するために使用されますが、特定のリソースへのアクセスを制限するために使用することもできます。

Amazon ECR レポジトリと IAM ポリシーはどちらも、特定の IAM ユーザーまたはロールがレポジトリで実行できるアクションを決定するために使用されます。ユーザーまたはロールがレポジトリから 1 つのアクションの実行を許可されていても、IAM ポリシーからアクセス権限を拒否される場合 (またはその逆の場合)、そのアクションは拒否されます。ユーザーあるいはロールは、レポジトリポリシーまたは IAM ポリシーのいずれかのみでアクションへのアクセスが許可されていることを必要とし、その両方でこのアクションが許可されている必要はありません。

重要

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

これらのいずれかのポリシータイプを使用して、次の例に示すようにレポジトリへのアクセスを制御します。

この例は、特定の IAM ユーザーがレポジトリ内でレポジトリとイメージを説明することを許可する Amazon ECR レポジトリポリシーを示しています。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ] }] }

この例は、リソースパラメータを使用してポリシーで 1 つのレポジトリ (レポジトリの完全な ARN で指定) を対象とすることで、上記と同じ目的を達成する IAM ポリシーを示しています。Amazon リソースネーム (ARN) 形式の詳細については、「Resources」を参照してください。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ], "Resource": [ "arn:aws:ecr:region:account-id:repository/repository-name" ] }] }