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

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

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

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

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

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

表1 CloudPond支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

ies::listServerOfferings

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

List

-

-

  • ies:system:listServerOfferings

ies::listNetworkOfferings

授予查询网络商品列表的权限。

List

-

-

  • ies:system:listNetworkOfferings

ies::listStorageTypes

授予查询存储类型列表的权限。

List

-

-

  • ies:system:listStorageTypes

ies::listSaleCycles

授予查询可购买的销售周期的权限。

List

-

-

  • ies:system:listSaleCycles

ies:edgeSite:listServers

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

List

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:getServer

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

Read

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:listNetworkDevices

授予查询网络设备列表的权限。

List

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:getNetworkDevice

授予查询网络设备详情的权限。

Read

edgeSite *

g:EnterpriseProjectId

-

ies:deliveryOrder:createDeliveryOrder

授予创建交易单的权限。

Write

deliveryOrder *

-

-

ies:edgeSite:create

授予创建边缘小站的权限。

Write

edgeSite *

-

-

-

g:EnterpriseProjectId

ies:edgeSite:list

授予查询边缘小站列表的权限。

List

edgeSite *

-

-

-

g:EnterpriseProjectId

ies:edgeSite:update

授予更新边缘小站的权限。

Write

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:get

授予查询边缘小站详情的权限。

Read

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:delete

授予删除边缘小站的权限。

Write

edgeSite *

g:EnterpriseProjectId

-

ies::listQuotas

授予查询配额的权限。

List

-

-

  • ies:quota:list

ies::listRegions

授予查询区域列表的权限。

List

-

-

  • ies:region:list

ies::listZones

授予查询地区列表的权限。

List

-

-

  • ies:zone:list

ies:edgeSite:getMetricData

授予查看站点容量信息的权限。

Read

edgeSite *

g:EnterpriseProjectId

-

ies:edgeSite:listRacks

授予查询机柜列表的权限。

List

edgeSite *

g:EnterpriseProjectId

  • ies:rack:list

ies:edgeSite:getRack

授予查询机柜详情的权限。

Read

edgeSite *

g:EnterpriseProjectId

  • ies:rack:get

ies:edgeSite:listStoragePools

授予查询存储池列表的权限。

List

edgeSite *

g:EnterpriseProjectId

  • ies:storagePool:list

ies:edgeSite:getStoragePool

授予查询存储池详情的权限。

Read

edgeSite *

g:EnterpriseProjectId

  • ies:storagePool:get

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

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

GET /v2/{domain_id}/server-offerings

ies::listServerOfferings

-

GET /v2/{domain_id}/network-device-offerings

ies::listNetworkOfferings

-

GET /v2/{domain_id}/storage-types

ies::listStorageTypes

-

GET /v2/{domain_id}/sale-cycles

ies::listSaleCycles

-

GET /v2/{domain_id}/servers

ies:edgeSite:listServers

-

GET /v2/{domain_id}/servers/{server_id}

ies:edgeSite:getServer

-

GET /v2/{domain_id}/network-devices

ies:edgeSite:listNetworkDevices

-

GET /v2/{domain_id}/network-devices/{network_device_id}

ies:edgeSite:getNetworkDevice

-

GET /v2/{domain_id}/storage-pools

ies:edgeSite:listStoragePools

-

GET /v2/{domain_id}/storage-pools/{id}

ies:edgeSite:getStoragePool

-

GET /v2/{domain_id}/storage-gears

ies::listSupportedStorageGears

-

POST /v1/{domain_id}/edge-sites

ies:edgeSite:create

-

GET /v1/{domain_id}/edge-sites

ies:edgeSite:list

-

PUT /v1/{domain_id}/edge-sites/{site_id}

ies:edgeSite:update

-

GET /v1/{domain_id}/edge-sites/{site_id}

ies:edgeSite:get

-

DELETE /v1/{domain_id}/edge-sites/{site_id}

ies:edgeSite:delete

-

GET /v1/{domain_id}/quotas

ies::listQuotas

-

GET /v1/{domain_id}/regions

ies::listRegions

-

GET /v1/{domain_id}/zones

ies::listZones

-

GET /v1/{domain_id}/edge-sites/{site_id}/metric-data

ies:edgeSite:getMetricData

-

GET /v1/{domain_id}/racks

ies:edgeSite:listRacks

-

GET /v1/{domain_id}/racks/{id}

ies:edgeSite:getRack

-

资源类型(Resource)

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

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

表3 CloudPond支持的资源类型

资源类型

URN

edgeSite

ies::<domain-id>:edgeSite:<site-id>

deliveryOrder

ies::<domain-id>:deliveryOrder:<delivery-order-id>

条件(Condition)

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

相关文档