本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Elastic Container Service 的操作、资源和条件键
Amazon Elastic Container Service(服务前缀:ecs
)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
主题
Amazon Elastic Container Service 定义的操作
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource
元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
CreateCapacityProvider | 授予创建新容量提供程序的权限。容量提供程序与 Amazon ECS 集群关联,在容量提供程序策略中用于协助集群的自动扩展 | Write | |||
CreateCluster | 授予创建新 Amazon ECS 集群的权限 | Write | |||
CreateService | 授予通过创建服务从指定任务定义运行和维护所需数量的任务的权限 | Write | |||
CreateTaskSet | 授予创建新 Amazon ECS 任务集的权限 | Write | |||
DeleteAccountSetting | 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源禁用新的 ARN 和资源 ID 格式。 | Write | |||
DeleteAttributes | 授予从 Amazon ECS 资源中删除一个或多个自定义属性的权限 | Write | |||
DeleteCapacityProvider | 授予删除指定容量提供程序的权限 | Write | |||
DeleteCluster | 授予权限以删除指定的集群 | Write | |||
DeleteService | 授予删除集群内的指定服务的权限 | 写入 | |||
DeleteTaskDefinitions | 授予按系列和修订删除指定任务定义的权限 | 写入 | |||
DeleteTaskSet | 授予权限以删除指定的任务集 | Write | |||
DeregisterContainerInstance | 授予从指定的集群取消注册 Amazon ECS 容器实例的权限 | Write | |||
DeregisterTaskDefinition | 授予按系列和修订取消注册指定任务定义的权限 | Write | |||
DescribeCapacityProviders | 授予描述一个或多个 Amazon ECS 容量提供商的权限 | Read | |||
DescribeClusters | 授予权限以描述一个或多个集群 | Read | |||
DescribeContainerInstances | 授予描述 Amazon ECS 容器实例的权限 | Read | |||
DescribeServices | 授予描述集群中运行的指定服务的权限 | Read | |||
DescribeTaskDefinition | 授予描述任务定义的权限。您可以指定系列和修订以查找有关特定任务定义的信息,也可以只指定系列以查找该系列中最新的有效修订 | Read | |||
DescribeTaskSets | 授予描述 Amazon ECS 任务集的权限 | Read | |||
DescribeTasks | 授予权限以描述指定任务。 | Read | |||
DiscoverPollEndpoint | 授予获得 Amazon ECS 代理的终端节点以轮询更新的权限 | Write | |||
ExecuteCommand | 授予在 Amazon ECS 容器上远程运行命令的权限 | 写入 | |||
GetTaskProtection | 授予检索 Amazon ECS 服务中任务的保护状态的权限 | 读取 | |||
ListAccountSettings | 授予权限以列出指定委托人的 Amazon ECS 资源的账户设置 | Read | |||
ListAttributes | 授予权限以列出指定目标类型和集群中的 Amazon ECS 资源的属性 | List | |||
ListClusters | 授予获取现有集群列表的权限 | List | |||
ListContainerInstances | 授予获取指定集群中容器实例列表的权限 | List | |||
ListServices | 授予获取在指定集群中运行的服务列表的权限 | 列出 | |||
ListServicesByNamespace | 授予获取在指定 AWS Cloud 地图命名空间中运行的服务列表的权限 | 列出 | |||
ListTagsForResource | 授予获取指定资源的标签列表的权限 | Read | |||
ListTaskDefinitionFamilies | 授予权限以获取注册到您的账户的任务定义系列的列表(其中可能包括不再具有任何有效任务定义的任务定义系列)。 | List | |||
ListTaskDefinitions | 授予获取注册到您的账户的任务定义列表的权限。 | List | |||
ListTasks | 授予获取指定集群的任务列表的权限 | List | |||
Poll [仅权限] | 向代理授予连接 Amazon ECS 服务以报告状态和获取命令的权限 | Write | |||
PutAccountSetting | 授权限以予修改账户的指定 IAM 用户、IAM 角色或根用户的资源的 ARN 和资源 ID 格式。您可以指定是否为创建的新资源启用新的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 | Write | |||
PutAccountSettingDefault | 授予权限以修改账户中的所有 IAM 用户(未设置单独的账户设置)的资源类型的 ARN 和资源 ID 格式。需要启用该设置才能使用新的 Amazon ECS 功能,如资源标记 | Write | |||
PutAttributes | 授予在 Amazon ECS 资源上创建或更新属性的权限 | Write | |||
PutClusterCapacityProviders | 授予修改集群的可用容量提供程序和默认的容量提供程序策略的权限 | Write | |||
RegisterContainerInstance | 授予将 EC2 实例注册到指定集群的权限 | Write | |||
RegisterTaskDefinition | 授予从提供的系列和 containerDefinitions 注册新的任务定义的权限。 | Write | |||
RunTask | 授予使用随机放置和默认的 Amazon ECS 计划程序启动任务的权限 | Write |
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 | 授予修改设置以用于集群的权限 | Write | |||
UpdateContainerAgent | 授予更新指定容器实例上的 Amazon ECS 容器代理的权限 | Write | |||
UpdateContainerInstancesState | 授予用户修改 Amazon ECS 容器实例的状态的权限 | Write | |||
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}
|
|
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 Elastic Container Service 定义以下可以在 IAM policy 的 Condition
元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
条件键 | 描述 | 类型 |
---|---|---|
aws:RequestTag/${TagKey} | 按请求中传递的标签筛选访问权限 | String |
aws:ResourceTag/${TagKey} | 按附加到资源的标签键值对筛选访问权限 | String |
aws:TagKeys | 按请求中传递的标签键筛选访问权限 | ArrayOf字符串 |
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:fargate-ephemeral-storage-kms-key | 按请求中提供的 AWS KMS 密钥 ID 筛选访问权限 | String |
ecs:namespace | 按照 Service Connect 配置中定义 AWS Cloud 的地图命名空间的 ARN 筛选访问权限 | ARN |
ecs:service | 按 Amazon ECS 服务的 ARN 筛选访问权限 | ARN |
ecs:task | 按 Amazon ECS 任务的 ARN 筛选访问权限 | ARN |
ecs:task-definition | 按 Amazon ECS 任务定义的 ARN 筛选访问权限 | ARN |