

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

# 设置跨账户 ECR 到 ECR PTC 的权限
<a name="pull-through-cache-private"></a>

Amazon ECR 到 Amazon ECR（ECR 到 ECR）直通缓存功能支持在区域、 AWS 账户或两者之间自动同步图像。使用 ECR 到 ECR PTC，您可以将映像推送到主要 Amazon ECR 注册表，并配置提取缓存规则，将映像缓存在下游 Amazon ECR 注册表中。

## 跨账户 ECR 到 ECR 提取缓存所需的 IAM 策略
<a name="pull-through-cache-private-permissions"></a>

要在不同 AWS 账户的 Amazon ECR 注册表之间缓存映像，请在下游账户中创建 IAM 角色并配置本节中的策略以提供以下权限：
+ Amazon ECR 需要权限才能代表您从上游 Amazon ECR 注册表中提取映像。您可以通过创建 IAM 角色，然后在提取缓存规则中指定该角色，授予这些权限。
+ 上游注册表所有者还必须向缓存注册表所有者授予将映像拉入资源策略所需的权限。

**Topics**
+ [创建 IAM 角色来定义提取缓存权限](#ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache)
+ [为 IAM 角色创建信任策略](#ecr-creating-a-trust-policy-for-the-iam-role)
+ [在上游 Amazon ECR 注册表中创建资源策略](#ecr-creating-registry-permissions-policy-in-upstream-registry)

### 创建 IAM 角色来定义提取缓存权限
<a name="ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache"></a>

以下示例显示了一个权限策略，该策略授予 IAM 角色权限，代表您从上游 Amazon ECR 注册表中提取映像。当 Amazon ECR 担任该角色时，它将获得在此策略中指定的权限。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken",
                "ecr:BatchImportUpstreamImage",
                "ecr:BatchGetImage",
                "ecr:GetImageCopyStatus",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 为 IAM 角色创建信任策略
<a name="ecr-creating-a-trust-policy-for-the-iam-role"></a>

以下示例显示了一个信任策略，该策略将 Amazon ECR 穿过缓存确定为可以担任该角色的 AWS 服务主体。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "pullthroughcache.ecr.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

### 在上游 Amazon ECR 注册表中创建资源策略
<a name="ecr-creating-registry-permissions-policy-in-upstream-registry"></a>

上游 Amazon ECR 注册表所有者还必须添加注册表策略或存储库策略，以授予下游注册表所有者执行以下操作所需的权限。

**注意**  
只有**跨账户** ECR 到 ECR 拉取缓存配置才需要以下资源策略。对于**同账户、跨区域**的直通缓存，您只需要前几节中显示的 IAM 角色策略和信任策略。当上游和下游注册管理机构在同一个账户中时，不需要主 AWS 账户委托人权限。

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::444455556666:root"
    },
    "Action": [
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchImportUpstreamImage",
        "ecr:GetImageCopyStatus"
    ],
    "Resource": "arn:aws:ecr:region:111122223333:repository/*"
}
```