

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 用於提取快取的 Amazon ECR 服務連結角色
<a name="slr-pullthroughcache"></a>

Amazon ECR 使用名為 **AWSServiceRoleForECRPullThroughCache** 的服務連結角色，其允許 Amazon ECR 代表您執行動作，以完成提取快取動作。如需提取快取的詳細資訊，請參閱「[用於控制提取快取、推送時建立或複寫動作期間建立的儲存庫的範本](repository-creation-templates.md)」。

## Amazon ECR 的服務連結角色許可
<a name="slr-pullthroughcache-permissions"></a>

**AWSServiceRoleForECRPullThroughCache** 服務連結角色信任下列服務來擔任此角色。
+ `pullthroughcache.ecr.amazonaws.com`

**許可詳細資訊**

此 `AWSECRPullThroughCache_ServiceRolePolicy` 許可政策連接至服務連結角色。此受管政策授予 Amazon ECR 執行下列動作的許可。如需詳細資訊，請參閱[`AWSECRPullThroughCache_ServiceRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy)。
+ `ecr` – 允許 Amazon ECR 服務將映像提取並推送至私有儲存庫。
+ `secretsmanager:GetSecretValue` – 允許 Amazon ECR 服務擷取 AWS Secrets Manager 秘密的加密內容。使用提取快取規則從需要在私有登錄檔中進行身分驗證的上游登錄檔快取映像時，需要此選項。該許可僅適用於具有 `ecr-pullthroughcache/` 名稱字首的秘密。

該 `AWSECRPullThroughCache_ServiceRolePolicy` 政策包含下列 JSON。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:BatchGetImage",
                "ecr:BatchImportUpstreamImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetImageCopyStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:ecr-pullthroughcache/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

您必須設定許可，IAM 實體 (例如，使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 建立 Amazon ECR 的服務連結角色
<a name="slr-pullthroughcache-create"></a>

您不需要為提取快取手動建立 Amazon ECR 服務連結角色。當您在 AWS 管理主控台、 AWS CLI或 AWS API 中為私有登錄檔建立提取快取規則時，Amazon ECR 會為您建立服務連結角色。

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。當您為私有登錄檔建立提取快取規則時，Amazon ECR 會再次為您建立服務連結角色 (如果尚不存在)。

## 編輯 Amazon ECR 的服務連結角色
<a name="slr-pullthroughcache-edit"></a>

Amazon ECR 不允許手動編輯 **AWSServiceRoleForECRPullThroughCache** 服務連結角色。因為可能有各種實體會參考服務連結角色，所以您無法在建立角色之後變更其名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《IAM 使用者指南》**中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 Amazon ECR 的服務連結角色
<a name="slr-pullthroughcache-delete"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。不過，您必須在每個區域中先刪除登錄檔的提取快取規則，才能手動刪除服務連結角色。

**注意**  
如果您嘗試在 Amazon ECR 服務仍在使用角色時刪除資源，則刪除動作可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試。

**若要刪除 **AWSServiceRoleForECRPullThroughCache** 服務連結角色所使用的 Amazon ECR 資源**

1. 在 [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/) 開啟 Amazon ECR 主控台。

1. 從導覽列選擇您建立提取快取規則的區域。

1. 在導覽窗格中，選擇 **Private registry** (私有登錄檔)。

1. 在**私有登錄檔**頁面上，於**提取快取組態**區段中，選擇**編輯**。

1. 針對您建立的每個提取快取規則，請選取規則，然後選擇**刪除規則**。

**使用 IAM 手動刪除服務連結角色**

使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 **AWSServiceRoleForECRPullThroughCache** 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。