# 策略授权参考
本章节介绍COC策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
COC的支持自定义策略授权项如下所示：
#### 应用资源管理
表1应用资源管理 
| 权限                 | 对应API接口                                      | 授权项（Action）                           | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询资源数量            | GET /v1/resources/count                     | coc:instance:countResources          | √                                               | ×                                                            |
| 查询应用列表              | GET /v1/applications                          | coc:application:list                 | √                                                | ×                                                            |
| 创建应用               | POST /v1/applications                         | coc:application:create               | √                                                | ×                                                          |
| 更新应用             | PUT /v1/applications/{id}                   | coc:application:update                | √                                                  | ×                                                           |
| 删除应用              | DELETE /v1/applications/{id}                 | coc:application:delete               | √                                                | ×                                                          |
| 创建分组               | POST /v1/groups                              | coc:application:createGroup          | √                                               | ×                                                           |
| 查询分组列表          | GET /v1/groups                                | coc:application:listGroups            | √                                                | ×                                                          |
| 更新分组              | PUT /v1/groups/{id}                           | coc:application:updateGroup            | √                                                 | ×                                                          |
| 删除分组              | DELETE /v1/groups/{id}                       | coc:application:deleteGroup          | √                                               | ×                                                         |
| 根据绑定规则同步分组资源       | POST /v1/groups/{id}/sync                    | coc:application:syncGroup             | √                                               | ×                                                           |
| 更新分组资源关系         | PUT /v1/group-resource-relations             | coc:application:updateResources      | √                                                 | ×                                                           |
| 创建分组资源关系         | POST /v1/group-resource-relations           | coc:application:addResources          | √                                              | ×                                                          |
| 删除分组资源关系          | DELETE /v1/group-resource-relations           | coc:application:removeResources      | √                                                | ×                                                            |
| 查询分组资源关系列表        | GET /v1/group-resource-relations             | coc:application:listResources        | √                                                | ×                                                          |
| 查询分组资源关系数量       | GET /v1/group-resource-relations/count     | coc:application:countResourceRelations | √                                               | ×                                                             |
| 导入离线资源           | POST /v1/other-resources/import             | coc:instance:syncResources            | √                                                 | ×                                                           |
| 创建组件               | POST /v1/components                           | coc:application:create               | √                                              | ×                                                           |
| 查询组件列表           | GET /v1/components                          | coc:application:list                | √                                                | ×                                                           |
| 更新组件              | PUT /v1/components/{id}                      | coc:application:update              | √                                                | ×                                                           |
| 删除组件              | DELETE /v1/components/{id}                    | coc:application:delete               | √                                               | ×                                                          |
| 查询应用视图            | GET /v1/application-view/search              | coc:application:list                 | √                                               | ×                                                           |
| 查询应用维度的云资源容量值      | POST /v1/capacity                            | coc:application:getCapacity            | √                                              | ×                                                            |
| 查询应用、组件、分组的资源容量排名 | GET /v1/capacity/order                       | coc:application:getSortedCapacity   | √                                                 | ×                                                           |
| 新增云厂商账户             | POST /v1/vendor-account                      | coc:vendorAccount:create             | √                                              | ×                                                         |
| 查询云厂商账户列表          | GET /v1/vendor-account                       | coc:vendorAccount:list                 | √                                                 | ×                                                          |
| 更新云厂商账户           | PUT /v1/vendor-account                       | coc:vendorAccount:update            | √                                               | ×                                                           |
| 删除云厂商账户            | DELETE /v1/vendor-account                      | coc:vendorAccount:delete             | √                                                | ×                                                          |
| 查询多云资源数量           | GET /v1/multicloud-resources/count            | coc:instance:countResources          | √                                                 | ×                                                          |
| 同步多云资源            | POST /v1/multicloud-resources/sync          | coc:instance:syncResources            | √                                                 | ×                                                          |
| 查询视图列表           | GET /v1/resource/views                      | coc:resourceView:list                  | √                                                | ×                                                           |
| 创建视图                | POST /v1/resource/views                    | coc:resourceView:create               | √                                                  | ×                                                           |
| 更新视图               | PUT /v1/resource/views/{id}                   | coc:resourceView:update               | √                                                  | ×                                                           |
| 删除视图               | DELETE /v1/resource/views/{id}               | coc:resourceView:delete                | √                                               | ×                                                           |
| 同步视图资源            | POST /v1/resource/views/{id}/sync            | coc:resourceView:syncResources        | √                                                 | ×                                                            |
| 查询视图资源            | GET /v1/resource/views/resources              | coc:resourceView:listResources       | √                                              | ×                                                          |
| 查询视图资源数量            | GET /v1/resource/views/resources/count       | coc:resourceView:countResources     | √                                                | ×                                                           |
| 查询离线资源列表        | GET /v1/other-resources                      | coc:instance:listResources             | √                                              | ×                                                            |
| 删除离线资源             | DELETE /v1/other-resources                   | coc:instance:syncResources           | √                                                | ×                                                          |
| 更新离线资源             | PUT /v1/other-resources/{id}                 | coc:instance:syncResources           | √                                              | ×                                                           |
| 查询离线资源数量          | GET /v1/other-resources/count               | coc:instance:countOtherResources      | √                                                  | ×                                                          |
| 查询资源标签            | GET /v1/resources/{resource_id}/tags        | coc:instance:listResourceTags         | √                                              | ×                                                           |
| 添加资源标签           | POST /v1/resources/{resource_id}/tags       | coc:instance:createResourceTags       | √                                                | ×                                                            |
| 同步资源uniagent状态    | POST /v1/resources/uniagent/sync            | coc:instance:syncResources            | √                                                 | ×                                                           |
| 同步离线资源uniagent状态   | POST /v1/other-resources/uniagent/sync      | coc:instance:syncResources            | √                                              | ×                                                          |
| 查询企业项目收藏列表        | GET /v1/enterprise-project-collect           | coc:enterpriseProject:listCollect      | √                                               | ×                                                           |
| 更新企业项目收藏           | PUT /v1/enterprise-project-collect          | coc:enterpriseProject:updateCollect  | √                                                | ×                                                           |
| 查询多云资源最新一次更新的状态  | GET /v1/multicloud-resources/last-sync-status | coc:system:getLastSyncStatus          | √                                               | ×                                                            |
| 查询异步任务状态         | GET /v1/jobs/{job_id}                         | coc:system:getResourceSyncJobDetail     | √                                               | ×                                                          |
| 查询多云资源           | GET /v1/multicloud-resources                 | coc:instance:listResources             | √                                               | ×                                                            |
| 查询应用模型的下一层级       | GET /v1/application-model/next               | coc:application:listModel            | √                                               | ×                                                           |
| 创建应用模型           | POST /v1/application-view/batch-create        | coc:application:create               | √                                                | ×                                                            |
| 查询资源列表            | GET /v1/resources                            | coc:instance:listResources           | √                                                 | ×                                                         |
   
#### 脚本管理
表2脚本管理 
| 权限                    | 对应API接口                                                         | 授权项（Action）                   | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取自动分批结果                | POST /v1/instances/batches                                      | coc:instance:autoBatchInstances | √                                                   | ×                                                             |
| 通过正则表达式，评估脚本是否保存常见的高危命令 | POST /v1/job/analyze-job                                       | coc:document:analyzeRisk         | √                                                  | ×                                                              |
| 自定义脚本执行               | POST /v1/job/scripts/{script_uuid}                              | coc:instance:executeDocument   | √                                                   | ×                                                            |
| 公共脚本执行                  | POST /v1/job/public-scripts/{script_uuid}                        | coc:instance:executeDocument   | √                                                   | ×                                                             |
| 自定义脚本列表                | GET /v1/job/scripts                                            | coc:document:list               | √                                                   | ×                                                             |
| 自定义脚本详情                 | GET /v1/job/scripts/{script_uuid}                              | coc:document:get                | √                                                   | ×                                                           |
| 自定义脚本创建               | POST /v1/job/scripts                                           | coc:document:create              | √                                                   | ×                                                            |
| 自定义脚本修改                | PUT /v1/job/scripts/{script_uuid}                               | coc:document:update             | √                                                   | ×                                                             |
| 自定义脚本删除               | DELETE /v1/job/scripts/{script_uuid}                           | coc:document:delete              | √                                                   | ×                                                           |
| 自定义脚本审批               | POST /v1/job/scripts/{script_uuid}/action                      | coc:document:update             | √                                                  | ×                                                              |
| 公共脚本列表                 | GET /v1/job/public-scripts                                      | coc:document:list              | √                                                   | ×                                                            |
| 公共脚本详情                 | GET /v1/job/public-scripts/{script_uuid}                         | coc:document:get              | √                                                   | ×                                                               |
| 脚本工单列表                 | GET /v1/job/script/orders                                      | coc:job:list                   | √                                                 | ×                                                           |
| 脚本工单基本信息               | GET /v1/job/script/orders/{execute_uuid}                        | coc:job:get                      | √                                                  | ×                                                              |
| 脚本工单批次详情              | GET /v1/job/script/orders/{execute_uuid}/batches/{batch_index} | coc:job:get                      | √                                                   | ×                                                            |
| 脚本工单批次列表                | GET /v1/job/script/orders/{execute_uuid}/batches                | coc:job:get                   | √                                                   | ×                                                            |
| 脚本工单统计信息               | GET /v1/job/script/orders/{execute_uuid}/statistics            | coc:job:get                     | √                                                    | ×                                                             |
| 脚本工单操作                | PUT /v1/job/script/orders/{execute_uuid}/operation              | coc:job:action                   | √                                                   | ×                                                              |
| 查询资源标签列表              | GET /v1/script/coc:script/tags                                  | coc:document:list               | √                                                    | ×                                                            |
| 更新资源标签                | POST /v1/script/coc:script/{resource_id}/tags/update            | coc:document:update             | √                                                 | ×                                                            |
   
#### 作业管理
表3作业管理 
| 权限                       | 对应API接口                              | 授权项（Action）                          | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询用户自定义作业列表                 | GET /v1/documents                     | coc:document:createDocument             | √                                                | ×                                                            |
| 创建用户自定义作业                  | POST /v1/documents                      | coc:document:listDocument               | √                                                 | ×                                                            |
| 获取作业原子能力列表                | GET /v1/atomics                        | coc:documentAtomic:list                 | √                                                 | ×                                                             |
| 获取原子能力详细                 | GET /v1/atomics/{atomic_unique_key}     | coc:documentAtomic:get                  | √                                                | ×                                                            |
| 修改用户自定义作业                | PUT /v1/documents/{document_id}        | coc:document:updateDocument              | √                                                | ×                                                             |
| 执行用户自定义作业                 | POST /v1/documents/{document_id}       | coc:document:execute                   | √                                                | ×                                                             |
| 查询用户自定义作业详情              | GET /v1/documents/{document_id}      | coc:document:getDocument                | √                                                | ×                                                            |
| 删除用户自定义作业                 | DELETE /v1/documents/{document_id}   | coc:document:deleteDocument              | √                                                  | ×                                                             |
| 查询用户作业工单详情                 | GET /v1/executions/{execution_id}    | coc:execution:get                        | √                                                | ×                                                             |
| 查询用户工单步骤详情               | GET /v1/executions/{execution_id}/steps | coc:execution:listExecutionStep         | √                                                | ×                                                            |
| 查询用户作业工单列表              | GET /v1/executions                    | coc:execution:list                      | √                                                  | ×                                                            |
| 查询工单步骤批次实例，如脚本分批操作里的ECS实例 | GET /v1/executions/instances         | coc:execution:listExecutionStepInstance | √                                                | ×                                                             |
| 操作用户作业工单                   | POST /v1/executions                  | coc:execution:operate                   | √                                                | ×                                                             |
   
#### 补丁管理
表4补丁管理 
| 权限       | 对应API接口                                                  | 授权项（Action）                | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取节点合规性报告 | GET /v1/patch/instance/compliant                         | coc:complianceReport:list | √                                             | ×                                                       |
| 分页获取节点补丁详情 | GET /v1/patch/instance/compliant/{instance_compliant_id} | coc:complianceReport:get  | √                                            | ×                                                       |
   
#### 定时运维
表5定时运维 
| 权限           | 对应API接口                                    | 授权项（Action）                 | 依赖的授权项                                                             | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 新建定时运维任务     | POST /v1/schedule/task                    | coc:schedule:create        | iam:agencies:pass （授予向云服务传递委托的权限） | ×                                               | √                                                          |
| 查询定时运维任务列表 | GET /v1/schedule/task                     | coc:schedule:list        | 不涉及                                                                 | ×                                               | √                                                         |
| 修改定时运维任务      | PUT /v1/schedule/task/{task_id}           | coc:schedule:update        | iam:agencies:pass （授予向云服务传递委托的权限） | ×                                              | √                                                        |
| 查询定时运维任务详情   | GET /v1/schedule/task/{task_id}          | coc:schedule:get           | 不涉及                                                               | ×                                                 | √                                                           |
| 删除定时运维任务      | DELETE /v1/schedule/task/{task_id}        | coc:schedule:delete        | 不涉及                                                                | ×                                             | √                                                          |
| 启用定时运维任务   | POST /v1/schedule/task/{task_id}/enable  | coc:schedule:enable       | 不涉及                                                                 | ×                                             | √                                                         |
| 禁用定时运维任务      | POST /v1/schedule/task/{task_id}/disable | coc:schedule:disable       | 不涉及                                                                | ×                                               | √                                                           |
| 查询定时运维任务历史记录 | GET /v1/schedule/task/history              | coc:schedule:getHistories | 不涉及                                                               | ×                                                | √                                                        |
   
#### 事件管理
表6事件管理 
| 权限          | 对应API接口                                       | 授权项（Action）                       | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 处理事件单     | POST /v2/incidents/{incident_id}/actions      | coc:ticket:action                 | ×                                                 | ×                                                         |
| 查询事件对象列表 | POST /v2/incidents/list                      | coc:ticket:list                  | ×                                                 | ×                                                          |
| 查询事件操作历史列表   | POST /v2/incidents/{incident_id}/histories     | coc:ticket:getOperationHistories | ×                                                 | ×                                                         |
| 获取事件任务      | GET /v2/incidents/{incident_id}/tasks        | coc:ticket:listActions            | ×                                                 | ×                                                          |
| 创建事件单    | POST /v1/external/incident/create            | coc:ticket:create                  | ×                                                  | ×                                                           |
| 上传附件       | POST /v1/external/incident/attachments        | coc:ticket:uploadFile            | ×                                               | ×                                                         |
| 处理事件单        | POST /v1/external/incident/handle              | coc:ticket:action                 | ×                                                  | ×                                                             |
| 获取事件单历史    | POST /v1/external/{ticket_type}/list-histories | coc:ticket:getOperationHistories   | ×                                                 | ×                                                         |
| 查询简易版事件单列表 | GET /v1/incident-tickets                       | coc:ticket:list                    | ×                                                   | ×                                                          |
| 获取事件单详细       | GET /v1/external/incident/{incident_num}      | coc:ticket:get                     | ×                                                   | ×                                                          |
   
#### 问题单管理
表7问题单管理 
| 权限      | 对应API接口                             | 授权项（Action）        | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建问题单   | POST /v1/external/issues/create    | coc:ticket:create | ×                                                | ×                                                             |
| 获取事件单详细 | GET /v1/external/issues/{ticket_id} | coc:ticket:get   | ×                                                 | ×                                                          |
   
#### 告警管理
表8告警管理 
| 权限          | 对应API接口                                               | 授权项（Action）                        | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 处理告警        | POST /v1/alarm-mgmt/alarm/{alarm_id}/auto-process     | coc:instance:executeDocument         | √                                                 | ×                                                          |
| 批量清除告警       | POST /v1/alarm-mgmt/alarms/cancel                 | coc:alarm:clear                      | √                                                 | ×                                                           |
| 告警转事件      | POST /v1/alarm-mgmt/alarms-linked-incident         | coc:alarm:createAlarmLinkedIncident | √                                                  | ×                                                           |
| 查询告警历史处理记录 | GET /v1/alarm-mgmt/alarm/{alarm_id}/handle-histories | coc:alarm:listHandleHistories         | √                                                 | ×                                                            |
| 查询告警详情       | GET /v1/alarm-mgmt/alarm/{alarm_id}                 | coc:alarm:get                        | √                                                   | ×                                                         |
   
#### WarRoom
表9WarRoom 
| 权限               | 对应API接口                        | 授权项（Action）        | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建租户区WarRoom       | POST /v1/external/warrooms     | coc:warroom:create | ×                                                | ×                                                         |
| 查询租户区WarRoom信息列表 | POST /v1/external/warrooms/list | coc:warroom:list   | ×                                                | ×                                                            |
   
#### 故障诊断
表10故障诊断 
| 权限                  | 对应API接口                                       | 授权项（Action）    | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                               | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|:---|
| 查询诊断记录               | GET /v1/diagnosis/tasks                       | coc:job:list      | 无                                                                                                                                                                                                                                                                                                                                                                                                     | √                                                 | ×                                                         |
| 提交诊断任务               | POST /v1/diagnosis/tasks                      | coc:job:action  | aom:uniagentAgent:install aom:uniagentAgent:uninstall dcs:instance:diagnosis dms:instance:get dms:instance:modify dms:instance:get elb:members:get rds:instance:list      | √                                                 | ×                                                           |
| 查询指定诊断记录下的指定诊断步骤的详情 | GET /v1/diagnosis/tasks/{task_id}/node/{code} | coc:job:get    | 无                                                                                                                                                                                                                                                                                                                                                                                                    | √                                                 | ×                                                          |
| 查询单个诊断任务详情           | GET /v1/diagnosis/tasks/{task_id}           | coc:job:get      | 无                                                                                                                                                                                                                                                                                                                                                                                                      | √                                                 | ×                                                         |
| 重试诊断任务               | POST /v1/diagnosis/tasks/{task_id}/retry      | coc:job:action | aom:uniagentAgent:install aom:uniagentAgent:uninstall dcs:instance:diagnosis dms:instance:get dms:instance:modify dms:instance:get elb:members:get rds:instance:list | √                                                 | ×                                                         |
| 取消诊断任务                | POST /v1/diagnosis/tasks/{task_id}/cancel     | coc:job:action | 无                                                                                                                                                                                                                                                                                                                                                                                                    | √                                                  | ×                                                          |
| 查询批量诊断任务结果的概要       | GET /v1/diagnosis/tasks/{task_id}/summary      | coc:job:action | 无                                                                                                                                                                                                                                                                                                                                                                                                   | √                                                | ×                                                          |
   
#### 变更管理
表11变更管理 
| 权限    | 对应API接口                                                   | 授权项（Action）        | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 更新变更单信息  | PUT /v2/changes/{change_id}                              | coc:ticket:update   | ×                                                     | ×                                                       |
| 删除变更单    | DELETE /v1/{ticket_type}/tickets/{ticket_id}              | coc:ticket:delete  | ×                                                  | ×                                                        |
| 搜索变更工单子单  | GET /v1/{ticket_type}/tickets/{ticket_id}/list-sub-tickets | coc:ticket:list    | ×                                                  | ×                                                         |
| 变更单状态修改 | PUT /v1/{ticket_type}/tickets/{ticket_id}                  | coc:ticket:update | ×                                                   | ×                                                       |
   
