
# 策略授权参考
本章节介绍CBH策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
CBH支持的自定义策略授权项如[表1]和[表2]所示：
 表1IAM3.0支持的授权项 
| 权限             | 对应API接口                                                                                                                                                                                                                                                                                                                                                                                                                                      | 授权项（Action）                     | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询ECS配额        | GET /v2/{project_id}/cbs/instance/ecs-quota                                                                                                                                                                                                                                                                                                                                                                                                  | cbh:instance:getEcsQuota        | √              | ×                        |
| 查看云堡垒机可用区      | GET /v2/{project_id}/cbs/available-zone                                                                                                                                                                                                                                                                                                                                                                                                      | cbh:instance:getAvailableZones  | √              | ×                        |
| 登录云堡垒机         | POST /v2/{project_id}/cbs/instance/login                                                                                                                                                                                                                                                                                                                                                                                                     | cbh:instance:login              | √              | ×                        |
| 关闭云堡垒机         | POST /v2/{project_id}/cbs/instance/stop                                                                                                                                                                                                                                                                                                                                                                                                      | cbh:instance:stop               | √              | ×                        |
| 重启云堡垒机         | POST /v2/{project_id}/cbs/instance/reboot                                                                                                                                                                                                                                                                                                                                                                                                    | cbh:instance:reboot             | √              | ×                        |
| 升级云堡垒机软件版本     | POST /v2/{project_id}/cbs/instance/upgrade                                                                                                                                                                                                                                                                                                                                                                                                   | cbh:instance:upgrade            | √              | ×                        |
| 修改堡垒机admin用户密码 | PUT /v2/{project_id}/cbs/instance/password                                                                                                                                                                                                                                                                                                                                                                                                   | cbh:instance:resetPassword      | √              | ×                        |
| 启动云堡垒机         | POST /v2/{project_id}/cbs/instance/start                                                                                                                                                                                                                                                                                                                                                                                                     | cbh:instance:start              | √              | ×                        |
| 扩容云堡垒机规格       | PUT /v2/{project_id}/cbs/instance                                                                                                                                                                                                                                                                                                                                                                                                            | cbh:instance:alterSpec          | √              | ×                        |
| 创建云堡垒机         | POST /v2/{project_id}/cbs/instance                                                                                                                                                                                                                                                                                                                                                                                                           | cbh:instance:create             | √              | √                        |
| 绑定或解绑EIP       | - POST /v2/{project_id}/cbs/instance/{server_id}/eip/bind  - POST /v2/{project_id}/cbs/instance/{server_id}/eip/unbind   | cbh:instance:eipOperate         | √              | ×                        |
| 委托授权给CBH       | POST /v2/{project_id}/cbs/agency/authorization                                                                                                                                                                                                                                                                                                                                                                                               | cbh:agency:authorize            | √              | ×                        |
| 查询云堡垒机列表       | GET /v2/{project_id}/cbs/instance/list                                                                                                                                                                                                                                                                                                                                                                                                       | cbh:instance:list               | √              | ×                        |
| 切换堡垒机实例的虚拟私有云  | PUT /v2/{project_id}/cbs/instance/vpc                                                                                                                                                                                                                                                                                                                                                                                                        | cbh:instance:switchInstanceVpc  | √              | ×                        |
| 登录堡垒机admin控制台  | GET /v2/{project_id}/cbs/instances/{server_id}/admin-url                                                                                                                                                                                                                                                                                                                                                                                     | cbh:instance:loginInstanceAdmin | √              | ×                        |
| 修改单机堡垒机实例类型    | PUT /v2/{project_id}/cbs/instance/type                                                                                                                                                                                                                                                                                                                                                                                                       | cbh:instance:changeInstanceType | √              | ×                        |
| 获取堡垒机内资产运维链接   | GET /v2/{project_id}/cbs/instance/get-om-url                                                                                                                                                                                                                                                                                                                                                                                                 | cbh:instance:getOmUrl           | √              | ×                        |
   
 表2IAM5.0支持的授权项 
| 权限                     | 对应API接口                                                       | 授权项（Action）                                                                                               | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | IAM项目(Project) | 企业项目(Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 授予查询ECS资源配额的权限。        | GET /v2/{project_id}/cbs/instance/ecs-quota                   | cbh::getEcsQuota                                                                                          | ecs:cloudServerFlavors:get                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | √              | ×                        |
| 授予查询堡垒机实例配额的权限。        | GET /v2/{project_id}/cbs/instance/quota                       | cbh::getQuota                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予查询堡垒机状态的权限。          | GET /v2/{project_id}/cbs/instance/{server_id}/status          | cbh:instance:getInstanceStatus                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予获取堡垒机内资产运维链接的权限。     | GET /v2/{project_id}/cbs/instance/get-om-url                  | cbh:instance:getOmUrl                                                                                     | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予获取租户给堡垒机服务委托授权信息的权限。 | GET /v2/{project_id}/cbs/agency/authorization                 | cbh::getAuthorization                                                                                     | - iam:agencies:listAgencies  - iam:permissions:listRolesForAgencyOnProject                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | √              | ×                        |
| 授予查询堡垒机实例资源的标签信息的权限。   | GET /v2/{project_id}/cbs/instance/{resource_id}/tags          | cbh:instance:getInstanceTags                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予启动堡垒机的权限。            | POST /v2/{project_id}/cbs/instance/start                      | cbh:instance:startInstance                                                                                | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予关闭堡垒机的权限。            | POST /v2/{project_id}/cbs/instance/stop                       | cbh:instance:stopInstance                                                                                 | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予重启堡垒机的权限。            | POST /v2/{project_id}/cbs/instance/reboot                     | cbh:instance:rebootInstance                                                                               | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予升级堡垒机的权限。            | POST /v2/{project_id}/cbs/instance/upgrade                    | cbh:instance:upgradeInstance                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予回滚堡垒机的权限。            | POST /v2/{project_id}/cbs/instance/rollback                   | cbh:instance:rollbackInstance                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予以IAM用户登录堡垒机的权限。      | POST /v2/{project_id}/cbs/instance/login                      | cbh:instance:loginInstance                                                                                | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予重置堡垒机密码的权限。          | PUT /v2/{project_id}/cbs/instance/password                    | cbh:instance:resetInstancePassword                                                                        | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予切换堡垒机实例虚拟私有云的权限。     | PUT /v2/{project_id}/cbs/instance/vpc                         | cbh:instance:switchInstanceVpc                                                                            | vpc:subnets:get                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | √              | ×                        |
| 授予重置堡垒机登录方式的权限。        | PUT /v2/{project_id}/cbs/instance/login-method                | cbh:instance:resetInstanceLoginMethod                                                                     | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予删除故障堡垒机的权限。          | DELETE /v2/{project_id}/cbs/instance                          | cbh:instance:deleteInstance                                                                               | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予变更堡垒机的权限。            | PUT /v2/{project_id}/cbs/instance                             | cbh:instance:alterInstance                                                                                | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予创建堡垒机的权限。            | POST /v2/{project_id}/cbs/instance                            | cbh:instance:createInstance                                                                               | - vpc:quotas:list  - vpc:subnets:list  - vpc:subnets:get  - vpc:securityGroups:get  - ecs:cloudServerFlavors:get                                                                                                                                                                                                                  | √              | √                        |
| 授予为堡垒机绑定EIP的权限。        | POST /v2/{project_id}/cbs/instance/{server_id}/eip/bind       | cbh:instance:bindInstanceEip                                                                              | - eip:publicIps:list  - eip:publicIps:update  - eip:publicIps:get  - eip:publicIps:associateInstance                                                                                                                                                                                                                                                                                                                                                       | √              | ×                        |
| 授予为堡垒机解绑EIP的权限。        | POST /v2/{project_id}/cbs/instance/{server_id}/eip/unbind     | cbh:instance:unbindInstanceEip                                                                            | - eip:publicIps:list  - eip:publicIps:update  - eip:publicIps:disassociateInstance                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | √              | ×                        |
| 授予更新堡垒机安全组的权限。         | PUT /v2/{project_id}/cbs/instance/{server_id}/security-groups | cbh:instance:updateInstanceSecurityGroup                                                                  | - vpc:ports:update  - vpc:securityGroups:list                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | √              | ×                        |
| 授予创建或取消堡垒机服务委托授权的权限。   | POST /v2/{project_id}/cbs/agency/authorization                | cbh::operateAuthorization                                                                                 | - iam:agencies:listAgencies  - iam:permissions:listRolesForAgencyOnProject  - iam:agencies:createAgency  - iam:agencies:deleteAgency  - iam:permissions:grantRoleToAgencyOnProject  - iam:permissions:revokeRoleFromAgencyOnProject   | √              | ×                        |
| 授予用户登录堡垒机admin控制台的权限。  | GET /v2/{project_id}/cbs/instances/{server_id}/admin-url      | cbh:instance:loginInstanceAdmin                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予用户修改单机堡垒机实例类型的权限。    | PUT /v2/{project_id}/cbs/instance/type                        | cbh:instance:changeInstanceType                                                                           | - vpc:quotas:list  - vpc:subnets:list  - vpc:subnets:get  - vpc:securityGroups:get  - ecs:cloudServerFlavors:get                                                                                                                                                                                                                                                 | √              | ×                        |
| 授予查询全部可用区的权限。          | GET /v2/{project_id}/cbs/available-zone                       | cbh::listAvailableZones                                                                                   | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予查询堡垒机规格的权限。          | GET /v2/{project_id}/cbs/instance/specification               | cbh::listSpecifications                                                                                   | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予查询堡垒机列表的权限。          | GET /v2/{project_id}/cbs/instance/list                        | cbh:instance:listInstances                                                                                | eps:enterpriseProjects:list                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | √              | ×                        |
| 授予查询全部标签的权限。           | GET /v2/{project_id}/cbs/instance/tags                        | cbh::listTags                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予使用标签过滤实例的权限。         | POST /v2/{project_id}/cbs/instance/filter                     | cbh:instance:listInstancesByTag                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予统计符合标签条件的实例数量的权限。    | POST /v2/{project_id}/cbs/instance/count                      |  cbh:instance:countInstancesByTag  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
| 授予操作堡垒机实例资源标签的权限。      | POST /v2/{project_id}/cbs/instance/{resource_id}/tags/action  | cbh:instance:operateInstanceTags                                                                          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | √              | ×                        |
   
