
# 策略授权参考
本章节介绍VPC Endpoint策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
VPC Endpoint支持的自定义策略授权项如下所示：
- [终端节点服务]：包含VPCEP所有终端节点服务接口对应的授权项，例如创建终端节点服务等接口。
- [终端节点]：包含VPCEP所有终端节点接口对应的授权项，例如创建终端节点等接口。
- [资源配额]：包含VPCEP查询配额的授权项。
- [TAG]：包含VPCEP所有TAG接口对应的授权项，例如查询资源实例等接口。
 
 #### 终端节点服务
表1终端节点服务 
| 权限                | 对应API接口                                                                                  | 授权项（Action）              | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建终端节点服务          | POST /v1/{project_id}/vpc-endpoint-services                                              | vpcep:epservices:create  | vpc:vpcs:get vpc:vpcs:list elb:loadbalancers:list elb:loadbalancers:get ecs:servers:list ecs:servers:get bms:servers:list bms:servers:get | √              | ×                        |
| 查询终端节点服务列表        | GET /v1/{project_id}/vpc-endpoint-services                                               | vpcep:epservices:list    | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 查询终端节点服务详情        | GET /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}                     | vpcep:epservices:get     | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 修改终端节点服务          | PUT /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}                     | vpcep:epservices:update  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 删除终端节点服务          | DELETE /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}                  | vpcep:epservices:delete  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 查询连接终端节点服务的连接列表   | GET /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/connections         | vpcep:connections:list   | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 接受或拒绝终端节点的连接      | POST /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/connections/action | vpcep:connections:update | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 查询终端节点服务的白名单列表    | GET /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/permissions         | vpcep:permissions:list   | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
| 批量添加或移除终端节点服务的白名单 | POST /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/permissions/action | vpcep:permissions:update | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | √              | ×                        |
   
 #### 终端节点
表2终端节点 
| 权限           | 对应API接口                                                          | 授权项（Action）              | 依赖的授权项                                                                                                                                                                 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询公共终端节点服务列表 | GET /v1/{project_id}/vpc-endpoint-services/public                | vpcep:pubEpservices:list | vpc:vpcs:get vpc:vpcs:list vpc:subnets:get | √              | ×                        |
| 查询终端节点服务概要   | GET /v1/{project_id}/vpc-endpoint-services/describe              | vpcep:epserviceDesc:get  | -                                                                                                                                                                      | √              | ×                        |
| 创建终端节点       | POST /{project_id}/vpc-endpoints                                 | vpcep:endpoints:create   | -                                                                                                                                                                      | √              | ×                        |
| 查询终端节点列表     | GET /{project_id}/vpc-endpoints                                  | vpcep:endpoints:list     | -                                                                                                                                                                      | √              | ×                        |
| 查询终端节点详情     | GET /v1/{project_id}/vpc-endpoints/{vpc_endpoint_id}             | vpcep:endpoints:get      | -                                                                                                                                                                      | √              | ×                        |
| 删除终端节点       | DELETE /v1/{project_id}/vpc-endpoints/{vpc_endpoint_id}          | vpcep:endpoints:delete   | -                                                                                                                                                                      | √              | ×                        |
| 修改终端节点路由表    | PUT /v1/{project_id}/vpc-endpoints/{vpc_endpoint_id}/routetables | vpcep:epRouters:update   | -                                                                                                                                                                      | √              | ×                        |
   
 #### 资源配额
表3资源配额功能 
| 权限   | 对应API接口                     | 授权项（Action）      | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询配额 | GET /v1/{project_id}/quotas | vpcep:quotas:get | -      | √              | ×                        |
   
 #### TAG
表4TAG功能 
| 权限         | 对应API接口                                                         | 授权项（Action）         | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 根据标签查询资源实例 | POST /v1/{project_id}/{resource_type}/resource_instances/action | vpcep:resource:list | -      | √              | ×                        |
| 添加或删除资源标签  | POST /v1/{project_id}/{resource_type}/{resource_id}/tags/action | vpcep:tags:update   | -      | √              | ×                        |
| 查询租户资源标签   | GET /v1/{project_id}/{resource_type}/tags                       | vpcep:tags:list     | -      | √              | ×                        |
   
