Amazon Elastic Container Registry と - Amazon ECR

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

Amazon Elastic Container Registry と

IAM を使用して Amazon ECR へのアクセスを管理する前に、Amazon ECR で使用できる IAM 機能について理解しておく必要があります。Amazon ECR およびその他の AWS のサービスが IAM と連携する方法の概要を把握するには、IAM と連携する AWS のサービス()IAM ユーザーガイド

Amazon ECR アイデンティティベースのポリシー

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。Amazon ECR は、特定のアクション、リソース、および条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、「」を参照してください。IAM JSON ポリシーエレメントのリファレンス()IAM ユーザーガイド

Actions

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパル実行できるアクションについてのリソース、そして何の下での条件

JSON ポリシーの Action 要素は、ポリシー内のアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。一致する API オペレーションを持たないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Amazon ECR のポリシーアクションは、アクションの前にプレフィックスを使用します。ecr:。たとえば、Amazon ECR を使用して Amazon ECR リポジトリを作成する権限を誰かに付与するにはCreateRepositoryAPI オペレーションを使用する場合は、ecr:CreateRepository彼らのポリシーのアクション。ポリシーステートメントには、Action または NotAction エレメントを含める必要があります。Amazon ECR は、このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

単一のステートメントに複数のアクションを指定するには、次のようにコンマで区切ります。

"Action": [ "ecr:action1", "ecr:action2"

ワイルドカード (*) を使用して複数のアクションを指定することができます。たとえば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "ecr:Describe*"

Amazon ECR アクションのリストを表示するには、「」を参照してくださいAmazon Elastic Container Registry のアクション、リソース、および条件キー()IAM ユーザーガイド

Resources

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパル実行できるアクションについてのリソース、そして何の下での条件

Resource JSON ポリシーエレメントは、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource エレメントを含める必要があります。ベストプラクティスとして、リソースは Amazon リソースネーム (ARN) を使用して指定します。これは、リソースレベルのアクセス許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルのアクセス許可をサポートしないアクションの場合は、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

Amazon ECR リポジトリリソースには、次の ARN があります。

arn:${Partition}:ecr:${Region}:${Account}:repository/${Repository-name}

ARN の形式の詳細については、「Amazon リソースネーム (ARN) と AWS のサービスの名前空間」を参照してください。

たとえば、ステートメントの us-east-1 リージョン で my-repo リポジトリを指定するには、次の ARN を使用します。

"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/my-repo"

特定のアカウントに属するすべての リポジトリを指定するには、ワイルドカード (*) を使用します。

"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/*"

複数のリソースを単一のステートメントで指定するには、ARN をカンマで区切ります。

"Resource": [ "resource1", "resource2"

Amazon ECR リソースタイプおよびその ARN のリストを表示するには、「」を参照してください。Amazon Elastic Container Registry で定義されるリソース()IAM ユーザーガイド。各リソースの ARN を指定できるアクションについては、「」を参照してください。Amazon Elastic Container Registry で定義されるアクション

条件キー

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパル実行できるアクションについてのリソース、そして何の下での条件

Condition エレメント (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Conditionエレメントはオプションです。イコールや以下などの条件演算子を使用する条件式を作成して、リクエスト内に値のあるポリシーの条件に一致させることができます。

1 つのステートメントに複数の Condition エレメントを指定する場合、または 1 つの Condition エレメントに複数のキーを指定する場合、AWS が論理 AND 演算を使用してそれらを評価します。単一の条件キーに複数の値を指定する場合、AWS が論理 OR 演算を使用して条件を評価します。ステートメントのアクセス許可が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。たとえば、IAM ユーザー名でタグ付けされている場合のみ、リソースにアクセスする IAM ユーザーアクセス許可を付与できます。詳細については、「」を参照してください。IAM ポリシーエレメント:変数とタグ()IAM ユーザーガイド

AWS はグローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、「」を参照してくださいAWS グローバル条件コンテキストキー()IAM ユーザーガイド

Amazon ECR は独自の条件キーを定義し、一部のグローバル条件キーの使用をサポートしています。すべての AWS グローバル条件キーを確認するには、「」を参照してくださいAWS グローバル条件コンテキストキー()IAM ユーザーガイド

ほとんどの Amazon ECR アクションは、aws:ResourceTagおよびecr:ResourceTag条件キー。詳細については、「タグベースのアクセスコントロールを使用する」を参照してください。

Amazon ECR の条件キーのリストを表示するには、Amazon Elastic Container Registry で定義()IAM ユーザーガイド。どのアクションおよびリソースと条件キーを使用できるかについては、」を参照してください。Amazon Elastic Container Registry で定義されるアクション

Examples

Amazon ECR アイデンティティベースのポリシーの例については、「」を参照してください。Amazon Elastic Container Registry Ident

Amazon ECR リソースベースのポリシー

リソースベースのポリシーとは、Amazon ECR リソース上で指定するプリンシパルとしてのどのアクションをどの条件で実行できるかを指定する JSON ポリシードキュメントです。Amazon ECR は、Amazon ECR リポジトリのリソースベースのアクセス権限ポリシーをサポートしています。リソースベースのポリシーでは、リソースごとに他のアカウントに使用許可を付与することができます。リソースベースのポリシーを使用して、AWS サービスが Amazon ECR リポジトリへのアクセスを許可することもできます。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる AWS アカウントにある場合は、リソースにアクセスするためのアクセス許可をプリンシパルエンティティにも付与する必要があります。アクセス許可は、アイデンティティベースのポリシーをエンティティにアタッチすることで付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、アイデンティティベースのポリシーをさらに付与する必要はありません。詳細については、「」を参照してください。IAM ロールとリソースベースのポリシーとの相違点()IAM ユーザーガイド

Amazon ECR サービスでは、リソースベースのポリシーのタイプを 1 つのみサポートしており、のリポジトリポリシーに添付されているrepository。このポリシーは、リポジトリに対してアクションを実行できるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーティッドユーザー) を定義します。

リソースベースのポリシーをリポジトリにアタッチする方法については、「リポジトリポリシー」を参照してください。

Examples

Amazon ECR リソースベースのポリシーの例については、「」を参照してください。リポジトリポリシーの例

Amazon ECR タグに基づいた承認

タグを Amazon ECR リソースにアタッチするか、Amazon ECR へのリクエストでタグを渡すことができます。タグに基づいてアクセスを制御するには、ecr:ResourceTag/key-nameaws:RequestTag/key-name または aws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。Amazon ECR リソースのタグ付けの詳細については、「」を参照してください。Amazon ECR リポジトリのタグ付け

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースのポリシーの例を表示するには、「タグベースのアクセスコントロールを使用する」を参照してください。

Amazon ECR IAM ロール

IAM ロールは、特定のアクセス許可を持つ、AWS アカウント内のエンティティです。

Amazon ECR での一時的な認証情報の使用

一時的な認証情報を使用して、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、AssumeRole または GetFederationToken などの AWS STS API オペレーションを呼び出します。

Amazon ECR では、一時認証情報の使用をサポートしています。

サービスにリンクされたロール

サービスにリンクされたロールによって、AWS のサービスが他のサービスのリソースにアクセスして自動的にアクションを完了できます。サービスにリンクされたロールは、IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

Amazon ECR では、サービスにリンクされたロールをサポートしていません。