

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

# 使用 Amazon ECR 的服務連結角色
<a name="using-service-linked-roles"></a>

Amazon Elastic Container Registry (Amazon ECR) 使用 AWS Identity and Access Management (IAM)[ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)，提供使用複寫和提取快取功能所需的許可。服務連結角色是直接連結至 Amazon ECR 的一種特殊 IAM 角色類型。服務連結的角色是由 Amazon ECR 預先定義。其中包含了該服務需要的所有許可，可支援私有登錄檔的複寫和提取快取功能。設定登錄檔的複寫或提取快取之後，系統將代表您自動建立服務連結角色。如需詳細資訊，請參閱[Amazon ECR 中的私有登錄檔設定](registry-settings.md)。

服務連結角色可讓使用 Amazon ECR 設定複寫和提取快取的過程更為輕鬆。這是因為使用它，您不必手動新增所有必要的許可。Amazon ECR 定義其服務連結角色的許可，除非另有定義，否則僅有 Amazon ECR 可以擔任其角色。已定義的許可包括信任政策和許可政策。許可政策無法附加到其他任何 IAM 實體。

您只能在登錄檔停用複寫或提取快取後，才能刪除對應的服務連結角色。這可確保您不會意外移除 Amazon ECR 針對這些功能所要求的許可。

關於支援服務連結角色的其他服務，如需相關資訊，請參閱[與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。在此連結至頁面上，在 **Service-linked role** (服務連結角色) 欄位中尋找具有 **Yes** (是) 的服務。選擇具有連結的 **Yes** (是)，以檢視該服務的相關服務連結角色文件。

**Topics**
+ [Amazon ECR 服務連結角色的支援區域](#slr-regions)
+ [用於複寫的 Amazon ECR 服務連結角色](slr-replication.md)
+ [用於提取快取的 Amazon ECR 服務連結角色](slr-pullthroughcache.md)
+ [適用於儲存庫建立範本的 Amazon ECR 服務連結角色](slr-rct.md)

## Amazon ECR 服務連結角色的支援區域
<a name="slr-regions"></a>

Amazon ECR 在所有提供 Amazon ECR 服務的區域中支援使用服務連結的角色。如需 Amazon ECR 區域可用性的詳細資訊，請參閱《[AWS 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)》。

# 用於複寫的 Amazon ECR 服務連結角色
<a name="slr-replication"></a>

Amazon ECR 使用名為 **AWSServiceRoleForECRReplication** 的服務連結角色，可讓 Amazon ECR 跨多個帳戶複寫映像。

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

AWSServiceRoleForECRReplication 服務連結角色信任下列服務可擔任該角色：
+ `replication.ecr.amazonaws.com`

以下 `ECRReplicationServiceRolePolicy` 角色許可政策允許 Amazon ECR 對資源使用以下動作：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**注意**  
`ReplicateImage` 是 Amazon ECR 用於複寫的內部 API，無法直接呼叫。

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

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

您不需要手動建立 Amazon ECR 服務連結角色。當您在 AWS 管理主控台 AWS CLI、 或 AWS API 中設定登錄檔的複寫設定時，Amazon ECR 會為您建立服務連結角色。

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。當您設定登錄檔的複寫設定時，Amazon ECR 會再次為您建立服務連結角色。

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

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

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

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

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

**刪除 AWSServiceRoleForECRReplication 所使用的 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 來刪除 **AWSServiceRoleForECRReplication** 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

# 用於提取快取的 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)。

# 適用於儲存庫建立範本的 Amazon ECR 服務連結角色
<a name="slr-rct"></a>

Amazon ECR 使用名為 **AWSServiceRoleForECRTemplate** 的服務連結角色，授予 Amazon ECR 代表您執行動作以完成儲存庫建立範本動作的許可。

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

**AWSServiceRoleForECRTemplate** 服務連結角色信任下列服務擔任該角色。
+ `ecr.amazonaws.com`

**許可詳細資訊**

此 ``ECRTemplateServiceRolePolicy`` 許可政策連接至服務連結角色。此受管政策授予 Amazon ECR 代表您執行儲存庫建立動作的許可。

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

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
	    "Sid": "CreateRepositoryWithTemplate",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

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

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

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

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

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

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

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

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

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

**刪除 **AWSServiceRoleForECRTemplate** 服務連結角色所使用的 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 來刪除 **AWSServiceRoleForECRTemplate** 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。