Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon ECS API 操作支持的资源级权限

资源级权限 一词是指指定允许用户对哪些资源执行操作的能力。Amazon ECS 对资源级权限提供部分支持。这意味着对于某些 Amazon ECS 操作,您可以控制何时允许用户执行操作(基于必须满足的条件)或是允许用户使用的特定资源。例如,您可以为用户授予启动实例的权限,但是仅限特定类型的实例,并且只能使用特定的 AMI。

有关资源级权限的注意事项

当通过在 IAM 策略中指定资源的 Amazon 资源名称 (ARN) 来控制对 Amazon ECS API 操作的访问时,请记住,ECS 引入了一个账户设置,该设置会影响容器实例、服务和任务的 ARN 格式。要使用资源级权限,我们建议您选择使用新的、更长的 ARN 格式。有关更多信息,请参阅 Amazon 资源名称 (ARN) 和 ID

在评估 IAM 策略时,根据指定资源对新的、更长的 ARN 格式的使用来评估这些资源。以下是访问控制方式的示例。

使用通配符指定仅具有集群的服务

示例:arn:aws:ecs:region:aws_account_id:service/cluster_name*

在此示例中,将控制对以下服务的访问:

  • cluster_name* 集群中所有使用新 ARN 格式的服务。

  • cluster_name* 集群中所有使用旧 ARN 格式的服务。

重要

这将不会控制对使用旧 ARN 格式、具有前缀为 cluster_name 的服务名称且不在 cluster_name* 集群中的服务的访问。

使用通配符指定同时具有集群和服务名称的服务

示例:arn:aws:ecs:region:aws_account_id:service/cluster_name/service_name*

在此示例中,将控制对以下服务的访问:

  • cluster_name 集群中所有使用新 ARN 格式的服务(具有 service_name 前缀)。

  • cluster_name 集群中所有使用旧 ARN 格式的服务(具有 service_name 前缀),即使服务的实际 ARN 仍将采用 arn:aws:ecs:region:aws_account_id:service/service_name* ARN 格式。

指定具有完整 ARN 的服务

示例:arn:aws:ecs:region:aws_account_id:service/cluster_name/service_name

在此示例中,将控制对以下服务的访问:

  • cluster_name 集群中所有使用新 ARN 格式的服务(具有 service_name 服务名称)。

  • cluster_name 集群中所有使用旧 ARN 格式的服务(具有 service_name 服务名称),即使服务的实际 ARN 仍将采用 arn:aws:ecs:region:aws_account_id:service/service_name ARN 格式。

资源级权限

下表介绍当前支持资源级权限的 Amazon ECS API 操作,以及每个操作支持的资源、资源 ARN 和条件密钥。

重要

如果此表中的 Amazon ECS API 操作未针对 ResourceCondition keys 标记为 N/A,则它不支持资源级权限。您可以向用户授予使用该操作的权限,但应为策略语句的资源元素指定 *

API 操作

资源

条件键

CreateCluster

不适用

aws:RequestTag/${TagKey}

aws:TagKeys

CreateService

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:RequestTag/${TagKey}

aws:ResourceTag

ecs:ResourceTag

ecs:task-definition

ecs:cluster

aws:TagKeys

CreateTaskSet

不适用

ecs:service

ecs:task-definition

ecs:cluster

DeleteAccountSetting

不适用

不适用

DeleteAttributes

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

DeleteCluster

集群

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

DeleteService

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

DeleteTaskSet

TaskSet

arn:aws:ecs:region:aws_account_id:cluster/service-name/taskset-id

ecs:service

ecs:cluster

DeregisterContainerInstance

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

DeregisterTaskDefinition

不适用

不适用

DescribeClusters

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster1, arn:aws:ecs:region:aws_account_id:cluster/my-cluster2

aws:ResourceTag

ecs:ResourceTag

DescribeContainerInstances

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

DescribeServices

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

DescribeTaskDefinition

不适用

不适用

DescribeTasks

Task

arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

DescribeTaskSets

TaskSet

arn:aws:ecs:region:aws_account_id:cluster/service-name/taskset-id

ecs:service

ecs:cluster

DiscoverPollEndpoint

不适用

不适用

ListAccountSettings

不适用

不适用

ListAttributes

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

ListClusters

不适用

不适用

ListContainerInstances

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

ListServices

不适用

ecs:cluster

ListTagsForResource

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Task

arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

任务定义

arn:aws:ecs:region:aws_account_id:task-definition/hello_world:8

aws:ResourceTag

ecs:ResourceTag

ListTaskDefinitionFamilies

不适用

不适用

ListTaskDefinitions

不适用

不适用

ListTasks

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

轮询

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

PutAccountSetting

不适用

不适用

PutAccountSettingDefault

不适用

不适用

PutAttributes

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

RegisterContainerInstance

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:RequestTag/${TagKey}

aws:ResourceTag

ecs:ResourceTag

aws:TagKeys

RegisterTaskDefinition

不适用

aws:RequestTag/${TagKey}

aws:TagKeys

RunTask

任务定义

arn:aws:ecs:region:aws_account_id:task-definition/hello_world:8

aws:RequestTag/${TagKey}

aws:ResourceTag

ecs:ResourceTag

aws:TagKeys

ecs:cluster

StartTask

任务定义

arn:aws:ecs:region:aws_account_id:task-definition/hello_world:8

aws:RequestTag/${TagKey}

aws:ResourceTag

ecs:ResourceTag

aws:TagKeys

ecs:cluster

ecs:container-instances

StartTelemetrySession

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

StopTask

Task

arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

SubmitContainerStateChange

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

SubmitTaskStateChange

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

aws:ResourceTag

ecs:ResourceTag

TagResource

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Task

arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

任务定义

arn:aws:ecs:region:aws_account_id:task-definition/hello_world:8

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:RequestTag/${TagKey}

aws:ResourceTag

ecs:ResourceTag

aws:TagKeys

UntagResource

群集

arn:aws:ecs:region:aws_account_id:cluster/my-cluster

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Task

arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

任务定义

arn:aws:ecs:region:aws_account_id:task-definition/hello_world:8

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:ResourceTag

ecs:ResourceTag

aws:TagKeys

UpdateContainerAgent

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

UpdateContainerInstancesState

Container instance

arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

UpdateService

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

ecs:task-definition

UpdateServicePrimaryTaskSet

Service

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

aws:ResourceTag

ecs:ResourceTag

ecs:cluster

UpdateTaskSet

TaskSet

arn:aws:ecs:region:aws_account_id:cluster/service-name/taskset-id

ecs:cluster

ecs:service