本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Elastic Container Service 的操作、资源和条件键
Amazon 弹性容器服务(服务前缀:ecs
)提供以下特定于服务的资源、操作和条件上下文密钥,用于IAM权限策略。
参考:
-
了解如何配置该服务。
-
查看此服务可用的API操作列表。
-
了解如何使用IAM权限策略保护此服务及其资源。
主题
Amazon Elastic Container Service 定义的操作
您可以在IAM策略声明的Action
元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。当您在策略中使用操作时,通常会允许或拒绝访问具有相同名称的API操作或CLI命令。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。如果该列包含资源类型,则可以在带有该操作ARN的语句中指定该类型的资源类型。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您使用IAM策略中的Resource
元素限制资源访问权限,则必须为每种必需的资源类型包含ARN或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
CreateCapacityProvider | 授予创建新容量提供程序的权限。容量提供程序与 Amazon ECS 集群相关联,用于容量提供商策略,以促进集群的自动扩展 | 写入 | |||
CreateCluster | 授予创建新 Amazon ECS 集群的权限 | 写入 | |||
CreateService | 授予通过创建服务从指定任务定义运行和维护所需数量的任务的权限 | 写入 | |||
CreateTaskSet | 授予创建新 Amazon ECS 任务集的权限 | 写入 | |||
DeleteAccountSetting | 为指定IAM用户ARN、IAM角色或账户的 root 用户授予修改资源和资源 ID 格式的权限。您可以指定是否为新创建的资源禁用新资源ARN和资源 ID 格式 | 写入 | |||
DeleteAttributes | 授予从 Amazon ECS 资源中删除一个或多个自定义属性的权限 | 写入 | |||
DeleteCapacityProvider | 授予删除指定容量提供程序的权限 | Write | |||
DeleteCluster | 授予权限以删除指定的集群 | Write | |||
DeleteService | 授予删除集群内的指定服务的权限 | 写入 | |||
DeleteTaskDefinitions | 授予按系列和修订删除指定任务定义的权限 | 写入 | |||
DeleteTaskSet | 授予权限以删除指定的任务集 | 写入 | |||
DeregisterContainerInstance | 授予从指定集群注销 Amazon ECS 容器实例的权限 | 写入 | |||
DeregisterTaskDefinition | 授予按系列和修订取消注册指定任务定义的权限 | 写入 | |||
DescribeCapacityProviders | 授予描述一个或多个 Amazon ECS 容量提供商的权限 | 读取 | |||
DescribeClusters | 授予权限以描述一个或多个集群 | 读取 | |||
DescribeContainerInstances | 授予描述 Amazon ECS 容器实例的权限 | 读取 | |||
DescribeServiceDeployments | 授予描述您的一个或多个服务部署的权限 | 读取 | |||
DescribeServiceRevisions | 授予描述您的一个或多个服务修订的权限 | 读取 | |||
DescribeServices | 授予描述集群中运行的指定服务的权限 | Read | |||
DescribeTaskDefinition | 授予描述任务定义的权限。您可以指定族和修订版来查找有关特定任务定义的信息,也可以直接指定系列以查找该系列中的最新ACTIVE修订版 | 读取 | |||
DescribeTaskSets | 授予描述 Amazon ECS 任务集的权限 | 读取 | |||
DescribeTasks | 授予权限以描述指定任务。 | 读取 | |||
DiscoverPollEndpoint | 授予获取终端节点的权限,让 Amazon ECS 代理可以轮询更新 | 写入 | |||
ExecuteCommand | 授予在 Amazon ECS 容器上远程运行命令的权限 | 写入 | |||
GetTaskProtection | 授予检索 Amazon ECS 服务中任务保护状态的权限 | 读取 | |||
ListAccountSettings | 授予列出指定委托人的 Amazon ECS 资源的账户设置的权限 | 读取 | |||
ListAttributes | 授予列出指定目标类型和集群内的 Amazon ECS 资源属性的权限 | 列出 | |||
ListClusters | 授予获取现有集群列表的权限 | List | |||
ListContainerInstances | 授予获取指定集群中容器实例列表的权限 | 列出 | |||
ListServiceDeployments | 授予获取指定服务的服务部署列表的权限 | 列出 | |||
ListServices | 授予获取在指定集群中运行的服务列表的权限 | 列出 | |||
ListServicesByNamespace | 授予获取在指定 AWS Cloud 地图命名空间中运行的服务列表的权限 | 列出 | |||
ListTagsForResource | 授予获取指定资源的标签列表的权限 | 读取 | |||
ListTaskDefinitionFamilies | 授予获取已注册到您的账户的任务定义系列列表的权限(其中可能包括不再有任何任务定义的ACTIVE任务定义系列) | 列出 | |||
ListTaskDefinitions | 授予获取注册到您的账户的任务定义列表的权限。 | List | |||
ListTasks | 授予获取指定集群的任务列表的权限 | List | |||
Poll[仅权限] | 向代理授予连接 Amazon ECS 服务以报告状态和获取命令的权限 | 写入 | |||
PutAccountSetting | 为指定IAM用户ARN、IAM角色或账户的 root 用户授予修改资源和资源 ID 格式的权限。您可以指定是否为创建的新资源启用新资源ARN和资源 ID 格式。必须启用此设置才能使用 Amazon 的新ECS功能,例如资源标记 | 写入 | |||
PutAccountSettingDefault | 向未设置个人账户设置的账户上的所有IAM用户授予修改资源类型ARN和资源 ID 格式的权限。必须启用此设置才能使用 Amazon 的新ECS功能,例如资源标记 | 写入 | |||
PutAttributes | 授予在 Amazon ECS 资源上创建或更新属性的权限 | 写入 | |||
PutClusterCapacityProviders | 授予修改集群的可用容量提供程序和默认的容量提供程序策略的权限 | 写入 | |||
RegisterContainerInstance | 授予将EC2实例注册到指定集群的权限 | 写入 | |||
RegisterTaskDefinition | 授予注册来自所提供家族的新任务定义的权限 containerDefinitions | 写入 | |||
RunTask | 授予使用随机放置和默认 Amazon ECS 计划程序启动任务的权限 | 写入 |
iam:PassRole |
||
StartTask | 授予从指定的一个或多个容器实例上的指定任务定义启动新任务的权限 | Write |
iam:PassRole |
||
StartTelemetrySession | 授予权限以启动遥测会话 | Write | |||
StopTask | 授予权限以停止正在运行的任务 | Write | |||
SubmitAttachmentStateChanges | 授予发送附件更改状态的确认的权限 | Write | |||
SubmitContainerStateChange | 授予发送容器更改状态的确认的权限 | Write | |||
SubmitTaskStateChange | 授予发送任务更改状态的确认的权限 | Write | |||
TagResource | 授予标记指定资源的权限 | Tagging | |||
UntagResource | 授予取消标记指定资源的权限 | Tagging | |||
UpdateCapacityProvider | 授予更新指定容量提供程序的权限 | Write | |||
UpdateCluster | 授予修改要用于集群的配置或设置的权限 | Write | |||
UpdateClusterSettings | 授予修改设置以用于集群的权限 | 写入 | |||
UpdateContainerAgent | 授予在指定容器实例上更新 Amazon ECS 容器代理的权限 | 写入 | |||
UpdateContainerInstancesState | 向用户授予修改 Amazon ECS 容器实例状态的权限 | 写入 | |||
UpdateService | 授予权限以修改服务的参数 | Write | |||
UpdateServicePrimaryTaskSet | 授予修改服务中使用的主任务集的权限 | 写入 | |||
UpdateTaskProtection | 授予修改任务的保护状态的权限 | 写入 | |||
UpdateTaskSet | 授予更新指定任务集的权限 | Write | |||
Amazon Elastic Container Service 定义的资源类型
以下资源类型由此服务定义,可以在IAM权限策略语句的Resource
元素中使用。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
资源类型 | ARN | 条件键 |
---|---|---|
cluster |
arn:${Partition}:ecs:${Region}:${Account}:cluster/${ClusterName}
|
|
container-instance |
arn:${Partition}:ecs:${Region}:${Account}:container-instance/${ClusterName}/${ContainerInstanceId}
|
|
service |
arn:${Partition}:ecs:${Region}:${Account}:service/${ClusterName}/${ServiceName}
|
|
service-deployment |
arn:${Partition}:ecs:${Region}:${Account}:service-deployment/${ClusterName}/${ServiceName}/${ServiceDeploymentId}
|
|
service-revision |
arn:${Partition}:ecs:${Region}:${Account}:service-revision/${ClusterName}/${ServiceName}/${ServiceRevisionId}
|
|
task |
arn:${Partition}:ecs:${Region}:${Account}:task/${ClusterName}/${TaskId}
|
|
task-definition |
arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}:${TaskDefinitionRevisionNumber}
|
|
capacity-provider |
arn:${Partition}:ecs:${Region}:${Account}:capacity-provider/${CapacityProviderName}
|
|
task-set |
arn:${Partition}:ecs:${Region}:${Account}:task-set/${ClusterName}/${ServiceName}/${TaskSetId}
|
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 |