云连接 CC
SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。
本章节介绍组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。
如何使用这些元素编辑SCP自定义策略,请参考创建SCP。
操作(Action)
操作(Action)即为SCP中支持的授权项。
- “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。
- “资源类型”列指每个操作是否支持资源级权限。
- 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。
- 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
- 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。
关于CC定义的资源类型的详细信息请参见资源类型(Resource)。
- “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。
- 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
- 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
- 如果此列条件键没有值(-),表示此操作不支持指定条件键。
关于CC定义的条件键的详细信息请参见条件(Condition)。
您可以在SCP语句的Action元素中指定以下CC的相关操作。
授权项 |
描述 |
访问级别 |
资源类型(*为必须) |
条件键 |
---|---|---|---|---|
cc:cloudConnections:create |
授予创建云连接权限。 |
write |
cloudConnection * |
- |
- |
|
|||
cc:cloudConnections:delete |
授予删除云连接权限。 |
write |
cloudConnection * |
|
cc:cloudConnections:update |
授予更新云连接权限。 |
write |
cloudConnection * |
|
cc:cloudConnections:get |
授予查询云连接详情权限。 |
read |
cloudConnection * |
|
cc:cloudConnections:list |
授予查询云连接列表权限。 |
list |
cloudConnection * |
- |
cc:cloudConnections:tag |
授予为云连接实例打标签权限。 |
tagging |
cloudConnection * |
|
- |
|
|||
cc:cloudConnections:unTag |
授予为云连接实例删除标签权限。 |
tagging |
cloudConnection * |
|
- |
|
|||
cc:cloudConnections:listTags |
授予查询为云连接资源的标签列表权限。 |
list |
cloudConnection * |
- |
cc:networkInstances:create |
授予创建网络实例权限。 |
write |
networkInstance * |
- |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
|
|||
cc:networkInstances:delete |
授予删除网络实例权限。 |
write |
networkInstance * |
|
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:networkInstances:update |
授予更新网络实例权限。 |
write |
networkInstance * |
|
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:networkInstances:get |
授予查询网络实例详情权限。 |
read |
networkInstance * |
- |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:networkInstances:list |
授予查询网络实例列表权限。 |
list |
networkInstance * |
- |
cc:bandwidthPackages:create |
授予创建带宽包权限。 |
write |
bandwidthPackage * |
- |
- |
|
|||
cc:bandwidthPackages:delete |
授予删除带宽包权限。 |
write |
bandwidthPackage * |
|
cc:bandwidthPackages:update |
授予更新带宽包权限。 |
write |
bandwidthPackage * |
|
cc:bandwidthPackages:get |
授予查询带宽包详情权限。 |
read |
bandwidthPackage * |
|
cc:bandwidthPackages:list |
授予查询带宽包列表权限。 |
list |
bandwidthPackage * |
- |
cc:bandwidthPackages:tag |
授予为带宽包打标签权限。 |
tagging |
bandwidthPackage * |
|
- |
|
|||
cc:bandwidthPackages:unTag |
授予为带宽包删除标签权限。 |
tagging |
bandwidthPackage * |
|
- |
|
|||
cc:bandwidthPackages:listTags |
授予查询带宽包资源的标签列表权限。 |
list |
bandwidthPackage * |
- |
cc:bandwidthPackages:associate |
授予关联带宽包权限。 |
write |
bandwidthPackage * |
g:ResourceTag/<tag-key> |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:bandwidthPackages:disassociate |
授予解关联带宽包权限。 |
write |
bandwidthPackage * |
g:ResourceTag/<tag-key> |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:interRegionBandwidths:create |
授予创建域间带宽权限。 |
write |
interRegionBandwidth * |
- |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
|
|||
cc:interRegionBandwidths:delete |
授予删除域间带宽权限。 |
write |
interRegionBandwidth * |
cc:BandwidthPackageId |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:interRegionBandwidths:update |
授予更新域间带宽权限。 |
write |
interRegionBandwidth * |
cc:BandwidthPackageId |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:interRegionBandwidths:get |
授予查询域间带宽详情权限。 |
read |
interRegionBandwidth * |
- |
cloudConnection * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:interRegionBandwidths:list |
授予查询域间带宽列表权限。 |
list |
interRegionBandwidth * |
- |
cc:cloudConnectionRoutes:get |
授予查询云连接路由详情权限。 |
read |
- |
- |
cc:cloudConnectionRoutes:list |
授予查询云连接路由列表权限。 |
list |
- |
- |
cc:authorisation:create |
授予创建虚拟私有云授权的权限。 |
write |
- |
- |
cc:authorisation:delete |
授予删除虚拟私有云授权的权限。 |
write |
- |
- |
cc:authorisation:update |
授予更新虚拟私有云授权基本信息的权限。 |
write |
- |
- |
cc:authorisation:list |
授予查询虚拟私有云授权列表权限。 |
list |
- |
- |
cc:authorisation:listPermissions |
授予查询被授权的虚拟私有云列表权限。 |
list |
- |
- |
cc:centralNetwork:create |
授予创建中心网络权限。 |
write |
centralNetwork * |
- |
- |
|
|||
cc:centralNetwork:delete |
授予删除中心网络权限。 |
write |
centralNetwork * |
|
cc:centralNetwork:update |
授予更新中心网络权限。 |
write |
centralNetwork * |
|
- |
|
|||
cc:centralNetwork:get |
授予查询中心网络详情权限。 |
read |
centralNetwork * |
|
cc:centralNetwork:list |
授予查询中心网络列表权限。 |
list |
centralNetwork * |
- |
cc:centralNetwork:tag |
授予为中心网络添加标签权限。 |
tagging |
centralNetwork * |
|
- |
|
|||
cc:centralNetwork:unTag |
授予删除中心网络标签权限。 |
tagging |
centralNetwork * |
|
- |
|
|||
cc:centralNetwork:listTags |
授予查询中心网络标签权限。 |
list |
centralNetwork * |
- |
cc:centralNetwork:createPolicy |
授予创建中心网络策略权限。 |
write |
centralNetwork * |
|
- |
cc:MultipleEnterpriseRouterIds |
|||
cc:centralNetwork:applyPolicy |
授予应用中心网络策略权限。 |
write |
centralNetwork * |
|
cc:centralNetwork:deletePolicy |
授予删除中心网络策略权限。 |
write |
centralNetwork * |
|
cc:centralNetwork:listPolicies |
授予查询中心网络策略列表权限。 |
list |
centralNetwork * |
- |
cc:centralNetwork:listChangeSet |
授予查询当前策略与被应用策略变化集权限。 |
list |
centralNetwork * |
- |
cc:centralNetwork:listConnections |
授予查询中心网络连接列表权限。 |
list |
centralNetwork * |
- |
cc:centralNetwork:updateConnection |
授予更新中心网络连接权限。 |
write |
centralNetwork * |
|
- |
cc:GlobalConnectionBandwidthId |
|||
cc:centralNetworkAttachment:createGdgw |
授予创建中心网络GDGW附件权限。 |
write |
centralNetworkAttachment * |
- |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
|
|||
cc:centralNetworkAttachment:updateGdgw |
授予更新中心网络GDGW附件权限。 |
write |
centralNetworkAttachment * |
|
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:getGdgw |
授予查询中心网络GDGW附件详情权限。 |
read |
centralNetworkAttachment * |
|
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:listGdgws |
授予查询中心网络GDGW附件列表权限。 |
list |
centralNetworkAttachment * |
- |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:createErRouteTable |
授予创建中心网络er-route-table附件权限。 |
write |
centralNetworkAttachment * |
- |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
|
|||
cc:centralNetworkAttachment:updateErRouteTable |
授予更新中心网络er-route-table附件权限。 |
write |
centralNetworkAttachment * |
cc:MultipleEnterpriseRouterIds |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:getErRouteTable |
授予查询中心网络er-route-table附件详情权限。 |
read |
centralNetworkAttachment * |
cc:MultipleEnterpriseRouterIds |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:listErRouteTables |
授予查询中心网络er-route-table附件列表权限。 |
list |
centralNetworkAttachment * |
- |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:delete |
授予删除中心网络附件权限。 |
write |
centralNetworkAttachment * |
|
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
|||
cc:centralNetworkAttachment:list |
授予查询中心网络附件列表权限。 |
list |
centralNetworkAttachment * |
- |
centralNetwork * |
g:ResourceTag/<tag-key> |
|||
- |
g:EnterpriseProjectId |
CC的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。
API |
对应的授权项 |
依赖的授权项 |
---|---|---|
POST /v3/{domain_id}/ccaas/cloud-connections |
cc:cloudConnections:create |
- |
PUT /v3/{domain_id}/ccaas/cloud-connections/{id} |
cc:cloudConnections:update |
- |
DELETE /v3/{domain_id}/ccaas/cloud-connections/{id} |
cc:cloudConnections:delete |
- |
GET /v3/{domain_id}/ccaas/cloud-connections/{id} |
cc:cloudConnections:get |
- |
GET /v3/{domain_id}/ccaas/cloud-connections |
cc:cloudConnections:list |
- |
POST /v3/{domain_id}/ccaas/cloud-connections/filter |
cc:cloudConnections:list |
- |
POST /v3/{domain_id}/ccaas/cloud-connections/{id}/tag |
cc:cloudConnections:tag |
- |
POST /v3/{domain_id}/ccaas/cloud-connections/{id}/untag |
cc:cloudConnections:unTag |
- |
GET /v3/{domain_id}/ccaas/cloud-connections/tags |
cc:cloudConnections:listTags |
- |
POST /v3/{domain_id}/ccaas/network-instances |
cc:networkInstances:create |
- |
PUT /v3/{domain_id}/ccaas/network-instances/{id} |
cc:networkInstances:update |
- |
DELETE /v3/{domain_id}/ccaas/network-instances/{id} |
cc:networkInstances:delete |
- |
GET /v3/{domain_id}/ccaas/network-instances/{id} |
cc:networkInstances:get |
- |
GET /v3/{domain_id}/ccaas/network-instances |
cc:networkInstances:list |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages |
cc:bandwidthPackages:create |
- |
PUT /v3/{domain_id}/ccaas/bandwidth-packages/{id} |
cc:bandwidthPackages:update |
- |
DELETE /v3/{domain_id}/ccaas/bandwidth-packages/{id} |
cc:bandwidthPackages:delete |
- |
GET /v3/{domain_id}/ccaas/bandwidth-packages/{id} |
cc:bandwidthPackages:get |
- |
GET /v3/{domain_id}/ccaas/bandwidth-packages |
cc:bandwidthPackages:list |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages/filter |
cc:bandwidthPackages:list |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages/{id}/tag |
cc:bandwidthPackages:tag |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages/{id}/untag |
cc:bandwidthPackages:unTag |
- |
GET /v3/{domain_id}/ccaas/bandwidth-packages/tags |
cc:bandwidthPackages:listTags |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages/{id}/associate |
cc:bandwidthPackages:associate |
- |
POST /v3/{domain_id}/ccaas/bandwidth-packages/{id}/disassociate |
cc:bandwidthPackages:disassociate |
- |
POST /v3/{domain_id}/ccaas/inter-region-bandwidths |
cc:interRegionBandwidths:create |
- |
PUT /v3/{domain_id}/ccaas/inter-region-bandwidths/{id} |
cc:interRegionBandwidths:update |
- |
DELETE /v3/{domain_id}/ccaas/inter-region-bandwidths/{id} |
cc:interRegionBandwidths:delete |
- |
GET /v3/{domain_id}/ccaas/inter-region-bandwidths/{id} |
cc:interRegionBandwidths:get |
- |
GET /v3/{domain_id}/ccaas/inter-region-bandwidths |
cc:interRegionBandwidths:list |
- |
GET /v3/{domain_id}/ccaas/cloud-connection-routes/{id} |
cc:cloudConnectionRoutes:get |
- |
GET /v3/{domain_id}/ccaas/cloud-connection-routes |
cc:cloudConnectionRoutes:list |
- |
POST /v3/{domain_id}/ccaas/authorisations |
cc:authorisation:create |
- |
DELETE /v3/{domain_id}/ccaas/authorisations/{id} |
cc:authorisation:delete |
- |
PUT /v3/{domain_id}/ccaas/authorisations/{id} |
cc:authorisation:update |
- |
GET /v3/{domain_id}/ccaas/authorisations |
cc:authorisation:list |
- |
GET /v3/{domain_id}/ccaas/permissions |
cc:authorisation:listPermissions |
- |
GET /v3/{domain_id}/ccaas/quotas |
cc:quota:list |
- |
GET /v3/{domain_id}/gcn/quotas |
cc:quota:list |
- |
GET /v3/{domain_id}/ccaas/capabilities |
cc:capability:list |
- |
GET /v3/{domain_id}/gcn/capabilities |
cc:capability:list |
- |
POST /v3/{domain_id}/gcn/central-networks |
cc:centralNetwork:create |
|
DELETE /v3/{domain_id}/gcn/central-networks/{central_network_id} |
cc:centralNetwork:delete |
|
PUT /v3/{domain_id}/gcn/central-networks/{central_network_id} |
cc:centralNetwork:update |
- |
GET /v3/{domain_id}/gcn/central-networks/{central_network_id} |
cc:centralNetwork:get |
- |
GET /v3/{domain_id}/gcn/central-networks |
cc:centralNetwork:list |
- |
POST /v3/{domain_id}/gcn/central-networks/filter |
cc:centralNetwork:list |
- |
POST /v3/{domain_id}/gcn/central-networks/{central_network_id}/tag |
cc:centralNetwork:tag |
- |
POST /v3/{domain_id}/gcn/central-networks/{central_network_id}/untag |
cc:centralNetwork:unTag |
- |
GET /v3/{domain_id}/gcn/central-networks/tags |
cc:centralNetwork:listTags |
- |
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/policies |
cc:centralNetwork:createPolicy |
|
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/policies/{policy_id}/apply |
cc:centralNetwork:applyPolicy |
|
DELETE /v3/{domain_id}/gcn/central-network/{central_network_id}/policies/{policy_id} |
cc:centralNetwork:deletePolicy |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/policies |
cc:centralNetwork:listPolicies |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/policies/{policy_id}/change-set |
cc:centralNetwork:listChangeSet |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/connections |
cc:centralNetwork:listConnections |
- |
PUT /v3/{domain_id}/gcn/central-network/{central_network_id}/connections/{connection_id} |
cc:centralNetwork:updateConnection |
- |
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/gdgw-attachments |
cc:centralNetworkAttachment:createGdgw |
|
PUT /v3/{domain_id}/gcn/central-network/{central_network_id}/gdgw-attachments/{gdgw_attachment_id} |
cc:centralNetworkAttachment:updateGdgw |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/gdgw-attachments/{gdgw_attachment_id} |
cc:centralNetworkAttachment:getGdgw |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/gdgw-attachments |
cc:centralNetworkAttachment:listGdgws |
- |
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments |
cc:centralNetworkAttachment:createErRouteTable |
|
PUT /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments/{er_route_table_attachment_id} |
cc:centralNetworkAttachment:updateErRouteTable |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments/{er_route_table_attachment_id} |
cc:centralNetworkAttachment:getErRouteTable |
- |
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments |
cc:centralNetworkAttachment:listErRouteTables |
- |
DELETE /v3/{domain_id}/gcn/central-network/{central_network_id}/attachments/{attachment_id} |
cc:centralNetworkAttachment:delete |
|
GET /v3/{domain_id}/gcn/central-network/{central_network_id}/attachments |
cc:centralNetworkAttachment:list |
- |
资源类型(Resource)
资源类型(Resource)表示SCP所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的SCP语句中指定该资源的URN,SCP仅作用于此资源;如未指定,Resource默认为“*”,则SCP将应用到所有资源。您也可以在SCP中设置条件,从而指定资源类型。
CC定义了以下可以在自定义SCP的Resource元素中使用的资源类型。
资源类型 |
URN |
---|---|
cloudConnection |
cc::<account-id>:cloudConnection:<cloud-connection-id> |
interRegionBandwidth |
cc::<account-id>:interRegionBandwidth:<inter-region-bandwidth-id> |
networkInstance |
cc::<account-id>:networkInstance:<network-instance-id> |
siteNetwork |
cc::<account-id>:siteNetwork:<site-network-id> |
bandwidthPackage |
cc::<account-id>:bandwidthPackage:<bandwidth-package-id> |
centralNetwork |
cc::<account-id>:centralNetwork:<central-network-id> |
centralNetworkAttachment |
cc::<account-id>:centralNetworkAttachment:<central-network-attachment-id> |
条件(Condition)
条件(Condition)是SCP生效的特定条件,包括条件键和运算符。
- 条件键表示SCP语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
- 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键。
- 服务级条件键(前缀通常为服务缩写,如cc:)仅适用于对应服务的操作,详情请参见表4。
- 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
- 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,SCP才能生效。支持的运算符请参见:条件键。
CC定义了以下可以在SCP的Condition元素中使用的条件键,您可以使用这些条件键进一步细化SCP语句应用的条件。
服务级条件键 |
类型 |
单值/多值 |
说明 |
---|---|---|---|
cc:VpcId |
string |
单值 |
根据指定的虚拟私有云资源ID过滤访问。 |
cc:VirtualGatewayId |
string |
单值 |
根据指定的专线虚拟网络资源ID过滤访问。 |
cc:EnterpriseRouterId |
string |
单值 |
根据指定的企业路由器资源ID过滤访问。 |
cc:MultipleEnterpriseRouterIds |
string |
多值 |
根据指定的多个企业路由器资源ID过滤访问。 |
cc:BandwidthPackageId |
string |
单值 |
根据指定的带宽包资源ID过滤访问。 |
cc:GlobalConnectionBandwidthId |
string |
单值 |
根据指定的全域互联带宽资源ID过滤访问。 |
cc:GlobalDcGatewayId |
string |
单值 |
根据指定的全球接入网关资源ID过滤访问。 |