Amazon Elastic Container Service 的操作、资源和条件键 - 服务授权参考

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

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

Amazon 弹性容器服务(服务前缀:ecs)提供以下特定于服务的资源、操作和条件上下文密钥,用于IAM权限策略。

参考:

Amazon Elastic Container Service 定义的操作

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

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

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

注意

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

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

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

aws:RequestTag/${TagKey}

aws:TagKeys

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

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:capacity-provider

ecs:fargate-ephemeral-storage-kms-key

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

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

ecs:enable-vpc-lattice

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

aws:RequestTag/${TagKey}

aws:TagKeys

ecs:cluster

ecs:capacity-provider

ecs:service

ecs:task-definition

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

ecs:account-setting

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

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 授予权限以删除指定的任务集 写入

task-set*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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

cluster*

aws:ResourceTag/${TagKey}

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

capacity-provider*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

DescribeServiceDeployments 授予描述您的一个或多个服务部署的权限 读取

service*

ecs:cluster

aws:ResourceTag/${TagKey}

service-deployment*

ecs:cluster

ecs:service

aws:ResourceTag/${TagKey}

DescribeServiceRevisions 授予描述您的一个或多个服务修订的权限 读取

service*

ecs:cluster

aws:ResourceTag/${TagKey}

service-revision*

ecs:cluster

ecs:service

aws:ResourceTag/${TagKey}

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

service*

aws:ResourceTag/${TagKey}

ecs:cluster

DescribeTaskDefinition 授予描述任务定义的权限。您可以指定族和修订版来查找有关特定任务定义的信息,也可以直接指定系列以查找该系列中的最新ACTIVE修订版 读取
DescribeTaskSets 授予描述 Amazon ECS 任务集的权限 读取

task-set*

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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

task*

aws:ResourceTag/${TagKey}

ecs:cluster

DiscoverPollEndpoint 授予获取终端节点的权限,让 Amazon ECS 代理可以轮询更新 写入
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 资源的账户设置的权限 读取
ListAttributes 授予列出指定目标类型和集群内的 Amazon ECS 资源属性的权限 列出

cluster*

aws:ResourceTag/${TagKey}

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

cluster*

aws:ResourceTag/${TagKey}

ListServiceDeployments 授予获取指定服务的服务部署列表的权限 列出

service*

aws:ResourceTag/${TagKey}

ecs:cluster

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

ecs:cluster

ListServicesByNamespace 授予获取在指定 AWS Cloud 地图命名空间中运行的服务列表的权限 列出

ecs:namespace

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

capacity-provider

cluster

container-instance

service

task

task-definition

task-set

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

container-instance*

ecs:cluster

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

ecs:account-setting

PutAccountSettingDefault 向未设置个人账户设置的账户上的所有IAM用户授予修改资源类型ARN和资源 ID 格式的权限。必须启用此设置才能使用 Amazon 的新ECS功能,例如资源标记 写入

ecs:account-setting

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

cluster*

aws:ResourceTag/${TagKey}

ecs:capacity-provider

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

cluster*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

RegisterTaskDefinition 授予注册来自所提供家族的新任务定义的权限 containerDefinitions 写入

aws:RequestTag/${TagKey}

aws:TagKeys

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

task-definition*

iam:PassRole

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*

iam:PassRole

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}

ecs:fargate-ephemeral-storage-kms-key

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

cluster*

aws:ResourceTag/${TagKey}

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

container-instance*

aws:ResourceTag/${TagKey}

ecs:cluster

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

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

ecs:enable-vpc-lattice

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}

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

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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

aws:ResourceTag/${TagKey}

ecs:cluster

ecs:service

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 弹性容器服务定义了以下可在IAM策略Condition元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

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

条件键 描述 类型
aws:RequestTag/${TagKey} 按请求中传递的标签筛选访问权限 String
aws:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选访问权限 String
aws:TagKeys 按请求中传递的标签键筛选访问权限 ArrayOfString
ecs:CreateAction 按资源API创建操作的名称筛选访问权限 String
ecs:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选访问权限 String
ecs:account-setting 按亚马逊ECS账户设置名称筛选访问权限 String
ecs:capacity-provider 筛选 Amazon ECS 容量提供商ARN的访问权限 ARN
ecs:cluster 按照 Amazon ARN ECS 集群筛选访问权限 ARN
ecs:container-instances 按照 Amazon ECS 容器实例筛选访问权限 ARN ARN
ecs:container-name 按ECS任务定义中定义的 Amazon ECS 容器的名称筛选访问权限 String
ecs:enable-ebs-volumes 根据您的ECS任务或服务的亚马逊ECS托管EBS容量功能筛选访问权限 String
ecs:enable-execute-command 通过您的亚马逊任务或亚马逊ECS服务的执行命令功能筛选访问权限 ECS String
ecs:enable-service-connect 按服务连接配置中的启用字段值筛选访问权限 String
ecs:enable-vpc-lattice 通过您的 Amazon ECS 服务的VPC晶格功能筛选访问权限 String
ecs:fargate-ephemeral-storage-kms-key 根据请求中提供的 AWS KMS密钥 ID 筛选访问权限 String
ecs:namespace 按照 Service Connect 配置中定义的 of AWS Cloud Map 命名空间筛选访问权限 ARN ARN
ecs:service 筛选 Amazon ARN ECS 服务的访问权限 ARN
ecs:task 按照 Amazon ECS 任务筛选访问权限 ARN ARN
ecs:task-definition 按照 Amazon ECS 任务定义筛选访问权限 ARN ARN