云监控服务 CES
云服务在IAM预置了常用授权项,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外,Organizations服务中的服务控制策略(Service Control Policies,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别。
本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。
操作(Action)
操作(Action)即为身份策略中支持的授权项。
- “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
- “资源类型”列指每个操作是否支持资源级权限。
- 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
- 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
- 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。
关于CES定义的资源类型的详细信息请参见资源类型(Resource)。
- “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。
- 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
- 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
- 如果此列条件键没有值(-),表示此操作不支持指定条件键。
关于CES定义的条件键的详细信息请参见条件(Condition)。
- “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明。
您可以在身份策略语句的Action元素中指定以下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 |
- |
|
ces:dashboards:list |
授予批量查询dashboard列表的权限。 |
list |
dashboard |
- |
|
ces:dashboards:put |
授予更新指定dashboard的权限。 |
write |
dashboard |
- |
|
ces:widgets:list |
授予批量查询指定dashboard的视图列表权限。 |
list |
dashboard |
- |
- |
ces:widgets:create |
授予创建指定dashboard的视图权限。 |
write |
dashboard |
- |
- |
ces:dashboards:delete |
授予批量删除dashboard的权限 |
write |
dashboard |
- |
|
ces:widgets:get |
授予查询指定视图的权限。 |
read |
dashboard |
- |
- |
ces:widgets:delete |
授予删除指定视图的权限。 |
write |
dashboard |
- |
- |
ces:widgets:put |
授予批量更新视图的权限。 |
write |
dashboard |
- |
- |
ces:dashboards:list |
授予批量查询dashboard列表的权限。 |
list |
dashboard |
- |
|
ces:dashboards:create |
授予创建dashboard的权限。 |
write |
dashboard |
- |
|
ces:dashboards:put |
授予更新指定dashboard的权限。 |
write |
dashboard |
- |
|
ces:dashboards:delete |
授予删除指定dashboard的权限。 |
write |
dashboard |
- |
|
ces:metrics:list |
授予查询指标列表的权限。 |
list |
- |
- |
- |
ces:metricData:get |
授予查询单条指标数据的权限。 |
read |
- |
- |
ces:metricData:list |
ces:metricData:create |
授予上报指标数据的权限。 |
write |
- |
- |
- |
ces:namespacesDimensions:listAgentDimensions |
授予查询指定实例下agent维度指标信息的权限。 |
list |
- |
- |
ces:namespacesDimensions:list |
ces:namespacesDimensions:list |
授予批量查询指定指标维度的权限。 |
list |
- |
- |
- |
ces:metaData:get |
授予批量查询维度元数据的权限。 |
read |
- |
- |
ces:metaData:list |
ces:metricData:list |
授予批量查询指标数据的权限。 |
list |
- |
- |
ces:resourcesMetadata:list |
ces:namespacesDimensions:list |
授予查询指标TopN维度的权限。 |
list |
- |
- |
- |
ces:alarms:list |
授予查询告警规则列表的权限。 |
list |
alarm |
- |
|
ces:alarms:create |
授予创建告警规则的权限。 |
write |
alarm |
- |
|
ces:alarms:put |
授予更新告警规则的权限。 |
write |
alarm |
ces:alarmsonoff:put |
|
ces:alarms:get |
授予查询指定告警规则的权限。 |
read |
alarm |
ces:alarms:list |
|
ces:alarms:putAction |
授予启停告警规则的权限。 |
write |
alarm |
ces:alarms:put |
|
ces:alarms:delete |
授予批量删除告警规则的权限。 |
write |
alarm |
- |
|
ces:alarms:listOneClickAlarms |
授予查询一键告警列表的权限。 |
list |
alarm |
ces:oneClickAlarms:list |
|
ces:alarms:putOneClickAlarms |
授予修改一键告警状态的权限。 |
write |
alarm |
ces:oneClickAlarms:put |
|
ces:alarms:list |
授予查询告警规则列表的权限。 |
list |
alarm |
- |
|
ces:alarms:create |
授予创建告警规则的权限。 |
write |
alarm |
- |
|
ces:alarms:putAlarmNotifications |
授予修改告警通知信息的权限。 |
write |
alarm |
ces:alarms:put |
|
ces:alarms:getPolicies |
授予查询指定告警规则的策略列表权限。 |
read |
alarm |
ces:alarms:get |
|
ces:alarms:updatePolicies |
授予更新指定告警规则的策略列表权限。 |
write |
alarm |
ces:alarms:put |
|
ces:alarms:getResources |
授予查询指定告警规则的资源列表权限。 |
read |
alarm |
- |
|
ces:alarms:addResources |
授予为指定告警规则批量增加资源的权限。 |
write |
alarm |
ces:alarms:put |
|
ces:alarms:deleteResources |
授予为指定告警规则批量删除资源的权限。 |
write |
alarm |
ces:alarms:put |
|
ces:alarms:putNotificationMaskRules |
授予修改告警通知屏蔽规则的权限。 |
write |
alarm |
ces:notificationMasks:update |
|
ces:alarms:listNotificationMaskResources |
授予查询告警通知屏蔽资源列表的权限。 |
list |
alarm |
ces:notificationMasks:list |
|
ces:alarms:deleteNotificationMaskRules |
授予批量删除告警通知屏蔽规则的权限。 |
write |
alarm |
ces:notificationMasks:delete |
|
ces:alarms:listNotificationMaskRules |
授予查询告警通知屏蔽列表的权限。 |
list |
alarm |
ces:notificationMasks:list |
|
ces:alarms:createOneClickAlarms |
授予创建一键告警的权限。 |
write |
alarm |
ces:oneClickAlarms:post |
|
ces:alarms:putOneClickAlarmPolicies |
授予批量启停一键告警策略权限。 |
write |
alarm |
ces:oneClickAlarms:put |
|
ces:alarms:putOneClickAlarmNotifications |
授予批量修改一键告警通知规则的权限。 |
write |
alarm |
ces:oneClickAlarms:updateNotifications |
|
ces:alarms:deleteOneClickAlarms |
授予批量删除一键告警的权限。 |
write |
alarm |
ces:oneClickAlarms:delete |
|
ces:alarms:list |
授予查询告警列表的权限。 |
list |
alarm |
- |
|
ces:alarmHistory:list |
授予查询告警记录列表的权限。 |
list |
alarm |
- |
|
ces:customAlarmTemplates:create |
授予创建自定义告警模板的权限。 |
write |
alarm |
- |
|
ces:customAlarmTemplates:delete |
授予删除指定自定义告警模板的权限。 |
write |
alarm |
- |
|
ces:customAlarmTemplates:list |
授予查询自定义告警模板列表的权限。 |
list |
alarm |
- |
|
ces:customAlarmTemplates:listAssociatedAlarms |
授予查询指定自定义告警模板关联的告警规则列表的权限。 |
read |
alarm |
ces:customAlarmTemplates:list |
|
ces:customAlarmTemplates:put |
授予更新指定自定义告警模板的权限。 |
write |
alarm |
- |
|
ces:quotas:get |
授予查询配额的权限。 |
read |
- |
- |
- |
ces:quotas:get |
授予批量查询配额的权限。 |
read |
- |
- |
- |
ces:events:get |
授予查询指定事件详情的权限。 |
read |
- |
- |
- |
ces:events:list |
授予查询事件列表的权限。 |
list |
- |
- |
- |
ces:agent:listTaskInvocations |
授予批量查询指定服务器的agent任务的权限。 |
list |
- |
- |
ces:taskInvocation:get |
ces:agent:createAgentInvocations |
授予批量创建agent任务的权限。 |
write |
- |
- |
ces:taskInvocation:post |
ces:events:post |
授予上报事件的权限。 |
write |
- |
- |
- |
ces:resourceGroups:addResources |
授予为指定资源分组批量添加关联资源的权限。 |
write |
- |
ces:resourceGroups:put |
|
ces:resourceGroups:create |
授予创建资源分组的权限。 |
write |
- |
- |
|
ces:resourceGroups:delete |
授予删除指定资源分组的权限。 |
write |
- |
- |
|
ces:resourceGroups:deleteResources |
授予为指定资源分组批量删除关联资源的权限。 |
write |
- |
ces:resourceGroups:put |
|
ces:resourceGroups:get |
授予查询指定资源分组的权限。 |
read |
- |
- |
|
ces:resourceGroups:getServiceResources |
授予查询指定资源分组指定服务类别指定维度的资源的权限。 |
read |
- |
ces:resourceGroups:get |
|
ces:resourceGroups:put |
授予更新指定资源分组的权限。 |
write |
- |
- |
|
ces:tags:list |
授予批量查询CES标签列表的权限。 |
list |
- |
- |
- |
ces:eventData:get |
授予查询主机配置的权限。 |
list |
- |
- |
ces:sapEventData:list |
ces:resourceGroups:list |
授予查询所有资源分组的权限。 |
list |
- |
ces:resourceGroups:get |
|
ces:resourceGroups:get |
授予查询指定资源分组的权限。 |
read |
- |
- |
|
ces:customAlarmTemplates:list |
授予查询自定义告警模板列表的权限。 |
list |
alarm |
- |
|
ces:customAlarmTemplates:get |
授予查询指定自定义告警模板的权限。 |
read |
alarm |
ces:customAlarmTemplates:list |
|
ces:alarms:create |
授予创建告警规则的权限。 |
write |
alarm |
- |
|
ces:dashboards:put |
授予更新云服务看板的权限 |
write |
dashboard |
- |
- |
ces:namespacesDimensions:list |
授予查询指标TopN维度的权限。 |
list |
- |
- |
- |
ces:namespacesDimensions:list |
授予批量查询指定指标维度的权限。 |
list |
- |
- |
- |
CES的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该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/V1.0/{project_id}/events_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)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的URN,身份策略仅作用于此资源;如未指定,Resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。
CES定义了以下可以在身份策略的Resource元素中使用的资源类型。
条件(Condition)
CES服务支持配置ces:namespace自定义条件键,具体操作请参考《云监控服务用户指南》中“按云服务粒度给用户授权”章节。

CES有提供全局服务的能力(例如:告警通知、任务中心),所以按全局级服务处理,不支持g:RequetedRegion全局条件键。