智能边缘平台 IEF
云服务在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的相关操作。
授权项 | 描述 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 |
|---|---|---|---|---|---|
ief:application:create | 授予创建应用模板的权限。 | Write | application * | - | - |
- | |||||
ief:application:delete | 授予删除应用模板的权限。 | Write | application * | - | - |
- | |||||
ief:application:get | 授予查询应用模板详情的权限。 | Read | application * | - | - |
- | |||||
ief:application:list | 授予查询应用模板列表的权限。 | List | application * | - | - |
- | |||||
ief:application:update | 授予更新应用模板的权限。 | Write | application * | - | - |
- | |||||
ief:appversion:create | 授予创建应用模板版本的权限。 | Write | appversion * | - | - |
- | |||||
ief:appversion:delete | 授予删除应用模板版本的权限。 | Write | appversion * | - | - |
- | |||||
ief:appversion:get | 授予查询应用模板版本详情的权限。 | Read | appversion * | - | - |
- | |||||
ief:appversion:list | 授予查询应用模板版本列表的权限。 | List | appversion * | - | - |
- | |||||
ief:appversion:update | 授予更新应用模板版本的权限。 | Write | appversion * | - | - |
- | |||||
ief:batchjob:create | 授予创建批量处理任务的权限。 | Write | batchjob * | - | - |
- | |||||
ief:batchjob:delete | 授予删除批量处理任务的权限。 | Write | batchjob * | - | - |
- | |||||
ief:batchjob:get | 授予查询批量处理任务详情的权限。 | Read | batchjob * | - | - |
- | |||||
ief:batchjob:list | 授予查询批量处理任务列表的权限。 | List | batchjob * | - | - |
- | |||||
ief:batchjob:pause | 授予停止批量处理任务的权限。 | Write | batchjob * | - | - |
- | |||||
ief:batchjob:restore | 授予恢复批量处理任务的权限。 | Write | batchjob * | - | - |
- | |||||
ief:batchjob:retry | 授予重试批量处理任务的权限。 | Write | batchjob * | - | - |
- | |||||
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 * | ief:tag:batchAction | |
- | |||||
ief::unTagResource | 授予删除标签的权限。 | Tagging | node * | ief:tag:delete | |
- | |||||
ief::listTagsForResource | 授予查询标签详情的权限。 | List | node * | ief:tag:get | |
- | |||||
ief::listResourcesByTag | 授予查询资源实例的权限。 | List | node * | - | ief:tag:listResourceInstance |
- | |||||
ief::listTags | 授予查询标签列表的权限。 | List | node * | - | ief:tag:list |
- | |||||
ief:group:bindNode | 授予向边缘节点组添加节点的权限。 | Write | group * | - | - |
- | |||||
ief:group:createNodeGroup | 授予创建边缘节点组的权限。 | Write | group * | - | ief:group:create |
- | |||||
ief:group:deleteNodeGroup | 授予删除边缘节点组的权限。 | Write | group * | - | ief:group:delete |
- | |||||
ief:group:updateNodeGroup | 授予更新边缘节点组的权限。 | Write | group * | - | ief:group:update |
- | |||||
ief:group:getNodeGroup | 授予查询边缘节点组详情的权限。 | Read | group * | - | ief:group:get |
- | |||||
ief:group:listNodeGroup | 授予查询边缘节点组列表的权限。 | List | group * | - | ief:group:list |
- | |||||
ief:group:listGroupInstanceState | 授予查询边缘节点组状态的权限。 | List | group * | - | - |
- | |||||
ief:group:createCert | 授予创建边缘节点组证书的权限。 | Write | group * | - | ief:group:create |
- | |||||
ief:group:deleteCert | 授予删除边缘节点组证书的权限。 | Write | group * | - | ief:group:delete |
- | |||||
ief:group:listCert | 授予查询边缘节点组证书列表的权限。 | List | group * | - | ief:group:list |
- | |||||
ief:group:getCert | 授予查询边缘节点组证书详情的权限。 | Read | group * | - | ief:group:get |
- | |||||
ief:deployment:create | 授予创建部署的权限。 | Write | deployment * | - | - |
- | |||||
ief:deployment:delete | 授予删除部署的权限。 | Write | deployment * | - | - |
- | |||||
ief:deployment:get | 授予查询应用部署的权限。 | Read | deployment * | - | - |
- | |||||
ief:deployment:list | 授予查询应用实例列表的权限。 | List | deployment * | - | - |
- | |||||
ief:deployment:update | 授予更新应用部署的权限。 | Write | deployment * | - | - |
- | |||||
ief:node:action | 授予启动或停用边缘节点的权限。 | Write | node * | - | |
- | |||||
ief:node:bindDevices | 授予绑定设备的权限。 | Write | node * | - | |
- | |||||
ief:node:create | 授予创建边缘节点的权限。 | Write | node * | - | - |
- | |||||
ief:node:createNodeCert | 授予创建边缘节点证书的权限。 | Write | node * | - | - |
- | |||||
ief:node:delete | 授予删除边缘节点的权限。 | Write | node * | - | |
- | |||||
ief:node:deleteNodeCert | 授予删除边缘节点证书的权限。 | Write | node * | - | |
- | |||||
ief:node:get | 授予查询边缘节点详情的权限。 | Read | node * | - | |
- | |||||
ief:node:list | 授予查询边缘节点列表的权限。 | List | node * | - | |
- | |||||
ief:node:listNodeCert | 授予查询边缘节点证书列表的权限。 | List | node * | - | |
- | |||||
ief:node:maintain | 授予维护边缘节点的权限。 | Write | node * | - | |
- | |||||
ief:node:update | 授予更新边缘节点的权限。 | Write | node * | - | |
- | |||||
ief:node:upgrade | 授予升级边缘节点的权限。 | Write | node * | - | |
- | |||||
ief:product:create | 授予创建产品的权限。 | Write | product * | - | - |
- | |||||
ief:product:delete | 授予删除产品的权限。 | Write | product * | - | - |
- | |||||
ief:product:get | 授予查询产品信息的权限。 | Read | product * | - | - |
- | |||||
ief:product:list | 授予查询产品列表信息的权限。 | List | product * | - | - |
- |
IEF的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该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 |
|
DELETE /v2/{project_id}/edgemgr/ief-instances/{ief_instance_id} | ief:iefinstance: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元素中使用的资源类型。
资源类型 | 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元素中使用的条件键,您可以使用这些条件键进一步细化身份策略语句应用的条件。

