Amazon Elastic Container Service 的操作、资源和条件键 - 服务授权参考
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon Elastic Container Service 的操作、资源和条件键

Amazon Elastic Container Service(服务前缀:ecs)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon Elastic Container Service 定义的操作

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅 操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
CreateCapacityProvider 授予创建新容量提供程序的权限。容量提供程序与 Amazon ECS 集群关联,在容量提供程序策略中用于协助集群的自动扩展 写入

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCluster 授予创建新 Amazon ECS 集群的权限 写入

ecs:capacity-provider

aws:RequestTag/${TagKey}

aws:TagKeys

CreateService 授予通过创建服务从指定任务定义运行和维护所需数量的任务的权限 写入

service*

ecs:cluster

ecs:capacity-provider

ecs:task-definition

ecs:enable-execute-command

aws:RequestTag/${TagKey}

aws:TagKeys

CreateTaskSet 授予创建新 Amazon ECS 任务集的权限 写入

ecs:cluster

ecs:capacity-provider

ecs:service

ecs:task-definition

DeleteAccountSetting 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源禁用新的 ARN 和资源 ID 格式。 写入
DeleteAttributes 授予从 Amazon ECS 资源中删除一个或多个自定义属性的权限 写入

container-instance*

ecs:cluster

DeleteCapacityProvider 授予删除指定容量提供程序的权限 写入

capacity-provider*

DeleteCluster 授予权限以删除指定的集群 写入

cluster*

DeleteService 授予删除集群内的指定服务的权限 写入

service*

ecs:cluster

DeleteTaskSet 授予权限以删除指定的任务集 写入

task-set*

ecs:cluster

ecs:service

DeregisterContainerInstance 授予从指定的集群取消注册 Amazon ECS 容器实例的权限 写入

cluster*

DeregisterTaskDefinition 授予按系列和修订取消注册指定任务定义的权限 写入
DescribeCapacityProviders 授予描述一个或多个 Amazon ECS 容量提供商的权限 Read

capacity-provider*

DescribeClusters 授予权限以描述一个或多个集群 Read

cluster*

DescribeContainerInstances 授予描述 Amazon ECS 容器实例的权限 Read

container-instance*

ecs:cluster

DescribeServices 授予描述集群中运行的指定服务的权限 Read

service*

ecs:cluster

DescribeTaskDefinition 授予描述任务定义的权限。您可以指定系列和修订以查找有关特定任务定义的信息,也可以只指定系列以查找该系列中最新的有效修订 Read
DescribeTaskSets 授予描述 Amazon ECS 任务集的权限 Read

task-set*

ecs:cluster

ecs:service

DescribeTasks 授予权限以描述指定任务。 Read

task*

ecs:cluster

DiscoverPollEndpoint 授予获得 Amazon ECS 代理的终端节点以轮询更新的权限 写入
ExecuteCommand 授予在 Amazon ECS 容器上远程运行命令的权限 写入

cluster

task

ecs:cluster

ecs:container-name

ecs:task

ListAccountSettings 授予权限以列出指定委托人的 Amazon ECS 资源的账户设置 Read
ListAttributes 授予权限以列出指定目标类型和集群中的 Amazon ECS 资源的属性 List

cluster*

ListClusters 授予获取现有集群列表的权限 List
ListContainerInstances 授予获取指定集群中容器实例列表的权限 List

cluster*

ListServices 授予获取在指定集群中运行的服务列表的权限 List

ecs:cluster

ListTagsForResource 授予获取指定资源的标签列表的权限 Read

cluster

container-instance

task

task-definition

ListTaskDefinitionFamilies 授予权限以获取注册到您的账户的任务定义系列的列表(其中可能包括不再具有任何有效任务定义的任务定义系列)。 List
ListTaskDefinitions 授予获取注册到您的账户的任务定义列表的权限。 List
ListTasks 授予获取指定集群的任务列表的权限 List

container-instance*

ecs:cluster

Poll [仅权限] 向代理授予连接 Amazon ECS 服务以报告状态和获取命令的权限 写入

container-instance*

ecs:cluster

PutAccountSetting 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源启用新的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 写入
PutAccountSettingDefault 授予权限以修改账户中的所有 IAM 用户(未设置单独的账户设置)的资源类型的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 写入
PutAttributes 授予在 Amazon ECS 资源上创建或更新属性的权限 写入

container-instance*

ecs:cluster

PutClusterCapacityProviders 授予修改集群的可用容量提供程序和默认的容量提供程序策略的权限 写入

capacity-provider*

ecs:capacity-provider

RegisterContainerInstance 授予将 EC2 实例注册到指定集群的权限 写入

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

RegisterTaskDefinition 授予从提供的系列和 containerDefinitions 注册新的任务定义的权限。 写入

aws:RequestTag/${TagKey}

aws:TagKeys

RunTask 授予使用随机放置和默认的 Amazon ECS 计划程序启动任务的权限 写入

task-definition*

ecs:cluster

ecs:capacity-provider

ecs:enable-execute-command

aws:RequestTag/${TagKey}

aws:TagKeys

StartTask 授予从指定的一个或多个容器实例上的指定任务定义启动新任务的权限 写入

task-definition*

ecs:cluster

ecs:container-instances

ecs:enable-execute-command

aws:RequestTag/${TagKey}

aws:TagKeys

StartTelemetrySession 授予权限以启动遥测会话 写入

container-instance*

ecs:cluster

StopTask 授予权限以停止正在运行的任务 写入

task*

ecs:cluster

SubmitAttachmentStateChanges 授予发送附件更改状态的确认的权限 写入

cluster*

SubmitContainerStateChange 授予发送容器更改状态的确认的权限 写入

cluster*

SubmitTaskStateChange 授予发送任务更改状态的确认的权限 写入

cluster*

TagResource 授予标记指定资源的权限 标记

cluster

container-instance

service

task

task-definition

aws:TagKeys

aws:RequestTag/${TagKey}

UntagResource 授予取消标记指定资源的权限 标记

cluster

container-instance

service

task

task-definition

aws:TagKeys

UpdateCapacityProvider 授予更新指定容量提供程序的权限 写入

capacity-provider*

UpdateCluster 授予修改要用于集群的配置或设置的权限 写入

cluster*

UpdateClusterSettings 授予修改设置以用于集群的权限 写入

cluster*

UpdateContainerAgent 授予更新指定容器实例上的 Amazon ECS 容器代理的权限 写入

container-instance*

ecs:cluster

UpdateContainerInstancesState 授予用户修改 Amazon ECS 容器实例的状态的权限 写入

container-instance*

ecs:cluster

UpdateService 授予权限以修改服务的参数 写入

service*

ecs:cluster

ecs:capacity-provider

ecs:enable-execute-command

ecs:task-definition

UpdateServicePrimaryTaskSet 授予修改服务中使用的主任务集的权限 写入

service*

ecs:cluster

UpdateTaskSet 授予更新指定任务集的权限 写入

task-set*

ecs:cluster

ecs:service

Amazon Elastic Container Service 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作都标识了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅 资源类型表

资源类型 ARN 条件键
cluster arn:${Partition}:ecs:${Region}:${Account}:cluster/${ClusterName}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

container-instance arn:${Partition}:ecs:${Region}:${Account}:container-instance/${ContainerInstanceId}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

service arn:${Partition}:ecs:${Region}:${Account}:service/${ServiceName}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

task arn:${Partition}:ecs:${Region}:${Account}:task/${TaskId}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

task-definition arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}:${TaskDefinitionRevisionNumber}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

capacity-provider arn:${Partition}:ecs:${Region}:${Account}:capacity-provider/${CapacityProviderName}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

task-set arn:${Partition}:ecs:${region}:${Account}:task-set/${ClusterName}/${ServiceName}/${TaskSetId}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

Amazon Elastic Container Service 的条件键

Amazon Elastic Container Service 定义以下可以在 IAM 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅 条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 按请求中传递的标签筛选访问权限 字符串
aws:ResourceTag/${TagKey} 根据附加到资源的标签键值对筛选访问 字符串
aws:TagKeys 根据在请求中传递的标签键筛选访问 字符串
ecs:ResourceTag/${TagKey} 根据附加到资源的标签键值对筛选访问 字符串
ecs:capacity-provider 根据 Amazon ECS 容量提供程序的 ARN 筛选访问 ARN
ecs:cluster 根据 Amazon ECS 集群的 ARN 筛选访问 ARN
ecs:container-instances 根据 Amazon ECS 容器实例的 ARN 筛选访问 ARN
ecs:container-name 根据 ECS 任务定义中定义的 Amazon ECS 容器的名称筛选访问 字符串
ecs:enable-execute-command 根据 Amazon ECS 任务或 Amazon ECS 服务的执行命令功能筛选访问 字符串
ecs:service 根据 Amazon ECS 服务的 ARN 筛选访问 ARN
ecs:task 根据 Amazon ECS 任务的 ARN 筛选访问 ARN
ecs:task-definition 根据 Amazon ECS 任务定义的 ARN 筛选访问 ARN