

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

# 授予在 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. 对于**账户**，输入要向其授予权限的每个账户的账户 ID。当指定多个账户 ID 时，请将它们以逗号分隔。

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}}
   ```