Amazon ECS容器实例IAM角色 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon ECS容器实例IAM角色

Amazon ECS容器实例,包括Amazon EC2和外部实例,请运行Amazon ECS容器代理,并且需要IAM角色,以便该服务了解该代理属于您。在启动容器实例并将它们注册到集群之前,您必须先创建IAM角色,以便容器实例使用。

重要

如果您正在将外部实例注册到集群,IAM您使用的角色需要Systems Manager权限。有关更多信息,请参阅 必需IAM外部实例的权限

Amazon ECS提供AmazonEC2ContainerServiceforEC2Role托管IAM策略,该策略包含使用完整Amazon ECS功能集。此托管策略可以附加到IAM角色并与您的容器实例相关联。或者,您也可以在创建要使用的自定义策略时将托管策略作为指南。容器实例角色提供了Amazon ECS容器代理和 Docker 守护进程调用Amazon代表您的 API。有关托管策略的更多信息,请参阅AmazonEC2ContainerServiceforEC2Role

创建Amazon ECS容器实例IAM角色

重要

如果要将外部实例注册到集群,请参阅必需IAM外部实例的权限

这些区域有:Amazon ECS实例角色将在您完成Amazon ECS控制台首次运行体验。但是,您可手动创建角色并将托管IAM策略允许容器实例Amazon ECS以便在引入未来功能和增强功能时添加这些功能的权限。使用以下过程检查并确定您的账户是否已有Amazon ECS容器实例IAM角色并附加托管IAM政策.

在 IAM 控制台中检查 ecsInstanceRole

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles

  3. 在角色列表中搜索 ecsInstanceRole。如果该角色不存在,请使用下一个部分中的过程创建该角色。如果角色存在,请选择角色以查看附加的策略。

  4. 选择 Permissions 选项卡。

  5. 权限策略部分中,请确保AmazonEC2ContainerServiceforEC2Role托管策略或等效的自定义策略附加到该角色。如果附加该策略,则将正确配置容器实例角色。否则,请执行以下子步骤来附加策略。

    重要

    The AmazonEC2ContainerServiceforEC2Role managed policy should be attached to the container instance IAM role, otherwise you will receive an error using the Amazon Web Services Management Console to create clusters.

    1. 选择附加策略。​

    2. 筛选策略搜索框,键入AmazonEC2ContainerServiceforEC2Role以缩小要附加的可用策略的范围。

    3. 选中AmazonEC2ContainerServiceforEC2Role策略并选择附加策略

  6. 选择 Trust relationships 选项卡,然后选择 Edit trust relationship

  7. 验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel。如果信任关系不符合,请将策略复制到 Policy Document 窗口中并选择 Update Trust Policy

    { "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

为容器实例创建 ecsInstanceRole IAM 角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles,然后选择 Create role

  3. 选择Amazon服务角色类型,然后选择Elastic Container Service

  4. 选择EC2 角色的 Elastic Container Service使用案例,然后后续:Permissions (下一步:权限)

  5. 附加权限策略部分中,验证AmazonEC2ContainerServiceforEC2Role策略,然后选择下一步:标签

    重要

    The AmazonEC2ContainerServiceforEC2Role managed policy should be attached to the container instance IAM role, otherwise you will receive an error using the Amazon Web Services Management Console to create clusters.

  6. 适用于添加标签(可选),指定要与策略关联的任何自定义标签,然后选择后续:审核

  7. 对于 Role name,键入 ecsInstanceRole,或者也可以输入描述。

  8. 检查您的角色信息,然后选择 Create role 以完成操作。

正在添加Amazon S3对容器实例的只读访问权限IAM角色

将配置信息存储在 Amazon S3 中的私有存储桶中并向您的容器实例 IAM 角色授予只读访问权限,这是一个允许在启动时配置容器实例的安全方便的方法。您可以将 ecs.config 文件的副本存储在私有存储桶中,使用 Amazon EC2 用户数据安装 Amazon CLI,然后在实例启动时将配置信息复制到 /etc/ecs/ecs.config

有关创建 ecs.config 文件,将该文件存储在 Amazon S3 中并使用此配置启动实例的更多信息,请参阅将容器实例配置存储在 Amazon S3 中

为容器实例角色授予 Amazon S3 只读访问权限

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles

  3. 选择用于容器实例的 IAM 角色(此角色可能名为 ecsInstanceRole)。有关更多信息,请参阅 Amazon ECS容器实例IAM角色

  4. 选择 Permissions 选项卡,然后选择 Attach policy

  5. 在存储库的附加策略页面,键入S3添加到筛选条件:策略类型字段以缩小策略结果范围。

  6. 选中 AmazonS3ReadOnlyAccess 策略左侧的框并单击 Attach policy

    注意

    此策略允许对所有 Amazon S3 资源进行只读访问。有关更多限制性存储桶策略示例,请参阅存储桶策略示例中的Amazon Simple Storage Service 开发人员指南。