

# Amazon ECS Anywhere IAM 角色
<a name="iam-role-ecsanywhere"></a>

将本地部署服务器或虚拟机（VM）注册到集群时，服务器或虚拟机需要 IAM 角色才能与 AWS API 通信。您只需为每个创建此 IAM 角色一次 AWS 账户。但是，此 IAM 角色必须与您注册到集群的每个服务器或虚拟机关联。此角色是 `ECSAnywhereRole`。您可以手动创建此角色。Amazon ECS 可以在您在 AWS 管理控制台 中注册外部实例时代表您创建角色。您可以使用 IAM 控制台搜索来搜索 `ecsAnywhereRole` 并查看您的账户是否已有该角色。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 控制台搜索](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_search.html)。

AWS 提供两个托管 IAM 策略，可在创建 ECS Anywhere IAM 角色、`AmazonSSMManagedInstanceCore` 和 `AmazonEC2ContainerServiceforEC2Role` 策略时使用。`AmazonEC2ContainerServiceforEC2Role` 策略包含的权限可能会提供超出您需要的访问权限。因此，根据您的特定使用案例，我们建议您创建一个自定义策略，仅添加该策略中所需的权限。有关更多信息，请参阅 [Amazon ECS 容器实例 IAM 角色](instance_IAM_role.md)。

任务执行 IAM角色授予 Amazon ECS 容器代理代表您进行 AWS API 调用的权限。使用任务执行 IAM 角色时，必须在任务定义中指定该角色。有关更多信息，请参阅 [Amazon ECS 任务执行 IAM 角色](task_execution_IAM_role.md)。

如果满足以下条件之一，则需要任务执行角色：
+ 您正在使用 `awslogs` 日志驱动程序将容器日志发送到 CloudWatch Logs。
+ 您的任务定义指定托管在 Amazon ECR 专用存储库中的容器映像。但是，如果与外部实例关联的 `ECSAnywhereRole` 角色还包含从 Amazon ECR 拉取映像所需的权限，那么任务执行角色不需要包括这些权限。

## 创建 Amazon ECS Anywhere 角色
<a name="ecs-anywhere-iam-role-create"></a>

将所有*用户输入*替换为您自己的信息。

1. 利用以下信任策略创建名为 `ssm-trust-policy.json` 的本地文件。

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

****  

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

------

1. 使用以下 AWS CLI 命令创建角色并附加信任策略。

   ```
   aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
   ```

1. 使用以下命令附加 AWS 托管策略。

   ```
   aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
   aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
   ```

您还可以使用 IAM 自定义信任策略工作流来创建该角色。有关更多信息，请参阅《IAM 用户指南》**中的[使用自定义信任策略创建角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。