观测分组 RAM 用户与角色授权指南

更新时间:
复制 MD 格式

本文说明如何通过自定义 RAM 权限策略,允许 RAM 用户或角色访问、管理观测分组。

说明

您可以通过 RAM 权限策略,按地域和观测分组控制访问范围。分组列表按调用者的详情查看权限返回结果;查询成员、修改、删除、关注和取消关注等操作需要分别授权。

授权流程与操作身份

授权流程:管理员创建自定义 RAM 策略 → 将策略授予 RAM 用户、用户组或角色 → 使用被授权身份验证权限。

由阿里云账号或具备 RAM 策略创建、授权权限的管理员操作。普通 RAM 用户需要联系管理员授权。

使用场景

授权对象

说明

人员访问控制台或调用 API

RAM 用户或 RAM 用户组

多人使用时可通过用户组统一管理

程序通过 STS 调用 API

实际调用 API 的 RAM 角色

还需配置角色信任策略及调用方扮演权限

本文配置的是调用者访问观测分组的权限。云监控通过服务关联角色 AliyunServiceRoleForCloudMonitor 访问您的云资源时,需要单独完成服务关联角色授权。

控制台配置步骤

  1. 登录 RAM 控制台。

  2. 进入权限管理 > 权限策略,创建自定义权限策略。

  3. 选择 JSON 编辑方式,粘贴本文中的策略模板,并替换地域、账号 UID 和 GroupId。

  4. 保存策略,例如命名为 ObserveGroupReadOnly。

  5. 为目标 RAM 用户、用户组或角色添加该自定义策略。本文模板可使用账号级授权,由策略中的 Resource 限定访问范围。

  6. 使用被授权身份重新访问观测分组或调用 API,验证权限。

官方操作说明:

模板参数说明

参数

含义

示例

地域

观测分组所在地域,需要与 API 请求地域一致

cn-hangzhou

<账号UID>

资源所属阿里云账号 UID,不是 RAM 用户 ID

替换为实际账号 UID

<GroupId>

需要授权的观测分组 ID

替换为实际 GroupId

模板中的占位符必须替换后再保存。观测分组的资源 ARN 格式为:

acs:cms:<地域>:<账号UID>:observegroup/<GroupId>

该 ARN 不包含 WorkspaceId,不要写成 observegroup/<WorkspaceId>/<GroupId>。

策略模板

指定地域下全部观测分组只读权限

允许查询指定账号、指定地域下的观测分组列表、详情、成员,以及支持的资源类型。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListObserveGroups",
        "cms:GetObserveGroup",
        "cms:ListObserveGroupSupportedEntityTypes",
        "cms:ListObserveGroupInstances"
      ],
      "Resource": "acs:cms:cn-hangzhou:<账号UID>:observegroup/*"
    }
  ]
}

指定地域下观测分组管理权限

允许查询、创建、修改、删除、关注和取消关注指定账号、指定地域下的观测分组。此模板是完整策略,可独立使用。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListObserveGroups",
        "cms:GetObserveGroup",
        "cms:ListObserveGroupSupportedEntityTypes",
        "cms:ListObserveGroupInstances",
        "cms:UpdateObserveGroup",
        "cms:DeleteObserveGroup",
        "cms:FollowObserveGroup",
        "cms:UnfollowObserveGroup"
      ],
      "Resource": "acs:cms:cn-hangzhou:<账号UID>:observegroup/*"
    },
    {
      "Effect": "Allow",
      "Action": "cms:CreateObserveGroup",
      "Resource": "acs:cms:cn-hangzhou:<账号UID>:*"
    }
  ]
}

只允许查看、修改指定分组

允许调用指定分组的详情和修改接口,不包含创建、删除、列表、成员查询或关注权限。只需要查看时,移除 cms:UpdateObserveGroup。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetObserveGroup",
        "cms:UpdateObserveGroup"
      ],
      "Resource": "acs:cms:cn-hangzhou:<账号UID>:observegroup/<GroupId>"
    }
  ]
}

此模板适用于直接调用分组详情和修改 API。如需在控制台浏览分组列表或查看成员,还需添加相应权限,参见"在控制台浏览列表、查看成员和关注分组"。

Action 与资源授权范围

以下资源后缀均需加上 acs:cms:<地域>:<账号UID>: 前缀。

操作

RAM Action

资源后缀

查看分组详情

cms:GetObserveGroup

observegroup/<GroupId>

修改分组

cms:UpdateObserveGroup

observegroup/<GroupId>

删除分组

cms:DeleteObserveGroup

observegroup/<GroupId>

查询分组列表

cms:ListObserveGroups

observegroup/*

查询支持的资源类型

cms:ListObserveGroupSupportedEntityTypes

observegroup/*

查询分组成员

cms:ListObserveGroupInstances

observegroup/<GroupId>

创建分组

cms:CreateObserveGroup

*

关注分组

cms:FollowObserveGroup

observegroup/<GroupId>

取消关注分组

cms:UnfollowObserveGroup

observegroup/<GroupId>

使用限制

  • 详情、修改、删除、成员查询、关注、取消关注接口均支持按 GroupId 指定资源。

  • ListObserveGroupInstances 使用 observegroup/<GroupId> 资源鉴权,可将成员查询权限限定到指定分组。

  • 查询分组列表需要 cms:ListObserveGroups 权限,资源范围为 observegroup/*;列表仅返回调用者具有 cms:GetObserveGroup 权限的分组,返回总数和分页结果均以有权查看的分组为准。仅授予列表权限,不会获得所有分组的详情查看权限。

  • 资源 ARN 不包含 WorkspaceId。需要限制某个 Workspace 中的分组访问时,请在策略中列举对应的 GroupId;新增分组后需更新策略。

  • 控制台页面可能使用多个 API。出现无权限错误时,请根据报错中的 Action 核对所需权限,并按实际使用范围授权。

实际场景:一个 Workspace,三个团队分别授权

场景与分工

假设同一阿里云账号在杭州地域有一个 Workspace ws-observe-prod,其中包含以下观测分组。账号 UID、WorkspaceId、GroupId 和 RAM 用户名均为示例,使用时替换为实际值。

Workspace

团队

分组名称

GroupId

ws-observe-prod

研发部

研发应用

og-dev-app

ws-observe-prod

研发部

研发测试

og-dev-test

ws-observe-prod

运维

基础设施

og-ops-infra

ws-observe-prod

大模型

模型训练

og-llm-train

ws-observe-prod

大模型

模型推理

og-llm-infer

将人员按团队加入 RAM 用户组,为用户组绑定策略:

RAM 用户组

示例 RAM 子账号

策略名称

本例权限

ObserveGroupDevelopers

dev-zhang、dev-li

ObserveGroupDevEditor

查看、修改研发部的两个分组

ObserveGroupOperators

ops-wang

ObserveGroupOpsMaintainer

查看、修改这五个分组并查询其成员;列表仅显示有权查看的分组

ObserveGroupLLM

llm-chen、llm-zhao

ObserveGroupLLMEditor

查看、修改大模型团队的两个分组

本例采用"业务团队维护自己的分组,运维跨团队维护"的分工。如果运维也应只维护自己的分组,可按"常见变体与人员调整"收缩权限。

说明

本例通过列举 GroupId 限定各团队的分组访问范围。WorkspaceId 是查询条件,不是 RAM 资源授权边界。观测分组权限不包含关联 metrics、trace、日志等数据的查询权限;如需访问这些数据,请单独配置相应权限。

研发部:维护自己的两个分组

创建 ObserveGroupDevEditor 策略,绑定到 ObserveGroupDevelopers 用户组。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetObserveGroup",
        "cms:UpdateObserveGroup"
      ],
      "Resource": [
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-dev-app",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-dev-test"
      ]
    }
  ]
}

在没有其他策略授予额外权限时,dev-zhang 和 dev-li 可查看、修改研发分组,不能查看或修改运维、大模型分组的详情,也不能删除任何分组。本策略未授予列表和成员查询权限,如需浏览列表和查看成员,请按"在控制台浏览列表、查看成员和关注分组"补充权限。

大模型团队:维护训练和推理分组

创建 ObserveGroupLLMEditor 策略,绑定到 ObserveGroupLLM 用户组。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetObserveGroup",
        "cms:UpdateObserveGroup"
      ],
      "Resource": [
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-llm-train",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-llm-infer"
      ]
    }
  ]
}

在没有其他策略授予额外权限时,llm-chen 和 llm-zhao 可查看、修改训练和推理分组,不能查看或修改研发、运维分组的详情。本策略同样未授予列表和成员查询权限。

运维:跨团队维护指定分组

创建 ObserveGroupOpsMaintainer 策略,绑定到 ObserveGroupOperators 用户组。详情、修改和成员查询权限限定为本例五个分组,列表和支持的资源类型查询使用 observegroup/* 资源。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetObserveGroup",
        "cms:UpdateObserveGroup",
        "cms:ListObserveGroupInstances"
      ],
      "Resource": [
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-dev-app",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-dev-test",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-ops-infra",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-llm-train",
        "acs:cms:cn-hangzhou:<账号UID>:observegroup/og-llm-infer"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListObserveGroups",
        "cms:ListObserveGroupSupportedEntityTypes"
      ],
      "Resource": "acs:cms:cn-hangzhou:<账号UID>:observegroup/*"
    }
  ]
}

此策略允许查询上述五个分组的成员,分组列表仅返回这五个分组。未授予创建、删除、关注或取消关注权限。请求中的 WorkspaceId 用于筛选查询范围,不能替代资源 ARN 授权。

如果运维需要删除这五个分组,可在第一个 Statement 的 Action 中增加 cms:DeleteObserveGroup。如果需要创建分组,需另行授予 cms:CreateObserveGroup 和 acs:cms:cn-hangzhou:<账号UID>:*,不能用本例 ARN 将创建权限限定到 ws-observe-prod。

常见变体与人员调整

实际需求

配置方式

边界说明

运维只维护基础设施分组

将运维策略第一个 Statement 的 Resource 收缩为 og-ops-infra 的 ARN

成员查询、详情和修改权限使用相同的分组 ARN;列表查询使用 observegroup/* 资源,返回结果按 cms:GetObserveGroup 权限过滤。

团队只查看,不允许修改

从对应团队策略中移除 cms:UpdateObserveGroup

只保留已列举分组的详情权限

某位研发兼任大模型维护

将该 RAM 用户同时加入研发与大模型用户组

两组 Allow 权限叠加;仍受显式 Deny 等限制

新增一个研发分组

将新 GroupId 的 ARN 加入研发策略;运维需维护时也加入运维策略

显式枚举不会自动包含新分组

人员调岗或离职

移出原用户组,并核查直接绑定策略、其他用户组及可扮演角色

避免其他授权路径保留权限

部门还要查询关联日志、metrics 或 trace

单独配置相应产品的数据查询权限

观测分组权限不自动授予关联数据访问权限

在控制台浏览列表、查看成员和关注分组

研发和大模型团队的模板仅包含详情和修改权限。根据使用需求,在原策略中补充以下权限:

使用需求

添加的 Action

Resource 范围

浏览分组列表

cms:ListObserveGroups

acs:cms:cn-hangzhou:<账号UID>:observegroup/*

查询支持的资源类型

cms:ListObserveGroupSupportedEntityTypes

acs:cms:cn-hangzhou:<账号UID>:observegroup/*

查看分组成员

cms:ListObserveGroupInstances

本部门具体分组的 ARN

关注分组

cms:FollowObserveGroup

本部门具体分组的 ARN

取消关注分组

cms:UnfollowObserveGroup

本部门具体分组的 ARN

列表和支持的资源类型查询可单独放在一个 Statement 中。成员查询、关注和取消关注的 Action 可加入原策略中列举本部门 GroupId 的 Statement。查询列表时,仅返回具有 cms:GetObserveGroup 权限的分组。

例如,研发用户增加列表及成员查询权限后,可在列表中看到研发应用和研发测试两个分组,并查看其成员;访问运维或大模型分组的详情和成员时,请求被拒绝。"本例验收矩阵"对应补充权限前的原始模板。

本例验收矩阵

以下预期以本例策略为唯一相关 Allow 授权、没有其他额外权限且未受到显式 Deny 或其他权限限制为前提。

操作

研发子账号

运维子账号

大模型子账号

查看、修改 og-dev-app / og-dev-test

允许

允许

拒绝

查看、修改 og-ops-infra

拒绝

允许

拒绝

查看、修改 og-llm-train / og-llm-infer

拒绝

允许

允许

查询分组列表

未授权

仅返回上述五个分组

未授权

查询分组成员

未授权

仅允许上述五个分组,其他 GroupId 拒绝

未授权

创建、删除、关注、取消关注分组

未授权

未授权

未授权

查看、修改后来新增的第六个分组

未授权

未授权

未授权

验证时,请使用其他部门的 GroupId 调用详情或成员查询接口,确认请求被拒绝;同时检查列表不返回未授权分组。运维账号还需验证未列举的 GroupId 无法访问。

权限验收

使用目标 RAM 用户或实际扮演的 RAM 角色验证,不能用管理员身份代替验收。

场景

验证内容

预期结果

只读策略

查询列表、详情、成员

授权范围内成功

只读策略

创建、修改、删除分组

在没有其他策略授予这些权限时被拒绝

管理策略

在测试分组上验证管理操作

授权范围内成功

单分组策略

查看、修改指定 GroupId

成功

单分组策略

查看、修改其他 GroupId

在没有其他策略授予这些权限时被拒绝

地域限制

访问未授权地域中的分组

在没有其他策略授予这些权限时被拒绝

验证拒绝场景时,需要检查该身份是否通过其他策略、用户组或角色获得了额外权限。

无权限排查

  1. 核对实际身份:确认请求使用的是目标 RAM 用户,或预期的 STS 角色。

  2. 核对失败的 Action:查看报错中的 AuthAction,确认策略包含对应权限。

  3. 核对 Resource:检查地域、资源所属账号 UID、GroupId 和 ARN 格式。

  4. 核对策略绑定对象:使用 STS 时,确认权限授予了实际扮演的 RAM 角色。

  5. 检查显式 Deny 及其他权限限制:排除其他策略对请求的限制。

  6. 保留错误信息:若仍无法访问,请记录 API 名称、错误码和 RequestId,并提交工单寻求支持。请勿提交 AccessKey Secret 或 STS Token。