

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

# 將 Amazon ECR 映像與 Amazon ECS 搭配使用
<a name="ECR_on_ECS"></a>

您可以使用 Amazon ECR 私有儲存庫，來託管 Amazon ECS 任務可能從中提取的容器映像和成品。若要使用此功能，Amazon ECS 或 Fargate、容器代理程式必須具有進行 `ecr:BatchGetImage`、`ecr:GetDownloadUrlForLayer` 和 `ecr:GetAuthorizationToken` API 的許可。

## 所需的 IAM 許可
<a name="ECR_on_ECS_iampermissions"></a>

下表顯示了要針對每個啟動類型使用的 IAM 角色，這些角色為您的任務提供從 Amazon ECR 私有儲存庫提取所需的許可。Amazon ECS 提供受管 IAM 政策，其中包含必要許可。


****  

| 啟動類型 | IAM 角色 | AWS 受管 IAM 政策 | 
| --- | --- | --- | 
| Amazon EC2 執行個體上的 Amazon ECS |  使用容器執行個體 IAM 角色，此角色與 Amazon ECS 叢集中註冊的 Amazon EC2 執行個體相關聯。如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的[容器執行個體 IAM 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)。  |  `AmazonEC2ContainerServiceforEC2Role` 如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的 [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role)。  | 
|   Fargate 上的 Amazon ECS  |  使用您在 Amazon ECS 任務定義中參照的任務執行 IAM 角色。如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的[任務執行 IAM 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html)。  |  `AmazonECSTaskExecutionRolePolicy` 如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的 [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonECSTaskExecutionRolePolicy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonECSTaskExecutionRolePolicy)。  | 
|  外部執行個體上的 Amazon ECS  |  使用容器執行個體 IAM 角色，此角色與 Amazon ECS 叢集中註冊的內部部署伺服器或虛擬機器 (VM) 相關聯。如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的[容器執行個體 Amazon ECS 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)。  |  `AmazonEC2ContainerServiceforEC2Role` 如需詳細資訊，請參閱*《Amazon Elastic Container Service 開發人員指南》*中的 [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role)。  | 

**重要**  
 AWS 受管 IAM 政策包含您使用時可能不需要的其他許可。在此情況下，這些是從 Amazon ECR 私有儲存庫提取的最低必要許可。  

****  

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

## 在 Amazon ECS 任務定義中指定 Amazon ECR 映像
<a name="ECR_on_ECS_taskdef"></a>

建立 Amazon ECS 任務定義時，您可以指定託管在 Amazon ECR 私有儲存庫中的容器映像。在任務定義中，確保您的 Amazon ECR 映像使用完整的 `registry/repository:tag` 名稱。例如 `aws_account_id.dkr.ecr.region.amazonaws.com``/my-repository:latest`。

下列任務定義片段會顯示您在 Amazon ECS 任務定義中，會用於指定 Amazon ECR 中託管的容器映像。

```
{
    "family": "task-definition-name",
    ...
    "containerDefinitions": [
        {
            "name": "container-name",
            "image": "aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:latest",
            ...
        }
    ],
    ...
}
```