
# 策略授权参考
本章节介绍DC策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应，授权项列表说明如下：
- 权限：允许或拒绝某项操作。
- 对应API接口：自定义策略实际调用的API接口。
- 授权项：自定义策略中支持的Action，在自定义策略中的Action中写入授权项，可以实现授权项对应的权限功能。
- 依赖的授权项：部分Action存在对其他Action的依赖，需要将依赖的Action同时写入授权项，才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project)：自定义策略的授权范围，包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目，表示此授权项对应的自定义策略，可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目，不支持企业项目，表示仅能在IAM中给用户组授权并生效，如果在企业管理中授权，则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目，"√"表示支持，"×"表示暂不支持。关于IAM项目与企业项目的区别，详情请参见：[IAM与企业管理的区别](https://support.huaweicloud.com/iam_faq/iam_01_0101.html)。
云专线支持的自定义策略授权项如下所示：
- [物理连接]：包含云专线所有物理连接的API接口对应的授权项，例如创建物理连接、查询物理连接列表、删除物理连接、查询物理连接、更新物理连接等接口。
- [虚拟网关]：包含云专线所有虚拟网关的API接口对应的授权项，例如创建虚拟网关、查询虚拟网关列表、删除虚拟网关、查询虚拟网关、更新虚拟网关等接口。
- [虚拟接口]：包含云专线所有虚拟接口的API接口对应的授权项，例如创建虚拟接口、查询虚拟接口列表、删除虚拟接口、查询虚拟接口、更新虚拟接口、等接口。
- [标签管理]：包含查询项目标签、查询资源标签、添加资源标签、批量添加删除资源标签、删除资源标签、通过标签查询资源实例等接口。
 
 #### 物理连接
表1物理连接 
| 权限          | 对应API接口                                                           | 授权项（Action）                                   | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询物理连接详情    | GET /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}    | dcaas:directConnect:get                       | -      | √              | ×                        |
| 更新物理连接      | PUT /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}    | dcaas:directConnect:update                    | -      | √              | ×                        |
| 删除物理连接      | DELETE /v3/{project_id}/dcaas/direct-connects/{direct_connect_id} | dcaas:directConnect:delete                    | -      | √              | ×                        |
| 查询物理连接列表    | GET /v3/{project_id}/dcaas/direct-connects                        | dcaas:directConnect:list                      | -      | √              | ×                        |
| 查询租户的托管专线列表 | GET /v3/{project_id}/dcaas/hosted-connects                        | dcaas:directConnect:listHostedDirectConnect   | -      | √              | ×                        |
| 创建托管专线连接    | POST /v3/{project_id}/dcaas/hosted-connects                       | dcaas:directConnect:createHostedDirectConnect | -      | √              | ×                        |
| 查询租户的托管专线详情 | GET /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id}    | dcaas:directConnect:getHostedDirectConnect    | -      | √              | ×                        |
| 更新托管专线连接    | PUT /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id}    | dcaas:directConnect:updateHostedDirectConnect | -      | √              | ×                        |
| 删除托管专线连接    | DELETE /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id} | dcaas:directConnect:deleteHostedDirectConnect | -      | √              | ×                        |
   
 #### 虚拟网关
表2虚拟网关 
| 权限       | 对应API接口                                                             | 授权项（Action）      | 依赖的授权项                                                                                                 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建虚拟网关   | POST /v3/{project_id}/dcaas/virtual-gateways                        | dcaas:vgw:create | vpc:vpcs:get vpc:vpcs:list vpc:subnets:get | √              | ×                        |
| 查询虚拟网关列表 | GET /v3/{project_id}/dcaas/virtual-gateways                         | dcaas:vgw:list   | -                                                                                                      | √              | ×                        |
| 删除虚拟网关   | DELETE /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id} | dcaas:vgw:delete | -                                                                                                      | √              | ×                        |
| 查询虚拟网关详情 | GET /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}    | dcaas:vgw:get    | -                                                                                                      | √              | ×                        |
| 更新虚拟网关信息 | PUT /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}    | dcaas:vgw:update | -                                                                                                      | √              | ×                        |
   
 #### 虚拟接口
表3虚拟接口 
| 权限       | 对应API接口                                                                 | 授权项（Action）      | 依赖的授权项                                                                                               | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建虚拟接口   | POST /v3/{project_id}/dcaas/virtual-interfaces                          | dcaas:vif:create | vpc:vpcs:get vpc:vpcs:list vpc:subnets:get | √              | ×                        |
| 查询虚拟接口列表 | GET /v3/{project_id}/dcaas/virtual-interfaces                           | dcaas:vif:list   | -                                                                                                    | √              | ×                        |
| 删除虚拟接口   | DELETE /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id} | dcaas:vif:delete | -                                                                                                    | √              | ×                        |
| 查询虚拟接口详情 | GET /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id}    | dcaas:vif:get    | -                                                                                                    | √              | ×                        |
| 更新虚拟接口   | PUT /v3/{project_id}/dcaas/virtual-interfaces/{virtual_interface_id}    | dcaas:vif:update | -                                                                                                    | √              | ×                        |
   
 #### 标签管理
表4标签管理 
| 权限         | 对应API接口                                                          | 授权项（Action）                     | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询项目标签     | GET /v3/{project_id}/{resource_type}/tags                        | dcaas:resources:listTag         | -      | √              | ×                        |
| 查询资源标签     | GET /v3/{project_id}/{resource_type}/{resource_id}/tags          | dcaas:resources:listResourceTag | -      | √              | ×                        |
| 添加资源标签     | POST /v3/{project_id}/{resource_type}/{resource_id}/tags         | dcaas:resources:tag             | -      | √              | ×                        |
| 批量添加删除资源标签 | POST /v3/{project_id}/{resource_type}/{resource_id}/tags/action  | dcaas:resources:batchTagUntag   | -      | √              | ×                        |
| 删除资源标签     | DELETE /v3/{project_id}/{resource_type}/{resource_id}/tags/{key} | dcaas:resources:unTag           | -      | √              | ×                        |
| 通过标签查询资源实例 | POST /v3/{project_id}/{resource_type}/resource-instances/action  | dcaas:resources:listByTag       | -      | √              | ×                        |
   
#### 专线关联连接
表5专线关联连接 
| 权限         | 对应API接口                                                                                           | 授权项（Action）               | 依赖的授权项                                                                                                | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询专线关联连接列表 | GET /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links                   | dcaas:gdgw:listPeerlink   | -                                                                                                     | √              | ×                        |
| 创建专线关联连接   | POST /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links                  | dcaas:gdgw:createPeerlink | vpc:vpcs:get vpc:vpcs:list vpc:subnets:get | √              | ×                        |
| 查询专线关联连接详情 | GET /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links/{peer_link_id}    | dcaas:gdgw:getPeerlink    | -                                                                                                     | √              | ×                        |
| 更新专线关联连接   | PUT /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links/{peer_link_id}    | dcaas:gdgw:updatePeerlink | -                                                                                                     | √              | ×                        |
| 删除专线关联连接   | DELETE /v3/{project_id}/dcaas/global-dc-gateways/{global_dc_gateway_id}/peer-links/{peer_link_id} | dcaas:gdgw:deletePeerlink | -                                                                                                     | √              | ×                        |
   
