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

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": "2008-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) 形式の詳細については、「リソース」を参照してください。

{ "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" ] }] }