更新时间:2026-02-03 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。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

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

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

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

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

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

表1 IEF支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

ief:application:create

授予创建应用模板的权限。

Write

application *

-

-

-

ief:IefInstanceId

ief:application:delete

授予删除应用模板的权限。

Write

application *

-

-

-

ief:IefInstanceId

ief:application:get

授予查询应用模板详情的权限。

Read

application *

-

-

-

ief:IefInstanceId

ief:application:list

授予查询应用模板列表的权限。

List

application *

-

-

-

ief:IefInstanceId

ief:application:update

授予更新应用模板的权限。

Write

application *

-

-

-

ief:IefInstanceId

ief:appversion:create

授予创建应用模板版本的权限。

Write

appversion *

-

-

-

ief:IefInstanceId

ief:appversion:delete

授予删除应用模板版本的权限。

Write

appversion *

-

-

-

ief:IefInstanceId

ief:appversion:get

授予查询应用模板版本详情的权限。

Read

appversion *

-

-

-

ief:IefInstanceId

ief:appversion:list

授予查询应用模板版本列表的权限。

List

appversion *

-

-

-

ief:IefInstanceId

ief:appversion:update

授予更新应用模板版本的权限。

Write

appversion *

-

-

-

ief:IefInstanceId

ief:batchjob:create

授予创建批量处理任务的权限。

Write

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:delete

授予删除批量处理任务的权限。

Write

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:get

授予查询批量处理任务详情的权限。

Read

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:list

授予查询批量处理任务列表的权限。

List

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:pause

授予停止批量处理任务的权限。

Write

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:restore

授予恢复批量处理任务的权限。

Write

batchjob *

-

-

-

ief:IefInstanceId

ief:batchjob:retry

授予重试批量处理任务的权限。

Write

batchjob *

-

-

-

ief:IefInstanceId

ief:configmap:create

授予创建配置项的权限。

Write

iefinstance *

-

-

ief:configmap:delete

授予删除配置项的权限。

Write

iefinstance *

-

-

ief:configmap:get

授予查询配置项详情的权限。

Read

iefinstance *

-

-

ief:configmap:list

授予查询配置项列表的权限。

List

iefinstance *

-

-

ief:configmap:update

授予更新配置项的权限。

Write

iefinstance *

-

-

ief:service:create

授予创建服务的权限。

Write

iefinstance *

-

-

ief:service:delete

授予删除服务的权限。

Write

iefinstance *

-

-

ief:service:list

授予查询服务列表的权限。

List

iefinstance *

-

-

ief:service:get

授予查询服务详情的权限。

Read

iefinstance *

-

-

ief:service:update

授予更新服务的权限。

Write

iefinstance *

-

-

ief:device:create

授予创建终端设备的权限。

Write

iefinstance *

-

-

ief:device:delete

授予删除终端设备的权限。

Write

iefinstance *

-

-

ief:device:get

授予查询终端设备详情的权限。

Read

iefinstance *

-

-

ief:device:list

授予查询终端设备列表的权限。

List

iefinstance *

-

-

ief:device:update

授予更新终端设备的权限。

Write

iefinstance *

-

-

ief:device:createTemplate

授予创建终端设备模版的权限。

Write

iefinstance *

-

ief:devicetemplate:create

ief:device:deleteTemplate

授予删除终端设备模板的权限。

Write

iefinstance *

-

ief:devicetemplate:delete

ief:device:listTemplate

授予查询终端设备模板列表的权限。

List

iefinstance *

-

ief:devicetemplate:list

ief:device:getTemplate

授予查询终端设备模板详情的权限。

Read

iefinstance *

-

ief:devicetemplate:get

ief:device:updateTemplate

授予更新终端设备模板详情的权限。

Write

iefinstance *

-

ief:devicetemplate:update

ief:endpoint:create

授予创建消息端点的权限。

Write

iefinstance *

-

-

ief:endpoint:delete

授予删除消息端点的权限。

Write

iefinstance *

-

-

ief:endpoint:get

授予查询消息端点详情的权限。

Read

iefinstance *

-

-

ief:endpoint:list

授予查询消息端点列表的权限。

List

iefinstance *

-

-

ief:agency:create

授予创建服务委托的权限。

Write

iefinstance *

-

-

ief:quota:get

授予查询配额的权限。

Read

iefinstance *

-

ief:quota:get

ief:plugin:getVersion

授予查询插件版本详情的权限。

Read

iefinstance *

-

-

ief:rule:create

授予创建消息路由的权限。

Write

iefinstance *

-

-

ief:rule:delete

授予删除消息路由的权限。

Write

iefinstance *

-

-

ief:iefinstance:create

授予创建铂金版集群的权限。

Write

iefinstance *

-

-

ief:iefinstance:delete

授予删除铂金版集群的权限。

Write

iefinstance *

-

-

ief:iefinstance:get

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

Read

iefinstance *

-

-

ief:iefinstance:list

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

List

iefinstance *

-

-

ief:rule:listError

授予查询消息路由错误列表的权限。

List

iefinstance *

-

ief:rule:list

ief:rule:get

授予查询消息路由详情的权限。

Read

iefinstance *

-

-

ief:rule:listRule

授予查询消息路由列表的权限。

List

iefinstance *

-

ief:rule:list

ief:rule:stop

授予停用消息路由的权限。

Write

iefinstance *

-

ief:rule:update

ief:rule:start

授予启用消息路由的权限。

Write

iefinstance *

-

ief:rule:update

ief:systemEvent:create

授予创建系统订阅的权限。

Write

iefinstance *

-

-

ief:systemEvent:delete

授予删除系统订阅的权限。

Write

iefinstance *

-

-

ief:systemEvent:get

授予查询系统订阅详情的权限。

Read

iefinstance *

-

-

ief:systemEvent:list

授予查询系统订阅列表的权限。

List

iefinstance *

-

-

ief:systemEvent:stop

授予停用系统订阅的权限。

Write

iefinstance *

-

ief:systemEvent:update

ief:systemEvent:start

授予启用系统订阅的权限。

Write

iefinstance *

-

ief:systemEvent:update

ief:secret:create

授予创建密钥的权限。

Write

iefinstance *

-

-

ief:secret:delete

授予删除密钥的权限。

Write

iefinstance *

-

-

ief:secret:get

授予查询密钥详情的权限。

Read

iefinstance *

-

-

ief:secret:list

授予查询密钥列表的权限。

List

iefinstance *

-

-

ief:secret:update

授予更新密钥的权限。

Write

iefinstance *

-

-

ief:secureSecret:create

授予创建加密数据的权限。

Write

iefinstance *

-

-

ief:secureSecret:delete

授予删除加密数据的权限。

Write

iefinstance *

-

-

ief:secureSecret:list

授予查询加密数据列表的权限。

List

iefinstance *

-

-

ief:secureSecret:get

授予查询加密数据详情的权限。

Read

iefinstance *

-

-

ief:secureSecret:update

授予更新加密数据的权限。

Write

iefinstance *

-

-

ief::tagResource

授予批量修改或创建标签的权限。

Tagging

node *

g:ResourceTag/<tag-key>

ief:tag:batchAction

-

ief::unTagResource

授予删除标签的权限。

Tagging

node *

g:ResourceTag/<tag-key>

ief:tag:delete

-

ief::listTagsForResource

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

List

node *

g:ResourceTag/<tag-key>

ief:tag:get

-

ief:IefInstanceId

ief::listResourcesByTag

授予查询资源实例的权限。

List

node *

-

ief:tag:listResourceInstance

-

ief::listTags

授予查询标签列表的权限。

List

node *

-

ief:tag:list

-

ief:IefInstanceId

ief:group:bindNode

授予向边缘节点组添加节点的权限。

Write

group *

-

-

-

ief:IefInstanceId

ief:group:createNodeGroup

授予创建边缘节点组的权限。

Write

group *

-

ief:group:create

-

ief:IefInstanceId

ief:group:deleteNodeGroup

授予删除边缘节点组的权限。

Write

group *

-

ief:group:delete

-

ief:IefInstanceId

ief:group:updateNodeGroup

授予更新边缘节点组的权限。

Write

group *

-

ief:group:update

-

ief:IefInstanceId

ief:group:getNodeGroup

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

Read

group *

-

ief:group:get

-

ief:IefInstanceId

ief:group:listNodeGroup

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

List

group *

-

ief:group:list

-

ief:IefInstanceId

ief:group:listGroupInstanceState

授予查询边缘节点组状态的权限。

List

group *

-

-

-

ief:IefInstanceId

ief:group:createCert

授予创建边缘节点组证书的权限。

Write

group *

-

ief:group:create

-

ief:IefInstanceId

ief:group:deleteCert

授予删除边缘节点组证书的权限。

Write

group *

-

ief:group:delete

-

ief:IefInstanceId

ief:group:listCert

授予查询边缘节点组证书列表的权限。

List

group *

-

ief:group:list

-

ief:IefInstanceId

ief:group:getCert

授予查询边缘节点组证书详情的权限。

Read

group *

-

ief:group:get

-

ief:IefInstanceId

ief:deployment:create

授予创建部署的权限。

Write

deployment *

-

-

-

ief:IefInstanceId

ief:deployment:delete

授予删除部署的权限。

Write

deployment *

-

-

-

ief:IefInstanceId

ief:deployment:get

授予查询应用部署的权限。

Read

deployment *

-

-

-

ief:IefInstanceId

ief:deployment:list

授予查询应用实例列表的权限。

List

deployment *

-

-

-

ief:IefInstanceId

ief:deployment:update

授予更新应用部署的权限。

Write

deployment *

-

-

-

ief:IefInstanceId

ief:node:action

授予启动或停用边缘节点的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:bindDevices

授予绑定设备的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:create

授予创建边缘节点的权限。

Write

node *

-

-

-

ief:node:createNodeCert

授予创建边缘节点证书的权限。

Write

node *

-

-

-

ief:node:delete

授予删除边缘节点的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:deleteNodeCert

授予删除边缘节点证书的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:get

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

Read

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:list

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

List

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:listNodeCert

授予查询边缘节点证书列表的权限。

List

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:maintain

授予维护边缘节点的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:update

授予更新边缘节点的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:node:upgrade

授予升级边缘节点的权限。

Write

node *

g:ResourceTag/<tag-key>

-

-

ief:IefInstanceId

ief:product:create

授予创建产品的权限。

Write

product *

-

-

-

ief:IefInstanceId

ief:product:delete

授予删除产品的权限。

Write

product *

-

-

-

ief:IefInstanceId

ief:product:get

授予查询产品信息的权限。

Read

product *

-

-

-

ief:IefInstanceId

ief:product:list

授予查询产品列表信息的权限。

List

product *

-

-

-

ief:IefInstanceId

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

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

POST /v2/{project_id}/edgemgr/apps

ief:application:create

-

DELETE /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:delete

-

GET /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:get

-

GET /v2/{project_id}/edgemgr/apps

ief:application:list

-

PUT /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:update

-

POST /v2/{project_id}/edgemgr/apps/{app_id}/versions

ief:appversion:create

-

DELETE /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appversion:delete

-

GET /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appversion:get

-

GET /v2/{project_id}/edgemgr/apps/{app_id}/versions

ief:appversion:list

-

PUT /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appversion:update

-

POST /v2/{project_id}/productmgr/jobs

ief:batchjob:create

-

DELETE /v2/{project_id}/productmgr/jobs/{job_id}

ief:batchjob:delete

-

GET /v2/{project_id}/productmgr/jobs/{job_id}

ief:batchjob:get

-

GET /v2/{project_id}/productmgr/jobs

ief:batchjob:list

-

POST /v2/{project_id}/productmgr/jobs/{job_id}/pause

ief:batchjob:pause

-

POST /v2/{project_id}/productmgr/jobs/{job_id}/restore

ief:batchjob:restore

-

POST /v2/{project_id}/productmgr/jobs/{job_id}/retry

ief:batchjob:retry

-

POST /v2/{project_id}/edgemgr/configmaps

ief:configmap:create

-

DELETE /v2/{project_id}/edgemgr/configmaps/{configmap_id}

ief:configmap:delete

-

GET /v2/{project_id}/edgemgr/configmaps/{configmap_id}

ief:configmap:get

-

GET /v2/{project_id}/edgemgr/configmaps

ief:configmap:list

-

PUT /v2/{project_id}/edgemgr/configmaps/{configmap_id}

ief:configmap:update

-

POST /v2/{project_id}/edgemgr/services

ief:service:create

-

DELETE /v2/{project_id}/edgemgr/services/{service_id}

ief:service:delete

-

GET /v2/{project_id}/edgemgr/services

ief:service:list

-

GET /v2/{project_id}/edgemgr/services/{service_id}

ief:service:get

-

PUT /v2/{project_id}/edgemgr/services/{service_id}

ief:service:update

-

POST /v2/{project_id}/edgemgr/devices

ief:device:create

-

DELETE /v2/{project_id}/edgemgr/devices/{device_id}

ief:device:delete

-

GET /v2/{project_id}/edgemgr/devices/{device_id}

ief:device:get

-

GET /v2/{project_id}/edgemgr/devices

ief:device:list

-

PUT /v2/{project_id}/edgemgr/devices/{device_id}

ief:device:update

-

GET /v2/{project_id}/edgemgr/devices/{device_id}/twin

ief:device:get

-

PUT /v2/{project_id}/edgemgr/devices/{device_id}/twin

ief:device:update

-

PUT /v2/{project_id}/edgemgr/devices/{device_id}/nodes

ief:device:update

-

POST /v2/{project_id}/edgemgr/device-templates

ief:device:createTemplate

-

DELETE /v2/{project_id}/edgemgr/device-templates/{device_template_id}

ief:device:deleteTemplate

-

GET /v2/{project_id}/edgemgr/device-templates

ief:device:listTemplate

-

GET /v2/{project_id}/edgemgr/device-templates/{device_template_id}

ief:device:getTemplate

-

PUT /v2/{project_id}/edgemgr/device-templates/{device_template_id}

ief:device:updateTemplate

-

POST /v2/{project_id}/routemgr/endpoints

ief:endpoint:create

-

DELETE /v2/{project_id}/routemgr/endpoints/{endpoint_id}

ief:endpoint:delete

-

GET /v2/{project_id}/routemgr/endpoints/{endpoint_id}

ief:endpoint:get

-

GET /v2/{project_id}/routemgr/endpoints

ief:endpoint:list

-

-

ief:agency:create

-

GET /v2/{project_id}/edgemgr/quotas

ief:quota:get

-

-

ief:plugin:getVersion

-

POST /v2/{project_id}/routemgr/rules

ief:rule:create

-

DELETE /v2/{project_id}/routemgr/rules/{rule_id}

ief:rule:delete

-

POST /v2/{project_id}/edgemgr/ief-instances

ief:iefinstance:create

  • ecs:availabilityZones:list
  • ecs:cloudServerFlavors:get
  • vpc:subnets:get
  • vpc:subnets:list
  • vpc:vpcs:get
  • vpc:vpcs:list
  • vpc:securityGroups:get
  • vpc:securityGroups:list
  • vpcep:endpoints:get
  • vpcep:endpoints:list
  • vpcep:endpointServices:get
  • vpcep:endpointServices:list
  • elb:loadbalancers:list
  • elb:loadbalancers:show
  • cce:node:list
  • cce:node:get
  • cce:cluster:get
  • vpc:subnets:create
  • vpc:vpcs:create
  • vpc:publicIps:create
  • vpc:securityGroups:create
  • vpcep:endpoints:create
  • vpcep:endpointServices:create
  • elb:loadbalancers:create
  • cce:cluster:create
  • cce:node:create

DELETE /v2/{project_id}/edgemgr/ief-instances/{ief_instance_id}

ief:iefinstance:delete

  • ecs:availabilityZones:list
  • ecs:cloudServerFlavors:get
  • vpc:subnets:get
  • vpc:subnets:list
  • vpc:vpcs:get
  • vpc:vpcs:list
  • vpc:securityGroups:get
  • vpc:securityGroups:list
  • vpcep:endpoints:get
  • vpcep:endpoints:list
  • vpcep:endpointServices:get
  • vpcep:endpointServices:list
  • elb:loadbalancers:list
  • elb:loadbalancers:show
  • cce:node:list
  • cce:node:get
  • cce:cluster:get
  • vpc:subnets:delete
  • vpc:vpcs:delete
  • vpc:publicIps:delete
  • vpc:securityGroups:delete
  • vpcep:endpoints:delete
  • vpcep:endpointServices:delete
  • elb:loadbalancers:delete
  • cce:cluster:delete
  • cce:node:delete

GET /v2/{project_id}/edgemgr/ief-instances/{ief_instance_id}

ief:iefinstance:get

-

GET /v2/{project_id}/edgemgr/ief-instances

ief:iefinstance:list

-

GET /v2/{project_id}/routemgr/rules/{rule_id}/errors

ief:rule:listError

-

GET /v2/{project_id}/routemgr/rules/{rule_id}

ief:rule:get

-

GET /v2/{project_id}/routemgr/rules

ief:rule:listRule

-

POST /v2/{project_id}/routemgr/rules/{rule_id}/stop

ief:rule:stop

-

POST /v2/{project_id}/routemgr/rules/{rule_id}/start

ief:rule:start

-

POST /v2/{project_id}/routemgr/exchanger/systemevents

ief:systemEvent:create

-

DELETE /v2/{project_id}/routemgr/exchanger/systemevents/{event_id}

ief:systemEvent:delete

-

GET /v2/{project_id}/routemgr/exchanger/systemevents/{event_id}

ief:systemEvent:get

-

GET /v2/{project_id}/routemgr/exchanger/systemevents

ief:systemEvent:list

-

POST /v2/{project_id}/routemgr/exchanger/systemevents/{event_id}/stop

ief:systemEvent:stop

-

POST /v2/{project_id}/routemgr/exchanger/systemevents/{event_id}/start

ief:systemEvent:start

-

POST /v2/{project_id}/edgemgr/secrets

ief:secret:create

-

DELETE /v2/{project_id}/edgemgr/secrets/{secret_id}

ief:secret:delete

-

GET /v2/{project_id}/edgemgr/secrets/{secret_id}

ief:secret:get

-

GET /v2/{project_id}/edgemgr/secrets

ief:secret:list

-

PUT /v2/{project_id}/edgemgr/secrets/{secret_id}

ief:secret:update

-

POST /v2/{project_id}/edm/nodes/{node_id}/encryptdatas

ief:secureSecret:create

-

DELETE /v2/{project_id}/edm/nodes/{node_id}/encryptdatas/{encryptdata_id}

ief:secureSecret:delete

-

POST /v2/{project_id}/edm/encryptdatas

ief:secureSecret:create

-

DELETE /v2/{project_id}/edm/encryptdatas/{encryptdata_id}

ief:secureSecret:delete

-

GET /v2/{project_id}/edm/encryptdatas

ief:secureSecret:list

-

GET /v2/{project_id}/edm/encryptdatas/{encryptdata_id}

ief:secureSecret:get

-

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

ief:secureSecret:list

-

GET /v2/{project_id}/edm/encryptdatas/{encryptdata_id}/nodes

ief:secureSecret:list

-

PUT /v2/{project_id}/edm/encryptdatas/{encryptdata_id}

ief:secureSecret:update

-

POST /v2/{project_id}/{resource_type}/{resource_id}/tags/action

ief::tagResource

-

POST /v2/{project_id}/{resource_type}/{resource_id}/tags

ief::tagResource

-

DELETE /v2/{project_id}/{resource_type}/{resource_id}/tags/{key}

ief::unTagResource

-

GET /v2/{project_id}/{resource_type}/{resource_id}/tags

ief::listTagsForResource

-

POST /v2/{project_id}/{resource_type}/resource_instances/action

ief::listResourcesByTag

-

GET /v2/{project_id}/{resource_type}/tags

ief::listTags

-

PUT /v2/{project_id}/edgemgr/groups/{group_id}/nodes

ief:group:bindNode

-

POST /v2/{project_id}/edgemgr/groups

ief:group:createNodeGroup

-

DELETE /v2/{project_id}/edgemgr/groups/{group_id}

ief:group:deleteNodeGroup

-

GET /v2/{project_id}/edgemgr/groups/{group_id}

ief:group:getNodeGroup

-

GET /v2/{project_id}/edgemgr/groups

ief:group:listNodeGroup

-

-

ief:group:listGroupInstanceState

-

POST /v2/{project_id}/edgemgr/groups/{group_id}/certs

ief:group:createCert

-

DELETE /v2/{project_id}/edgemgr/groups/{group_id}/certs/{group_cert_id}

ief:group:deleteCert

-

GET /v2/{project_id}/edgemgr/groups/{group_id}/certs

ief:group:listCert

-

GET /v2/{project_id}/edgemgr/groups/{group_id}/certs/{group_cert_id}

ief:group:getCert

-

PUT /v2/{project_id}/edgemgr/groups/{group_id}

ief:group:updateNodeGroup

-

POST /v3/{project_id}/edgemgr/deployments

ief:deployment:create

-

DELETE /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:delete

-

GET /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:get

-

GET /v3/{project_id}/edgemgr/pods

ief:deployment:list

-

GET /v3/{project_id}/edgemgr/deployments

ief:deployment:list

-

PUT /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:update

-

POST /v3/{project_id}/edgemgr/deployments/{deployment_id}/pods/{pod_name}/restart

ief:deployment:update

-

DELETE /v3/{project_id}/edgemgr/deployments/{deployment_id}/pods/{pod_name}

ief:deployment:update

-

POST /v2/{project_id}/edgemgr/nodes/{node_id}/action

ief:node:action

-

PUT /v2/{project_id}/edgemgr/nodes/{node_id}/devices

ief:node:bindDevices

-

POST /v2/{project_id}/edgemgr/nodes

ief:node:create

-

POST /v2/{project_id}/edgemgr/nodes/{node_id}/certs

ief:node:createNodeCert

-

DELETE /v2/{project_id}/edgemgr/nodes/{node_id}

ief:node:delete

-

DELETE /v2/{project_id}/edgemgr/nodes/{node_id}/certs/{cert_id}

ief:node:deleteNodeCert

-

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

ief:node:get

-

GET /v2/{project_id}/edgemgr/nodes

ief:node:list

-

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

ief:node:listNodeCert

-

-

ief:node:maintain

-

PUT /v2/{project_id}/edgemgr/nodes/{node_id}

ief:node:update

-

-

ief:node:upgrade

-

POST /v2/{project_id}/edgemgr/nodes/{node_id}/upgrade

ief:node:upgrade

-

POST /v2/{project_id}/productmgr/products

ief:product:create

-

DELETE /v2/{project_id}/productmgr/products/{product_id}

ief:product:delete

-

GET /v2/{project_id}/productmgr/products/{product_id}

ief:product:get

-

GET /v2/{project_id}/productmgr/products

ief:product:list

-

资源类型(Resource)

资源类型(Resource)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的URN,身份策略仅作用于此资源;如未指定,Resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。

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

表3 IEF支持的资源类型

资源类型

URN

appversion

ief:<region>:<account-id>:appversion:<appversion-name>

product

ief:<region>:<account-id>:product:<product-name>

group

ief:<region>:<account-id>:group:<group-name>

node

ief:<region>:<account-id>:node:<node-name>

application

ief:<region>:<account-id>:application:<app-name>

iefinstance

ief:<region>:<account-id>:iefinstance:<cluster-name>

batchjob

ief:<region>:<account-id>:batchjob:<job-name>

deployment

ief:<region>:<account-id>:deployment:<deployment-name>

条件(Condition)

条件键概述

条件(Condition)是身份策略生效的特定条件,包括条件键运算符

  • 条件键表示身份策略语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
    • 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键
    • 服务级条件键(前缀通常为服务缩写,如ief:)仅适用于对应服务的操作,详情请参见表4
    • 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
  • 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。支持的运算符请参见:运算符

IEF支持的服务级条件键

IEF定义了以下可以在自定义身份策略的Condition元素中使用的条件键,您可以使用这些条件键进一步细化身份策略语句应用的条件。

表4 IEF支持的服务级条件键

服务级条件键

类型

单值/多值

说明

ief:IefInstanceId

string

单值

按照在请求中传递的集群ID筛选访问权限。

相关文档