

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

# アップストリームレジストリと Amazon ECR プライベートレジストリを同期するために必要な IAM アクセス許可
<a name="pull-through-cache-iam"></a>

プルスルーキャッシュルールを効果的に使用するためには、プライベートレジストリへの認証とイメージのプッシュとプルに必要となる Amazon ECR API のアクセス許可に加えて、次のアクセス許可も更に必要となります。
+ `ecr:CreatePullThroughCacheRule` – プルスルーキャッシュルールを作成するアクセス許可を付与します。このアクセス許可は、アイデンティティに基づく IAM ポリシーを介して付与する必要があります。
+ `ecr:BatchImportUpstreamImage` – 外部イメージを取得し、プライベートレジストリにインポートするアクセス許可を付与します。このアクセス許可は、プライベートレジストリアクセス許可ポリシー、ID に基づく IAM ポリシー、またはリソースに基づくリポジトリアクセス許可ポリシーを使用して付与できます。レポジトリアクセス許可の使用に関する詳細については、「[Amazon ECR でのプライベートリポジトリポリシー](repository-policies.md)」を参照してください。
+ `ecr:CreateRepository` – プライベートレジストリにリポジトリを作成するアクセス許可を付与します。キャッシュされたイメージを格納するリポジトリがまだ存在しない場合には、この許可が必要となります。このアクセス許可は、アイデンティティに基づく IAM ポリシーまたはプライベートレジストリアクセス許可のいずれかによって付与できます。

## レジストリ許可の使用
<a name="pull-through-cache-registry-permissions"></a>

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

### プライベートレジストリの許可ポリシーを作成するには (AWS マネジメントコンソール)
<a name="pull-through-cache-registry-permissions-console"></a>

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

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

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

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

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

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

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

   1. **[IAM entities]** (IAM エンティティ) で、ポリシーに含めるユーザー、グループ、またはロールを指定します。

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

   1. **[リポジトリ名]** で、ルールを適用するリポジトリベース名を指定します。たとえば、Amazon ECR パブリックで Amazon Linux リポジトリを指定する場合、リポジトリ名は `amazonlinux` になります。

### プライベートレジストリの許可ポリシーを作成するには (AWS CLI)
<a name="pull-through-cache-registry-permissions-cli"></a>

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

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "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 プリンシパルによって実行されている場合などです。

1. レジストリポリシーを設定するには、[put-registry-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/put-registry-policy.html) コマンドを使用します。

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

## 次の手順
<a name="pull-through-cache-next-steps"></a>

プルスルーキャッシュルールを使用する準備ができたら、次のステップは以下のとおりです。
+ プルスルーキャッシュルールを作成します。詳細については、「[Amazon ECR でのプルスルーキャッシュルールの作成](pull-through-cache-creating-rule.md)」を参照してください。
+ リポジトリ作成テンプレートを作成します。リポジトリ作成テンプレートは、プルスルーキャッシュアクションで Amazon ECR がユーザーに代わって作成した新しいリポジトリに使用する設定を定義することができます。詳細については、「[プルスルーキャッシュ、プッシュ時作成、またはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート](repository-creation-templates.md)」を参照してください。