

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 授予在 Amazon ECR 中进行跨账户复制的注册表权限
<a name="registry-permissions-create-replication"></a>

跨账户策略类型用于向 AWS 委托人授予权限，允许将存储库从源注册表复制到您的注册表。预设情况下，您有权在自己的注册表中配置跨区域复制。如果您授予其他账户将内容复制到注册表的权限，则只需配置注册表策略。

注册表策略必须授予 `ecr:ReplicateImage` API 操作权限。此 API 是一个内部 Amazon ECR API，可在区域或账户之间复制镜像。您还可以授予 ` ecr:CreateRepository` 权限，该权限允许 Amazon ECR 在您的注册表中创建存储库 (如果存储库尚不存在)。如果未提供 `ecr:CreateRepository` 权限，则必须在注册表中手动创建与源存储库名称相同的存储库。如果两者均未完成，复制将失败。任何失败的操作`CreateRepository`或 `ReplicateImage` API 操作都会显示在中 CloudTrail。

## 要配置复制的权限策略 (AWS 管理控制台)
<a name="registry-permissions-create-console"></a>

1. 打开 Amazon ECR 控制台，网址为[https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)。

1. 从导航栏中，选择区域以配置注册表策略。

1. 在导航窗格中，选择**私有注册表**，选择**功能和设置**，然后选择**权限**。

1. 在 **Registry permissions**（注册表权限）页面上，选择 **Generate statement**（生成语句）。

1. 使用策略生成器完成以下步骤以定义策略声明。

   1. 对于**策略类型**，选择**复制 - 跨账户**。

   1. 对于**声明 ID**，输入唯一的声明 ID。此字段在注册表策略上用作 `Sid`。

   1. 对于**帐户**，输入您要向 IDs其授予权限的每个账户的帐户。指定多个帐户时 IDs，请用逗号分隔它们。

1. 选择**保存**。

## 要配置复制的权限策略 (AWS CLI)
<a name="registry-permissions-create-cli"></a>

1. 创建名为 `registry_policy.json` 的文件并使用注册表策略填充它。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
           {
               "Sid":"ReplicationAccessCrossAccount",
               "Effect":"Allow",
               "Principal":{
                   "AWS":"arn:aws:iam::111122223333:root"
               },
               "Action":[
                   "ecr:CreateRepository",
                   "ecr:ReplicateImage"
               ],
               "Resource": [
                   "arn:aws:ecr:us-west-2:444455556666:repository/*"
               ]
           }
       ]
   }
   ```

------

1. 使用策略文件创建注册表策略。

   ```
   aws ecr put-registry-policy \
         --policy-text file://registry_policy.json \
         --region us-west-2
   ```

1. 检索要确认的注册表策略。

   ```
   aws ecr get-registry-policy \
         --region us-west-2
   ```