
# 策略授权参考
本章节介绍云应用引擎（CAE）策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
云应用引擎（CAE）的支持自定义策略授权项如下所示。
#### 环境管理
| 权限     | 对应API接口                                                   | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取环境列表 | GET /v1/{project_id}/cae/environments                     | cae:environment:list   | √                                              | ×                                                      |
| 创建环境   | POST /v1/{project_id}/cae/environments                    | cae:environment:create | √                                              | √                                                      |
| 删除环境   | Delete /v1/{project_id}/cae/environments/{environment_id} | cae:environment:delete | √                                              | √                                                      |
   
#### 应用管理
| 权限     | 对应API接口                                                   | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取应用列表 | GET /v1/{project_id}/cae/applications                     | cae:application:list   | √                                             | ×                                                       |
| 创建应用   | POST /v1/{project_id}/cae/applications                    | cae:application:create | √                                             | √                                                       |
| 获取应用详情 | GET /v1/{project_id}/cae/applications/{application_id}    | cae:application:get    | √                                             | ×                                                       |
| 删除应用   | DELETE /v1/{project_id}/cae/applications/{application_id} | cae:application:delete | √                                             | √                                                       |
   
#### 组件管理
| 权限           | 对应API接口                                                                                    | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建组件         | Post /v1/{project_id}/cae/applications/{application_id}/components                         | cae:application:create | √                                            | √                                                       |
| 获取组件列表       | Get /v1/{project_id}/cae/applications/{application_id}/components                          | cae:application:list   | √                                            | √                                                       |
| 获取组件详情       | Get /v1/{project_id}/cae/applications/{application_id}/components/{component_id}           | cae:application:get    | √                                            | √                                                       |
| 更新组件         | Put /v1/{project_id}/cae/applications/{application_id}/components/{component_id}           | cae:application:modify | √                                            | √                                                       |
| 删除组件         | Delete /v1/{project_id}/cae/applications/{application_id}/components/{component_id}        | cae:application:delete | √                                            | √                                                       |
| 创建、生效配置并部署组件 | Post /v1/{project_id}/cae/applications/{application_id}/component-with-configurations      | cae:application:create | √                                            | √                                                       |
| 操作组件         | Post /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action   | cae:application:modify | √                                            | √                                                       |
| 获取组件快照列表     | Get /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/snapshots | cae:application:list   | √                                            | ×                                                       |
| 获取组件实例列表     | Get /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/instances | cae:application:list   | √                                            | ×                                                       |
   
#### 组件配置管理
| 权限            | 对应API接口                                                                                                     | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取组件配置列表      | GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations             | cae:application:get    | √                                            | √                                                     |
| 创建组件配置        | POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations            | cae:application:create | √                                            | √                                                     |
| 删除组件配置        | DELETE /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations          | cae:application:delete | √                                            | √                                                     |
| 查询的历史版本对比信息详情 | Get /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configuration-history      | cae:application:list   | √                                            | ×                                                     |
| 查询的历史版本的变更时间  | Get /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configuration-history-time | cae:application:get    | √                                            | ×                                                     |
   
#### 云存储管理
| 权限      | 对应API接口                                  | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取云存储列表 | GET /v1/{project_id}/cae/volumes         | cae:environment:list   | √                                            | √                                                       |
| 授权云存储   | POST /v1/{project_id}/cae/volumes        | cae:environment:create | √                                            | √                                                       |
| 解绑云存储   | DELETE /v1/{project_id}/cae/volumes/{id} | cae:environment:delete | √                                            | √                                                       |
   
#### 任务管理
| 权限     | 对应API接口                                 | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取任务详情 | GET /v1/{project_id}/cae/jobs/{job_id}  | cae:environment:get    | √                                            | ×                                                     |
| 重试任务   | POST /v1/{project_id}/cae/jobs/{job_id} | cae:environment:create | √                                            | ×                                                     |
   
#### 域名管理
| 权限     | 对应API接口                                         | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取域名列表 | GET /v1/{project_id}/cae/domains                | cae:environment:get    | √                                          | √                                                  |
| 创建域名   | POST /v1/{project_id}/cae/domains               | cae:environment:create | √                                          | √                                                  |
| 删除域名   | DELETE /v1/{project_id}/cae/domains/{domain_id} | cae:environment:delete | √                                          | √                                                  |
   
#### 证书管理
| 权限     | 对应API接口                                                   | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取证书列表 | GET /v1/{project_id}/cae/certificates                     | cae:environment:get    | √                                             | √                                                     |
| 创建证书   | POST /v1/{project_id}/cae/certificates                    | cae:environment:create | √                                             | √                                                     |
| 修改证书   | PUT /v1/{project_id}/cae/certificates/{certificate_id}    | cae:environment:update | √                                             | √                                                     |
| 删除证书   | DELETE /v1/{project_id}/cae/certificates/{certificate_id} | cae:environment:delete | √                                             | √                                                     |
   
#### 定时启停规则管理
| 权限              | 对应API接口                                                                | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取定时启停规则列表      | GET /v1/{project_id}/cae/timer-rules                                   | cae:environment:get    | √                                             | √                                                       |
| 创建定时启停规则        | POST /v1/{project_id}/cae/timer-rules                                  | cae:environment:create | √                                             | √                                                       |
| 删除定时启停规则        | DELETE /v1/{project_id}/cae/timer-rules/{timer_rule_id}                | cae:environment:delete | √                                             | √                                                       |
| 修改定时启停规则        | PUT /v1/{project_id}/cae/timer-rules/{timer_rule_id}                   | cae:environment:update | √                                             | √                                                       |
| 获取上次定时启停规则的执行情况 | GET /v1/{project_id}/cae/timer-rules/{timer_rule_id}/execution-results | cae:environment:get    | √                                             | √                                                       |
   
#### 弹性公网IP管理
| 权限             | 对应API接口                       | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取集群节点弹性公网IP列表 | GET /v1/{project_id}/cae/eips | cae:environment:get    | √                                              | √                                                        |
| 修改出入网带宽以及开闭状态  | PUT /v1/{project_id}/cae/eips | cae:environment:update | √                                              | √                                                        |
   
#### 监控系统管理
| 权限       | 对应API接口                                                     | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取监控系统配置 | GET /v1/{project_id}/cae/monitor-system                     | cae:environment:get    | √                                           | √                                                     |
| 创建监控系统配置 | POST /v1/{project_id}/cae/monitor-system                    | cae:environment:create | √                                           | √                                                     |
| 更新监控系统配置 | PUT /v1/{project_id}/cae/monitor-system/{monitor_system_id} | cae:environment:update | √                                           | √                                                     |
   
#### CAE环境访问VPC
| 权限             | 对应API接口                                                | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取CAE环境访问VPC配置 | GET /v1/{project_id}/cae/vpc-egress                    | cae:environment:get    | √                                            | √                                                      |
| 创建CAE环境访问VPC配置 | POST /v1/{project_id}/cae/vpc-egress                   | cae:environment:create | √                                            | √                                                      |
| 删除CAE环境访问VPC配置 | DELETE /v1/{project_id}/cae/vpc-egress/{vpc_egress_id} | cae:environment:delete | √                                            | √                                                      |
   
#### 事件通知规则管理
| 权限         | 对应API接口                                            | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建事件通知规则   | POST /v1/{project_id}/cae/notice-rules             | cae:environment:create | √                                              | √                                                      |
| 查询事件通知规则列表 | GET /v1/{project_id}/cae/notice-rules              | cae:environment:get    | √                                              | √                                                      |
| 修改事件通知规则   | PUT /v1/{project_id}/cae/notice-rules/{rule_id}    | cae:environment:update | √                                              | √                                                      |
| 查询事件通知规则   | GET /v1/{project_id}/cae/notice-rules/{rule_id}    | cae:environment:get    | √                                              | √                                                      |
| 删除事件通知规则   | DELETE /v1/{project_id}/cae/notice-rules/{rule_id} | cae:environment:delete | √                                              | √                                                      |
   
#### VPC访问CAE环境管理
| 权限             | 对应API接口                                                  | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取VPC访问CAE环境配置 | GET /v1/{project_id}/cae/vpc-ingress                     | cae:environment:get    | √                                           | √                                                    |
| 创建VPC访问CAE环境配置 | POST /v1/{project_id}/cae/vpc-ingress                    | cae:environment:create | √                                           | √                                                    |
| 删除VPC访问CAE环境配置 | DELETE /v1/{project_id}/cae/vpc-ingress/{vpc_ingress_id} | cae:environment:delete | √                                           | √                                                    |
   
#### 凭据管理
| 权限                  | 对应API接口                                                               | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 关联租户已注册的凭据          | POST /v1/{project_id}/cae/dew-secrets                                 | cae:environment:create | √                                           | √                                                       |
| 获取用户现有的凭据           | GET /v1/{project_id}/cae/dew-secrets                                  | cae:environment:get    | √                                           | √                                                       |
| 修改用户已在DEW服务上注册的凭据版本 | PUT /v1/{project_id}/cae/dew-secrets/{secret_id}                      | cae:environment:update | √                                           | √                                                       |
| 删除用户已在DEW服务上注册的凭据   | DELETE /v1/{project_id}/cae/dew-secrets/{secret_id}                   | cae:environment:delete | √                                           | √                                                       |
| 获取当前正在使用对应凭据组件列表    | GET /v1/{project_id}/cae/dew-secrets/{secret_id}/effective-components | cae:environment:get    | √                                           | √                                                       |
   
#### URL监控管理
| 权限        | 对应API接口                                             | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 修改URL监控配置 | PUT /v1/{project_id}/cae/url-monitor/configurations | cae:environment:update | √                                            | √                                                       |
| 获取URL监控配置 | GET /v1/{project_id}/cae/url-monitor/configurations | cae:environment:get    | √                                            | √                                                       |
   
#### 出网配置管理
| 权限     | 对应API接口                                | 授权项（Action）         | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询出网配置 | GET /v1/{project_id}/cae/egress-config | cae:environment:get | √                                           | √                                                     |
   
#### 入网配置管理
| 权限         | 对应API接口                                                         | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建入网域名后缀   | POST /v1/{project_id}/cae/ingress-configs                       | cae:environment:create | √                                           | √                                                    |
| 查询入网域名后缀列表 | GET /v1/{project_id}/cae/ingress-configs                        | cae:environment:get    | √                                           | √                                                    |
| 修改入网域名后缀   | PUT /v1/{project_id}/cae/ingress-configs/{ingress_config_id}    | cae:environment:update | √                                           | √                                                    |
| 删除入网域名后缀   | DELETE /v1/{project_id}/cae/ingress-configs/{ingress_config_id} | cae:environment:delete | √                                           | √                                                    |
   
