更新时间:2024-07-24 GMT+08:00

云监控服务 CES

Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)可以使用以下授权项元素设置访问控制策略

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。

本章节介绍组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

如何使用这些元素编辑SCP自定义策略,请参考创建SCP

操作(Action)

操作(Action)即为SCP中支持的授权项。

  • “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于CES定义的资源类型的详细信息请参见资源类型(Resource)

  • “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于CES定义的条件键的详细信息请参见条件(Condition)

您可以在SCP语句的Action元素中指定以下CES相关操作。

表1 CES支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

ces:widgets:put

授予批量更新视图的权限。

write

dashboard

-

ces:widgets:create

授予创建视图的权限。

write

dashboard

-

ces:widgets:put

授予更新指定视图的权限。

write

dashboard

-

ces:widgets:delete

授予删除指定视图的权限。

write

dashboard

-

ces:dashboards:create

授予创建dashboard的权限。

write

dashboard

g:EnterpriseProjectId

ces:dashboards:list

授予批量查询dashboard列表的权限。

list

dashboard

g:EnterpriseProjectId

ces:dashboards:put

授予更新指定dashboard的权限。

write

dashboard

g:EnterpriseProjectId

ces:widgets:list

授予批量查询指定dashboard的视图列表权限。

list

dashboard

-

ces:widgets:create

授予创建指定dashboard的视图权限。

write

dashboard

-

ces:dashboards:delete

授予批量删除dashboard的权限

write

dashboard

g:EnterpriseProjectId

ces:widgets:get

授予查询指定视图的权限。

read

dashboard

-

ces:dashboards:delete

授予删除指定dashboard的权限。

write

dashboard

g:EnterpriseProjectId

ces:metrics:list

授予查询指标列表的权限。

list

-

-

ces:metricData:get

授予查询单条指标数据的权限。

read

-

-

ces:metricData:create

授予上报指标数据的权限。

write

-

-

ces:namespacesDimensions:listAgentDimensions

授予查询指定实例下agent维度指标信息的权限。

list

-

-

ces:namespacesDimensions:list

授予批量查询指定指标维度的权限。

list

-

-

ces:metaData:get

授予批量查询维度元数据的权限。

read

-

-

ces:metricData:list

授予批量查询指标数据的权限。

list

-

-

ces:namespacesDimensions:list

授予查询指标TopN维度的权限。

list

-

-

ces:alarms:list

授予查询告警规则列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarms:create

授予创建告警规则的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:put

授予更新告警规则的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:get

授予查询指定告警规则的权限。

read

alarm

g:EnterpriseProjectId

ces:alarms:putAction

授予启停告警规则的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:delete

授予批量删除告警规则的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:listOneClickAlarms

授予查询一键告警列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarms:putOneClickAlarms

授予修改一键告警状态的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:list

授予查询告警规则列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarms:create

授予创建告警规则的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:putAlarmNotifications

授予修改告警通知信息的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:getPolicies

授予查询指定告警规则的策略列表权限。

read

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:updatePolicies

授予更新指定告警规则的策略列表权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:getResources

授予查询指定告警规则的资源列表权限。

read

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:addResources

授予为指定告警规则批量增加资源的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:deleteResources

授予为指定告警规则批量删除资源的权限。

write

alarm

  • g:EnterpriseProjectId
  • g:ResourceTag/<tag-key>

ces:alarms:putNotificationMaskRules

授予修改告警通知屏蔽规则的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:listNotificationMaskResources

授予查询告警通知屏蔽资源列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarms:deleteNotificationMaskRules

授予批量删除告警通知屏蔽规则的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:listNotificationMaskRules

授予查询告警通知屏蔽列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarms:createOneClickAlarms

授予创建一键告警的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:putOneClickAlarmPolicies

授予批量启停一键告警策略权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:putOneClickAlarmNotifications

授予批量修改一键告警通知规则的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:deleteOneClickAlarms

授予批量删除一键告警的权限。

write

alarm

g:EnterpriseProjectId

ces:alarms:list

授予查询告警列表的权限。

list

alarm

g:EnterpriseProjectId

ces:alarmHistory:list

授予查询告警记录列表的权限。

list

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:create

授予创建自定义告警模板的权限。

write

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:delete

授予删除指定自定义告警模板的权限。

write

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:list

授予查询自定义告警模板列表的权限。

list

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:listAssociatedAlarms

授予查询指定自定义告警模板关联的告警规则列表的权限。

read

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:put

授予更新指定自定义告警模板的权限。

write

alarm

g:EnterpriseProjectId

ces:quotas:get

授予查询配额的权限。

read

-

-

ces:quotas:get

授予批量查询配额的权限。

read

-

-

ces:events:get

授予查询指定事件详情的权限。

read

-

-

ces:events:list

授予查询事件列表的权限。

list

-

-

ces:agent:listTaskInvocations

授予批量查询指定服务器的agent任务的权限。

list

-

-

ces:agent:createAgentInvocations

授予批量创建agent任务的权限。

write

-

-

ces:events:post

授予上报事件的权限。

write

-

-

ces:resourceGroups:addResources

授予为指定资源分组批量添加关联资源的权限。

write

-

g:EnterpriseProjectId

ces:resourceGroups:create

授予创建资源分组的权限。

write

-

g:EnterpriseProjectId

ces:resourceGroups:delete

授予删除指定资源分组的权限。

write

-

g:EnterpriseProjectId

ces:resourceGroups:deleteResources

授予为指定资源分组批量删除关联资源的权限。

write

-

g:EnterpriseProjectId

ces:resourceGroups:get

授予查询指定资源分组的权限。

read

-

g:EnterpriseProjectId

ces:resourceGroups:getServiceResources

授予查询指定资源分组指定服务类别指定维度的资源的权限。

read

-

g:EnterpriseProjectId

ces:resourceGroups:put

授予更新指定资源分组的权限。

write

-

g:EnterpriseProjectId

ces:tags:list

授予批量查询CES标签列表的权限。

list

-

-

ces:eventData:get

授予查询主机配置的权限。

list

-

-

ces:resourceGroups:list

授予查询所有资源分组的权限。

list

-

g:EnterpriseProjectId

ces:resourceGroups:get

授予查询指定资源分组的权限。

read

-

g:EnterpriseProjectId

ces:customAlarmTemplates:list

授予查询自定义告警模板列表的权限。

list

alarm

g:EnterpriseProjectId

ces:customAlarmTemplates:get

授予查询指定自定义告警模板的权限。

read

alarm

g:EnterpriseProjectId

ces:alarms:create

授予创建告警规则的权限。

write

alarm

g:EnterpriseProjectId

ces:dashboards:put

授予更新云服务看板的权限

write

dashboard

-

ces:namespacesDimensions:list

授予查询指标TopN维度的权限。

list

-

-

ces:namespacesDimensions:list

授予批量查询指定指标维度的权限。

list

-

-

CES的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

POST /v2/{project_id}/dashboards

ces:dashboards:create

-

GET /v2/{project_id}/dashboards

ces:dashboards:list

-

PUT /v2/{project_id}/dashboards/{dashboard_id}

ces:dashboards:put

-

GET /v2/{project_id}/dashboards/{dashboard_id}/widgets

ces:widgets:list

-

POST /v2/{project_id}/dashboards/{dashboard_id}/widgets

ces:widgets:create

-

POST /v2/{project_id}/dashboards/batch-delete

ces:dashboards:delete

-

GET /v2/{project_id}/widgets/{widget_id}

ces:widgets:get

-

DELETE /v2/{project_id}/widgets/{widget_id}

ces:widgets:delete

-

POST /v2/{project_id}/widgets/batch-update

ces:widgets:put

-

GET /V1.0/{project_id}/metrics

ces:metrics:list

-

GET /V1.0/{project_id}/metric-data

ces:metricData:get

ces:metricData:list

POST /V1.0/{project_id}/metric-data

ces:metricData:create

-

POST /V1.0/{project_id}/batch-query-metric-data

ces:metricData:list

-

GET /v2/{project_id}/instances/{instance_id}/agent-dimensions

ces:namespacesDimensions:listAgentDimensions

ces:namespacesDimensions:list

GET /V1.0/{project_id}/alarms

ces:alarms:list

-

POST /V1.0/{project_id}/alarms

ces:alarms:create

-

PUT /V1.0/{project_id}/alarms/{alarm_id}

ces:alarms:put

ces:alarmsonoff:put

DELETE /V1.0/{project_id}/alarms/{alarm_id}

ces:alarms:delete

-

GET /V1.0/{project_id}/alarms/{alarm_id}

ces:alarms:get

ces:alarms:list

PUT /V1.0/{project_id}/alarms/{alarm_id}/action

ces:alarms:putAction

ces:alarms:put

GET /v2/{project_id}/alarms

ces:alarms:list

-

POST /v2/{project_id}/alarms

ces:alarms:create

-

PUT /v2/{project_id}/alarms/{alarm_id}/notifications

ces:alarms:putAlarmNotifications

ces:alarms:put

GET /v2/{project_id}/alarms/{alarm_id}/policies

ces:alarms:getPolicies

ces:alarms:get

PUT /v2/{project_id}/alarms/{alarm_id}/policies

ces:alarms:updatePolicies

ces:alarms:put

GET /v2/{project_id}/alarms/{alarm_id}/resources

ces:alarms:getResources

-

POST /v2/{project_id}/alarms/{alarm_id}/resources/batch-create

ces:alarms:addResources

ces:alarms:put

POST /v2/{project_id}/alarms/{alarm_id}/resources/batch-delete

ces:alarms:delete

ces:alarms:put

POST /v2/{project_id}/alarms/action

ces:alarms:putAction

ces:alarms:put

PUT /v2/{project_id}/notification-masks

ces:alarms:putNotificationMaskRules

ces:notificationMasks:update

PUT /v2/{project_id}/notification-masks/{notification_mask_id}

ces:alarms:putNotificationMaskRules

ces:notificationMasks:update

GET /v2/{project_id}/notification-masks/{notification_mask_id}/resources

ces:alarms:listNotificationMaskResources

ces:notificationMasks:list

POST /v2/{project_id}/notification-masks/batch-delete

ces:alarms:deleteNotificationMaskRules

ces:notificationMasks:delete

POST /v2/{project_id}/notification-masks/batch-query

ces:alarms:listNotificationMaskRules

ces:notificationMasks:list

POST /v2/{project_id}/notification-masks/batch-update

ces:alarms:putNotificationMaskRules

ces:notificationMasks:update

GET /v2/{project_id}/one-click-alarms

ces:alarms:listOneClickAlarms

ces:oneClickAlarms:list

POST /v2/{project_id}/one-click-alarms

ces:alarms:createOneClickAlarms

ces:oneClickAlarms:post

PUT /v2/{project_id}/one-click-alarms/{one_click_alarm_id}/alarm-rules/action

ces:alarms:putOneClickAlarms

ces:oneClickAlarms:put

GET /v2/{project_id}/one-click-alarms/{one_click_alarm_id}/alarms

ces:alarms:listOneClickAlarms

ces:oneClickAlarms:list

PUT /v2/{project_id}/one-click-alarms/{one_click_alarm_id}/alarms/{alarm_id}/policies/action

ces:alarms:putOneClickAlarmPolicies

ces:oneClickAlarms:put

PUT /v2/{project_id}/one-click-alarms/{one_click_alarm_id}/notifications

ces:alarms:putOneClickAlarmNotifications

ces:oneClickAlarms:updateNotifications

POST /v2/{project_id}/one-click-alarms/batch-delete

ces:alarms:deleteOneClickAlarms

ces:oneClickAlarms:delete

POST /v2/{project_id}/alarms/batch-delete

ces:alarms:deleteResources

ces:alarms:put

GET /V1.0/{project_id}/alarm-histories

ces:alarmHistory:list

-

GET /v2/{project_id}/alarm-histories

ces:alarmHistory:list

-

POST /V1.0/{project_id}/alarm-template

ces:customAlarmTemplates:create

-

POST /v2/{project_id}/alarm-templates

ces:customAlarmTemplates:create

-

DELETE /V1.0/{project_id}/alarm-template/{template_id}

ces:customAlarmTemplates:delete

-

POST /v2/{project_id}/alarm-templates/batch-delete

ces:customAlarmTemplates:delete

-

GET /v2/{project_id}/alarm-templates/{template_id}

ces:customAlarmTemplates:get

ces:customAlarmTemplates:list

GET /V1.0/{project_id}/alarm-template

ces:customAlarmTemplates:list

-

GET /v2/{project_id}/alarm-templates

ces:customAlarmTemplates:list

-

GET /v2/{project_id}/alarm-templates/{template_id}/association-alarms

ces:customAlarmTemplates:listAssociatedAlarms

ces:customAlarmTemplates:list

PUT /V1.0/{project_id}/alarm-template/{template_id}

ces:customAlarmTemplates:put

-

PUT /v2/{project_id}/alarm-templates/{template_id}

ces:customAlarmTemplates:put

-

GET /V1.0/{project_id}/quotas

ces:quotas:get

-

GET /V1.0/{project_id}/event/{event_name}

ces:events:get

-

GET /V1.0/{project_id}/events

ces:events:list

-

GET /v3/{project_id}/agent-invocations

ces:agent:listTaskInvocations

ces:taskInvocation:get

POST /v3/{project_id}/agent-invocations/batch-create

ces:agent:createAgentInvocations

ces:taskInvocation:post

POST /V1.0/{project_id}/events

ces:events:post

-

POST /v2/{project_id}/resource-groups/{group_id}/resources/batch-create

ces:resourceGroups:addResources

ces:resourceGroups:put

POST /V1.0/{project_id}/resource-groups

ces:resourceGroups:create

-

POST /v2/{project_id}/resource-groups

ces:resourceGroups:create

-

DELETE /V1.0/{project_id}/resource-groups/{group_id}

ces:resourceGroups:delete

-

POST /v2/{project_id}/resource-groups/batch-delete

ces:resourceGroups:delete

-

POST /v2/{project_id}/resource-groups/{group_id}/resources/batch-delete

ces:resourceGroups:deleteResources

ces:resourceGroups:put

GET /V1.0/{project_id}/resource-groups/{group_id}

ces:resourceGroups:get

-

GET /v2/{project_id}/resource-groups/{group_id}

ces:resourceGroups:get

-

GET /v2/{project_id}/resource-groups/{group_id}/services/{service}/resources

ces:resourceGroups:getServiceResources

ces:resourceGroups:get

GET /V1.0/{project_id}/resource-groups

ces:resourceGroups:list

ces:resourceGroups:get

GET /v2/{project_id}/resource-groups

ces:resourceGroups:list

ces:resourceGroups:get

PUT /V1.0/{project_id}/resource-groups/{group_id}

ces:resourceGroups:put

-

PUT /v2/{project_id}/resource-groups/{group_id}

ces:resourceGroups:put

-

GET /v2/{project_id}/{resource_type}/tags

ces:tags:list

-

GET /V1.0/{project_id}/event-data

ces:eventData:get

ces:sapEventData:list

POST /v3/{project_id}/agent-status/batch-query

ces:agent:listStatuses

-

资源类型(Resource)

资源类型(Resource)表示SCP所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的SCP语句中指定该资源的URN,SCP仅作用于此资源;如未指定,Resource默认为“*”,则SCP将应用到所有资源。您也可以在SCP中设置条件,从而指定资源类型。

CES定义了以下可以在SCP的Resource元素中使用的资源类型。

表3 CES支持的资源类型

资源类型

URN

alarm

ces:<region>:<account-id>:alarm:<alarm-id>

dashboard

ces:<region>:<account-id>:dashboard:<dashboard-id>

条件(Condition)

CES服务不支持在SCP中的条件键中配置服务级的条件键。

CES可以使用适用于所有服务的全局条件键,请参考全局条件键