更新时间:2026-10-08 GMT+08:00
分享

身份策略授权参考

云服务在IAM预置了常用的权限,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。

除IAM服务外,Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。

IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别。

本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

操作(Action)

操作(Action)即为身份策略中支持的授权项。

  • “访问级别”列描述如何对操作进行分类(List、Read和Write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于AICS定义的资源类型的详细信息请参见资源类型(Resource)。

  • “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于AICS定义的条件键的详细信息请参见条件(Condition)。

  • “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明。

您可以在身份策略语句的Action元素中指定以下AICS的相关操作。

表1 AICS支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

aics::listClusters

授予查询集群列表的权限。

List

-

-

-

aics::getCluster

授予查询集群详情的权限。

Read

-

-

-

aics::deleteCluster

授予删除集群的权限。

Write

-

-

-

aics:hypernode:create

授予创建超节点的权限。

Write

hypernode *

-

-

-

aics:hypernode:list

授予查询超节点列表的权限。

List

hypernode *

-

-

aics:hypernode:get

授予查询超节点详情的权限。

Read

hypernode *

g:ResourceTag/<tag-key>

-

aics:hypernode:updateMetadata

授予更新超节点元数据的权限。

Write

hypernode *

g:ResourceTag/<tag-key>

-

aics:hypernode:deleteMetadata

授予删除超节点元数据的权限。

Write

hypernode *

g:ResourceTag/<tag-key>

-

aics:node:list

授予查询节点列表的权限。

List

node *

-

-

hypernode

-

-

aics:node:get

授予查询节点详情的权限。

Read

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:stop

授予节点关机的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:start

授予节点开机的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:reimage

授予节点切换操作系统镜像的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:reinstall

授予节点重装操作系统的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:reboot

授予节点重启的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:attachVolume

授予节点绑定磁盘的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:detachVolume

授予节点解绑磁盘的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:attachInterface

授予节点绑定网卡的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:detachInterface

授予节点解绑网卡的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:bindPublicip

授予节点绑定弹性公网IP的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:unbindPublicip

授予节点解绑弹性公网IP的权限。

Write

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:hypernode:listTags

授予查询hypernode标签集合的权限。

List

-

-

-

aics:hypernode:listResourcesByTag

授予按标签统计hypernode资源数量、列举hypernode资源实例的权限。

List

-

g:TagKeys

-

aics:hypernode:listTagsForResource

授予查询单个hypernode标签详情的权限。

List

hypernode *

g:ResourceTag/<tag-key>

-

aics:hypernode:tagResource

授予创建或覆盖hypernode标签的权限。

Tagging

hypernode *

g:ResourceTag/<tag-key>

-

-

aics:hypernode:unTagResource

授予删除hypernode标签的权限。

Tagging

hypernode *

g:ResourceTag/<tag-key>

-

-

aics:node:listTags

授予查询node标签集合的权限。

List

-

-

-

aics:node:listResourcesByTag

授予按标签统计node资源数量、列举node资源实例的权限。

List

-

g:TagKeys

-

aics:node:listTagsForResource

授予查询单个node标签详情的权限。

List

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

aics:node:tagResource

授予创建或覆盖node标签的权限。

Tagging

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

-

aics:node:unTagResource

授予删除node标签的权限。

Tagging

node *

g:ResourceTag/<tag-key>

-

hypernode

g:ResourceTag/<tag-key>

-

aics::createCluster

授予创建集群的权限。

Write

-

-

-

aics::listImages

授予查询镜像列表的权限。

List

-

-

-

aics::listHypernodeTypes

授予查询超节点规格列表的权限。

List

-

-

-

aics::getHypernodeType

授予查询超节点规格详情的权限。

Read

-

-

-

aics::listSoftware

授予查询软件列表的权限。

List

-

-

-

aics::listOperations

授予查询操作记录列表的权限。

List

-

-

-

aics::getOperation

授予查询操作记录详情的权限。

Read

-

-

-

aics::listScheduledEvents

授予查询计划事件列表的权限。

List

-

-

-

aics::acceptScheduledEvent

授予接受并授权执行计划事件操作的权限。

Write

-

-

-

aics::listClusterCapacityEvaluation

授予查询集群可售情况的权限。

List

-

-

-

aics::listCapacityEvaluation

授予查询指定超节点规格可售情况的权限。

List

-

-

-

aics::listFeatureConfigs

授予查询特性配置的权限。

List

-

-

-

aics::listHyperGroupCapacityEvaluation

授予查询超节点组可售情况的权限。

List

-

-

-

aics::listHyperGroups

授予查询超节点组列表的权限。

List

-

-

-

AICS的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

POST /v2/{project_id}/hypernodes

aics:hypernode:create

  • ecs:cloudServers:listServersDetails
  • ecs:cloudServerQuotas:get
  • kps:SSHKeyPair:get
  • evs:types:get
  • evs:quotas:get
  • vpc:subnets:get
  • vpc:securityGroups:list
  • ecs:cloudServers:createServers
  • ecs:cloudServers:showServer
  • ecs:cloudServers:updateMetadata
  • evs:volumes:create
  • evs:volumes:get

GET /v2/{project_id}/hypernodes

aics:hypernode:list

-

GET /v2/{project_id}/hypernodes/{hypernode_id}

aics:hypernode:get

-

POST /v2/{project_id}/hypernodes/{hypernode_id}/metadata

aics:hypernode:updateMetadata

-

DELETE /v2/{project_id}/hypernodes/{hypernode_id}/metadata/{key}

aics:hypernode:deleteMetadata

-

GET /v2/{project_id}/nodes

aics:node:list

eip:publicIps:list

GET /v2/{project_id}/nodes/{node_id}

aics:node:get

eip:publicIps:list

POST /v2/{project_id}/nodes/batch-stop

aics:node:stop

  • ecs:cloudServers:showServer
  • ecs:cloudServers:stop

POST /v2/{project_id}/nodes/batch-start

aics:node:start

  • ecs:cloudServers:showServer
  • ecs:cloudServers:start

POST /v2/{project_id}/nodes/batch-reimage

aics:node:reimage

  • kps:SSHKeyPair:get
  • ecs:cloudServers:showServer
  • ecs:cloudServers:start
  • ecs:cloudServers:attach
  • ecs:cloudServers:detachVolume

POST /v2/{project_id}/nodes/batch-reinstall

aics:node:reinstall

  • kps:SSHKeyPair:get
  • ecs:cloudServers:showServer
  • ecs:cloudServers:start
  • ecs:cloudServers:attach
  • ecs:cloudServers:detachVolume

POST /v2/{project_id}/nodes/batch-reboot

aics:node:reboot

  • ecs:cloudServers:showServer
  • ecs:cloudServers:reboot

POST /v2/{project_id}/nodes/{node_id}/volume-attachments

aics:node:attachVolume

  • evs:volumes:get
  • ecs:cloudServers:attach
  • ecs:cloudServers:updateServerBlockDevice

DELETE /v2/{project_id}/nodes/{node_id}/volume-attachments/{volume_id}

aics:node:detachVolume

ecs:cloudServers:detachVolume

POST /v2/{project_id}/nodes/{node_id}/interface-attachments

aics:node:attachInterface

  • vpc:subnets:get
  • vpc:securityGroups:list
  • vpc:ports:get
  • vpc:ports:create
  • vpc:ports:delete
  • ecs:cloudServers:addNics

DELETE /v2/{project_id}/nodes/{node_id}/interface-attachments/{port_id}

aics:node:detachInterface

ecs:cloudServerNics:delete

POST /v2/{project_id}/nodes/{node_id}/publicips

aics:node:bindPublicip

  • eip:publicIps:get
  • eip:publicIps:associateInstance

DELETE /v2/{project_id}/nodes/{node_id}/publicips/{publicip_id}

aics:node:unbindPublicip

  • eip:publicIps:get
  • eip:publicIps:disassociateInstance

GET /v2/{project_id}/hypernodes/tags

aics:hypernode:listTags

-

GET /v2/{project_id}/nodes/tags

aics:node:listTags

-

POST /v2/{project_id}/hypernodes/resource-instances/count

aics:hypernode:listResourcesByTag

-

POST /v2/{project_id}/nodes/resource-instances/count

aics:node:listResourcesByTag

-

POST /v2/{project_id}/hypernodes/resource-instances/filter

aics:hypernode:listResourcesByTag

-

POST /v2/{project_id}/nodes/resource-instances/filter

aics:node:listResourcesByTag

-

GET /v2/{project_id}/hypernodes/{hypernode_id}/tags

aics:hypernode:listTagsForResource

-

GET /v2/{project_id}/nodes/{node_id}/tags

aics:node:listTagsForResource

-

POST /v2/{project_id}/hypernodes/{hypernode_id}/tags/create

aics:hypernode:tagResource

-

POST /v2/{project_id}/nodes/{node_id}/tags/create

aics:node:tagResource

-

POST /v2/{project_id}/hypernodes/{hypernode_id}/tags/delete

aics:hypernode:unTagResource

-

POST /v2/{project_id}/nodes/{node_id}/tags/delete

aics:node:unTagResource

-

POST /v2/{project_id}/clusters

aics::createCluster

ecs:cloudServers:listServersDetails

GET /v2/{project_id}/clusters

aics::listClusters

-

GET /v2/{project_id}/clusters/{cluster_id}

aics::getCluster

-

DELETE /v2/{project_id}/clusters/{cluster_id}

aics::deleteCluster

-

GET /v2/{project_id}/images

aics::listImages

-

GET /v2/{project_id}/hypernode-types

aics::listHypernodeTypes

-

GET /v2/{project_id}/hypernode-types/{hypernode_type_id}

aics::getHypernodeType

-

GET /v2/{project_id}/software

aics::listSoftware

-

GET /v2/{project_id}/operations

aics::listOperations

-

GET /v2/{project_id}/operations/{operation_id}

aics::getOperation

-

GET /v2/{project_id}/scheduled-events

aics::listScheduledEvents

-

POST /v2/{project_id}/scheduled-events/{schedule_event_id}/accept

aics::acceptScheduledEvent

-

GET /v2/{project_id}/cluster-capacity-evaluation

aics::listClusterCapacityEvaluation

-

GET /v2/{project_id}/capacity-evaluation

aics::listCapacityEvaluation

-

GET /v2/{project_id}/feature-configs

aics::listFeatureConfigs

-

GET /v2/{project_id}/hyper-group-capacity-evaluation

aics::listHyperGroupCapacityEvaluation

-

GET /v2/{project_id}/hyper-groups

aics::listHyperGroups

-

资源类型(Resource)

资源类型(Resource)用于定义身份策略生效的资源范围。如表3中某项操作已指定了对应的资源类型,则在包含该操作的身份策略语句中选择填写对应资源的URN时,身份策略仅对该指定资源生效;未填写对应资源的URN时,身份策略将对指定资源类型下所有资源生效;如未指定资源类型,Resource默认取值为“*”,身份策略将作用于所有资源。此外,您也可在身份策略中设置条件,进一步精细化限定资源类型。

AICS定义了以下可以在自定义身份策略的Resource元素中使用的资源类型。

表3 AICS支持的资源类型

资源类型

URN

hypernode

aics:<region>:<account-id>:hypernode:<hypernode-id>

node

aics:<region>:<account-id>:node:<node-id>

条件(Condition)

AICS服务不支持在身份策略中的条件键中配置服务级的条件键。AICS可以使用适用于所有服务的全局条件键,请参考全局条件键。

相关文档