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

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

IAM的权限Amazon ECSAnywhere

有几个必需的和有条件的IAM权限适用于Amazon ECSAnywhere 以下部分介绍了IAM权限的更多详细信息。

必需IAM外部实例的权限

将本地服务器或虚拟机 (VM) 注册到您的集群时,服务器或 VM 需要IAM角色以与通信AmazonAPI。您只需要创建此IAM角色一次Amazonaccount. 然而,这IAM角色必须与您注册到群集的每个服务器或虚拟机相关联。此角色是ECSAnywhereRole。您可以手动创建此角色。或者,Amazon ECS可以代表您创建角色。Amazon Web Services Management Console。

Amazon提供两个托管IAM随时随地创建弹性云服务器时可以使用的策略IAM角色,AmazonSSMManagedInstanceCoreAmazonEC2ContainerServiceforEC2Role策略。这些区域有:AmazonEC2ContainerServiceforEC2Role策略包含的权限可能提供比您需要更多的访问权限。因此,根据您的特定使用案例,我们建议您创建一个自定义策略,仅添加该策略中需要的权限。有关更多信息,请参阅 Amazon ECS容器实例IAM角色

随时随地创建弹性云服务器IAM角色 (Amazon Web Services Management Console)

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

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

  3. 选择Amazon服务角色类型,然后选择Systems Manager

  4. 选择Systems Manager使用案例,然后后续:Permissions (下一步:权限)

  5. 附加权限策略部分中,搜索并选择AmazonSSMManagedInstanceCoreAmazonEC2ContainerServiceforEC2Role策略,然后选择后续:审核

    重要

    这些区域有:AmazonEC2ContainerServiceforEC2Role托管策略提供了本地服务器或虚拟机所需的权限。但是,AmazonEC2ContainerServiceforEC2Role托管策略可能会授予您的使用案例不需要的权限。查看此策略授予的权限,查看您的使用案例是否不需要所有权限。然后,根据您的具体情况,可选择创建自定义策略并仅添加所需的权限。有关更多信息,请参阅 Amazon ECS容器实例IAM角色

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

  7. 适用于Role name (角色名称),输入ECSAnywhereRole,您可以选择编辑描述。

  8. 检查您的角色信息,然后选择创建角色

  9. 执行搜索ECSAnywhereRole,然后选择它以查看角色详细信息。

  10. 权限选项卡上,选择 Attach policies (附加策略)

  11. 搜索AmazonSSMManagedInstanceCore策略,将其选择,然后选择附加策略

随时随地创建弹性云服务器IAM角色 (Amazon CLI)

  1. 创建一个名为的文件ssm-trust-policy.json,其中包含要用于IAM角色。该文件应包含以下内容:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. 创建IAM名为的角色ecsAnywhereRole使用在上一步中创建的信任策略。

    aws iam create-role \ --role-name ecsAnywhereRole \ --assume-role-policy-document file://ssm-trust-policy.json
  3. 附加Amazon托管AmazonSSMManagedInstanceCore策略添加到ecsAnywhereRole角色。此策略提供Systems Manager本地服务器或虚拟机所需的 API 权限。

    aws iam attach-role-policy \ --role-name ecsAnywhereRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
  4. 附加Amazon托管AmazonEC2ContainerServiceforEC2Role策略添加到ecsAnywhereRole角色。

    aws iam attach-role-policy \ --role-name ecsAnywhereRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
    重要

    这些区域有:AmazonEC2ContainerServiceforEC2Role托管策略提供了本地服务器或虚拟机所需的权限。但是,AmazonEC2ContainerServiceforEC2Role托管策略可能会授予您的使用案例不需要的权限。查看此策略授予的权限,查看您的使用案例是否不需要所有权限。然后,根据您的具体情况,可选择创建自定义策略并仅添加所需的权限。有关更多信息,请参阅 Amazon ECS容器实例IAM角色

条件IAM权限

任务执行IAM角色授予Amazon ECS容器代理的权限AmazonAPI 代表您调用。当任务执行IAM角色,则必须在任务定义中指定该角色。有关更多信息,请参阅 Amazon ECS任务执行IAM角色

如果满足以下任何条件,则需要任务执行角色:

  • 您正在将容器日志发送到CloudWatch Logs使用awslogs日志驱动程序。

  • 您的任务定义指定了一个容器映像,该映像托管在Amazon ECR私有存储库。但是,如果ECSAnywhereRole IAM角色还包括从Amazon ECR那么你的任务执行角色不需要包含它们。