策略授权参考
本章节介绍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 |
× |
× |