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

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

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

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

参考:

Amazon Elastic Container Service 定义的操作

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

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。

操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。

注意

资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。

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

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

aws:RequestTag/${TagKey}

aws:TagKeys

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

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:capacity-provider

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

service*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

ecs:cluster

ecs:capacity-provider

ecs:task-definition

ecs:enable-ebs-volumes

ecs:enable-execute-command

ecs:enable-service-connect

ecs:namespace

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

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:cluster

ecs:capacity-provider

ecs:service

ecs:task-definition

DeleteAccountSetting 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源禁用新的 ARN 和资源 ID 格式。 Write

ecs:account-setting

DeleteAttributes 授予从 Amazon ECS 资源中删除一个或多个自定义属性的权限 Write

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

capacity-provider*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

service*

aws:ResourceTag/${TagKey}

ecs:cluster

DeleteTaskDefinitions 授予按系列和修订删除指定任务定义的权限 写入

task-definition*

aws:ResourceTag/${TagKey}

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

task-set*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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

cluster*

aws:ResourceTag/${TagKey}

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

capacity-provider*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

service*

aws:ResourceTag/${TagKey}

ecs:cluster

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

task-set*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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

task*

aws:ResourceTag/${TagKey}

ecs:cluster

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

cluster*

task*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:container-name

ecs:task

GetTaskProtection 授予检索 Amazon ECS 服务中任务的保护状态的权限 读取

task*

aws:ResourceTag/${TagKey}

ecs:cluster

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

cluster*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

ecs:cluster

ListServicesByNamespace 授予权限以获取在指定 Amazon Web Services 云 Map 命名空间中运行的服务列表 列出

ecs:namespace

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

capacity-provider

cluster

container-instance

service

task

task-definition

task-set

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

container-instance*

ecs:cluster

PutAccountSetting 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源启用新的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 Write

ecs:account-setting

PutAccountSettingDefault 授予权限以修改账户中的所有 IAM 用户(未设置单独的账户设置)的资源类型的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 Write

ecs:account-setting

PutAttributes 授予在 Amazon ECS 资源上创建或更新属性的权限 Write

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

cluster*

aws:ResourceTag/${TagKey}

ecs:capacity-provider

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

cluster*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

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

aws:RequestTag/${TagKey}

aws:TagKeys

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

task-definition*

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:cluster

ecs:capacity-provider

ecs:enable-ebs-volumes

ecs:enable-execute-command

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

task-definition*

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:cluster

ecs:container-instances

ecs:enable-ebs-volumes

ecs:enable-execute-command

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

container-instance*

ecs:cluster

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

task*

aws:ResourceTag/${TagKey}

ecs:cluster

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

cluster*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

capacity-provider

cluster

container-instance

service

task

task-definition

task-set

aws:TagKeys

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

ecs:CreateAction

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

capacity-provider

cluster

container-instance

service

task

task-definition

task-set

aws:ResourceTag/${TagKey}

aws:TagKeys

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

capacity-provider*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

service*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:capacity-provider

ecs:enable-ebs-volumes

ecs:enable-execute-command

ecs:enable-service-connect

ecs:namespace

ecs:task-definition

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

service*

aws:ResourceTag/${TagKey}

ecs:cluster

UpdateTaskProtection 授予修改任务的保护状态的权限 写入

task*

aws:ResourceTag/${TagKey}

ecs:cluster

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

task-set*

aws:ResourceTag/${TagKey}

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/${ClusterName}/${ContainerInstanceId}

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

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

aws:ResourceTag/${TagKey}

ecs:ResourceTag/${TagKey}

task arn:${Partition}:ecs:${Region}:${Account}:task/${ClusterName}/${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 policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

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

条件键 描述 类型
aws:RequestTag/${TagKey} 按请求中传递的标签筛选访问权限 String
aws:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选访问权限 String
aws:TagKeys 按请求中传递的标签键筛选访问权限 ArrayOfString
ecs:CreateAction 按资源创建 API 操作的名称筛选访问 String
ecs:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选访问权限 String
ecs:account-setting 按 Amazon ECS 账户设置名称筛选访问权限 String
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 容器名称筛选访问权限 String
ecs:enable-ebs-volumes 筛选您的 ECS 任务或服务的 Amazon ECS 托管 Amazon EBS 卷容量的访问权限 String
ecs:enable-execute-command 按 Amazon ECS 任务或 Amazon ECS 服务的执行命令功能筛选访问权限 String
ecs:enable-service-connect 按服务连接配置中的启用字段值筛选访问权限 String
ecs:namespace 按服务连接配置中定义的 Amazon Web Services 云 Map 命名空间的 ARN 筛选访问权限 ARN
ecs:service 按 Amazon ECS 服务的 ARN 筛选访问权限 ARN
ecs:task 按 Amazon ECS 任务的 ARN 筛选访问权限 ARN
ecs:task-definition 按 Amazon ECS 任务定义的 ARN 筛选访问权限 ARN