
# 策略授权参考
本章节介绍应用管理与运维平台（ServiceStage）策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
ServiceStage的支持自定义策略授权项如下所示：
表1ServiceStage授权项明细 
| 权限       | 对应API接口                                                   | 授权项                               | IAM项目 | 企业项目 |
|:---|:---|:---|:---|:---|
| 创建应用     | POST /v3/{project_id}/cas/applications                    | servicestage:app:create           | √     | √    |
| 删除应用     | DELETE /v3/{project_id}/cas/applications/{application_id} | servicestage:app:delete           | √     | √    |
| 更新应用     | PUT /v3/{project_id}/cas/applications/{application_id}    | servicestage:app:modify           | √     | √    |
| 查看应用列表   | GET /v3/{project_id}/cas/applications                     | servicestage:app:list             | √     | √    |
| 查询应用信息   | GET /v3/{project_id}/cas/applications/{application_id}    | servicestage:app:get              | √     | √    |
| 审批应用     | -                                                         | servicestage:app:approve          | √     | √    |
| 查看流水线列表  | -                                                         | servicestage:pipeline:list        | √     | √    |
| 修改构建     | -                                                         | servicestage:assembling:modify    | √     | √    |
| 执行流水线    | -                                                         | servicestage:pipeline:execute     | √     | √    |
| 删除构建     | -                                                         | servicestage:assembling:delete    | √     | √    |
| 删除流水线    | -                                                         | servicestage:pipeline:delete      | √     | √    |
| 修改流水线    | -                                                         | servicestage:pipeline:modify      | √     | √    |
| 创建构建     | -                                                         | servicestage:assembling:create    | √     | √    |
| 查看构建列表   | -                                                         | servicestage:assembling:list      | √     | √    |
| 查看构建信息   | -                                                         | servicestage:assembling:get       | √     | √    |
| 查看流水线信息  | -                                                         | servicestage:pipeline:get         | √     | √    |
| 创建流水线    | -                                                         | servicestage:pipeline:create      | √     | √    |
| 查询技术栈    | -                                                         | servicestage:runtimestack:get     | √     | √    |
| 创建技术栈    | -                                                         | servicestage:runtimestack:create  | √     | √    |
| 修改技术栈    | -                                                         | servicestage:runtimestack:modify  | √     | √    |
| 删除技术栈    | -                                                         | servicestage:runtimestack:delete  | √     | √    |
| 查询配置分组   | -                                                         | servicestage:config:getGroup      | √     | √    |
| 查询配置历史   | -                                                         | servicestage:config:getHistory    | √     | √    |
| 查询配置     | -                                                         | servicestage:config:get           | √     | √    |
| 创建配置分组   | -                                                         | servicestage:config:createGroup   | √     | √    |
| 导入配置     | -                                                         | servicestage:config:import        | √     | √    |
| 删除配置     | -                                                         | servicestage:config:delete        | √     | √    |
| 修改配置分组   | -                                                         | servicestage:config:modifyGroup   | √     | √    |
| 创建配置     | -                                                         | servicestage:config:create        | √     | √    |
| 修改配置     | -                                                         | servicestage:config:modify        | √     | √    |
| 删除配置分组   | -                                                         | servicestage:config:deleteGroup   | √     | √    |
| 删除配置历史   | -                                                         | servicestage:config:deleteHistory | √     | √    |
| 查询配置列表   | -                                                         | servicestage:config:list          | √     | √    |
| 查询配置分组列表 | -                                                         | servicestage:config:listGroup     | √     | √    |
| 查询配置历史列表 | -                                                         | servicestage:config:listHistories | √     | √    |
   
表2CSE的支持自定义策略授权项 
| 权限       | 对应API接口                                               | 授权项                 | IAM项目 | 企业项目 |
|:---|:---|:---|:---|:---|
| 列出所有引擎   | GET /v2/{project_id}/enginemgr/engines                | cse:engine:list     | √     | √    |
| 查看引擎信息   | GET /v2/{project_id}/enginemgr/engines/{engine_id}    | cse:engine:get      | √     | √    |
| 查看引擎支持规格 | GET /v2/{project_id}/enginemgr/flavors                | cse:engine:get      | √     | √    |
| 删除引擎     | DELETE /v2/{project_id}/enginemgr/engines/{engine_id} | cse:engine:delete   | √     | √    |
| 创建引擎     | POST /v2/{project_id}/enginemgr/engines               | cse:engine:create   | √     | √    |
| 服务注册管理查看 | -                                                     | cse:registry:get    | √     | √    |
| 服务注册管理修改 | -                                                     | cse:registry:modify | √     | √    |
   
