
# 策略授权参考
本章节介绍GA策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
全球加速支持的自定义策略授权项如下所示：
- [加速器]：包含创建加速器、查询加速器列表、查询加速器详情、更新加速器、删除加速器等接口。
- [监听器]：包含创建监听器、查询监听器列表、查询监听器详情、更新监听器、删除监听器等接口。
- [终端节点组]：包含创建终端节点组、查询终端节点组列表、查询终端节点组详情、更新终端节点组、删除终端节点组等接口。
- [终端节点]：包含创建终端节点、查询终端节点列表、查询终端节点详情、更新终端节点、删除终端节点等接口。
- [健康检查]：包含创建健康检查、查询健康检查列表、查询健康检查详情、更新健康检查、删除健康检查等接口。
- [IP地址组]：包含创建IP地址组、查询IP地址组列表、查询IP地址组详情、更新IP地址组、删除IP地址组、添加IP地址组中的IP条目、删除IP地址组中的IP条目、绑定IP地址组与监听器、解绑IP地址组与监听器等接口。
- [标签]：包含创建标签、删除标签、查询标签等接口。
 
 #### 加速器
表1加速器 
| 权限      | 对应API接口                                  | 授权项（Action）           | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建加速器   | POST /v1/accelerators                    | ga:accelerator:create | -      | √              | ×                        |
| 查询加速器列表 | GET /v1/accelerators                     | ga:accelerator:list   | -      | √              | ×                        |
| 查询加速器详情 | GET /v1/accelerators/{accelerator_id}    | ga:accelerator:get    | -      | √              | ×                        |
| 更新加速器   | PUT /v1/accelerators/{accelerator_id}    | ga:accelerator:update | -      | √              | ×                        |
| 删除加速器   | DELETE /v1/accelerators/{accelerator_id} | ga:accelerator:delete | -      | √              | ×                        |
   
 #### 监听器
表2监听器 
| 权限      | 对应API接口                            | 授权项（Action）        | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建监听器   | POST /v1/listeners                 | ga:listener:create | -      | √              | ×                        |
| 查询监听器列表 | GET /v1/listeners                  | ga:listener:list   | -      | √              | ×                        |
| 查询监听器详情 | GET /v1/listeners/{listener_id}    | ga:listener:get    | -      | √              | ×                        |
| 更新监听器   | PUT /v1/listeners/{listener_id}    | ga:listener:update | -      | √              | ×                        |
| 删除监听器   | DELETE /v1/listeners/{listener_id} | ga:listener:delete | -      | √              | ×                        |
   
 #### 终端节点组
表3终端节点组 
| 权限        | 对应API接口                                        | 授权项（Action）             | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建终端节点组   | POST /v1/endpoint-groups                       | ga:endpointgroup:create | -      | √              | ×                        |
| 查询终端节点组列表 | GET /v1/endpoint-groups                        | ga:endpointgroup:list   | -      | √              | ×                        |
| 查询终端节点组详情 | GET /v1/endpoint-groups/{endpoint_group_id}    | ga:endpointgroup:get    | -      | √              | ×                        |
| 更新终端节点组   | PUT /v1/endpoint-groups/{endpoint_group_id}    | ga:endpointgroup:update | -      | √              | ×                        |
| 删除终端节点组   | DELETE /v1/endpoint-groups/{endpoint_group_id} | ga:endpointgroup:delete | -      | √              | ×                        |
   
 #### 终端节点
表4终端节点 
| 权限       | 对应API接口                                                                | 授权项（Action）        | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建终端节点   | POST /v1/endpoint-groups/{endpoint_group_id}/endpoints                 | ga:endpoint:create | -      | √              | ×                        |
| 查询终端节点列表 | GET /v1/endpoint-groups/{endpoint_group_id}/endpoints                  | ga:endpoint:list   | -      | √              | ×                        |
| 查询终端节点详情 | GET /v1/endpoint-groups/{endpoint_group_id}/endpoints/{endpoint_id}    | ga:endpoint:get    | -      | √              | ×                        |
| 更新终端节点   | PUT /v1/endpoint-groups/{endpoint_group_id}/endpoints/{endpoint_id}    | ga:endpoint:update | -      | √              | ×                        |
| 删除终端节点   | DELETE /v1/endpoint-groups/{endpoint_group_id}/endpoints/{endpoint_id} | ga:endpoint:delete | -      | √              | ×                        |
   
 #### 健康检查
表5健康检查 
| 权限       | 对应API接口                                    | 授权项（Action）           | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建健康检查   | POST /v1/health-checks                     | ga:healthcheck:create | -      | √              | ×                        |
| 查询健康检查列表 | GET /v1/health-checks                      | ga:healthcheck:list   | -      | √              | ×                        |
| 查询健康检查详情 | GET /v1/health-checks/{health_check_id}    | ga:healthcheck:get    | -      | √              | ×                        |
| 更新健康检查   | PUT /v1/health-checks/{health_check_id}    | ga:healthcheck:update | -      | √              | ×                        |
| 删除健康检查   | DELETE /v1/health-checks/{health_check_id} | ga:healthcheck:delete | -      | √              | ×                        |
   
 #### IP地址组
表6IP地址组 
| 权限            | 对应API接口                                                | 授权项（Action）                     | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建IP地址组       | POST /v1/ip-groups                                     | ga:ipgroup:create               | -      | √              | ×                        |
| 查询IP地址组列表     | GET /v1/ip-groups                                      | ga:ipgroup:list                 | -      | √              | ×                        |
| 查询IP地址组详情     | GET /v1/ip-groups/{ip_group_id}                        | ga:ipgroup:get                  | -      | √              | ×                        |
| 更新IP地址组       | PUT /v1/ip-groups/{ip_group_id}                        | ga:ipgroup:update               | -      | √              | ×                        |
| 删除IP地址组       | DELETE /v1/ip-groups/{ip_group_id}                     | ga:ipgroup:delete               | -      | √              | ×                        |
| 添加IP地址组中的IP条目 | POST /v1/ip-groups/{ip_group_id}/add-ips               | ga:ipgroup:addIps               | -      | √              | ×                        |
| 删除IP地址组中的IP条目 | POST /v1/ip-groups/{ip_group_id}/remove-ips            | ga:ipgroup:removeIps            | -      | √              | ×                        |
| 绑定IP地址组与监听器   | POST /v1/ip-groups/{ip_group_id}/associate-listener    | ga:ipgroup:associateListener    | -      | √              | ×                        |
| 解绑IP地址组与监听器   | POST /v1/ip-groups/{ip_group_id}/disassociate-listener | ga:ipgroup:disassociateListener | -      | √              | ×                        |
   
 #### 标签
表7标签 
| 权限   | 对应API接口                                              | 授权项（Action）   | 依赖的授权项 | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 创建标签 | POST /v1/{resource_type}/{resource_id}/tags/create   | ga:tag:create | -      | √              | ×                        |
| 删除标签 | DELETE /v1/{resource_type}/{resource_id}/tags/delete | ga:tag:delete | -      | √              | ×                        |
| 查询标签 | GET /v1/{resource_type}/{resource_id}/tags           | ga:tag:get    | -      | √              | ×                        |
   
