策略授权参考
本章节介绍COC策略授权场景下支持的策略授权项。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:
- 权限:允许或拒绝对指定资源在特定条件下进行某项操作。
- 对应API接口:自定义策略实际调用的API接口。
- 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
- 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
COC的支持自定义策略授权项如下所示:
应用资源管理
权限 | 对应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 | √ | × |
查询各种云资源数量 | GET /v1/resources/multi-count | coc:instance:countResources | √ | × |
脚本管理
权限 | 对应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 | √ | × |
作业管理
权限 | 对应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 | √ | × |
补丁管理
权限 | 对应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 | √ | × |
定时运维
权限 | 对应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 | 不涉及 | × | √ |
事件管理
权限 | 对应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 | × | × |
问题单管理
权限 | 对应API接口 | 授权项(Action) | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|---|---|---|---|---|
创建问题单 | POST /v1/external/issues/create | coc:ticket:create | × | × |
获取事件单详细 | GET /v1/external/issues/{ticket_id} | coc:ticket:get | × | × |
告警管理
权限 | 对应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
权限 | 对应API接口 | 授权项(Action) | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|---|---|---|---|---|
创建租户区WarRoom | POST /v1/external/warrooms | coc:warroom:create | × | × |
查询租户区WarRoom信息列表 | POST /v1/external/warrooms/list | coc:warroom:list | × | × |
故障诊断
权限 | 对应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 | 无 | √ | × |
变更管理
权限 | 对应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 | × | × |

