权限配置

更新时间:
复制 MD 格式

本文介绍 STAROps 的权限模型、典型配置路径和权限文档导航。

在 STAROps 中,用户可以通过数字员工发起会话、查询数据、执行长期任务、管理 Skill 或 MCP 服务。权限配置需要同时控制以下内容:

  • 谁可以使用和管理 STAROps。

  • 数字员工在运行时可以访问哪些数据、资源和运维能力。

如果您只想快速完成配置,请参见快速完成 STAROps 权限配置。如果您需要创建自定义数字员工,请参见数字员工权限配置。如果您需要配置巡检、报告、告警分析等长期任务,请参见长期任务权限配置

适用对象

本文适用于使用 RAM 用户,并为自定义数字员工配置数字员工 RAM Role 的账号。

如果使用阿里云主账号,主账号默认具备账号内资源的管理能力,无需额外配置用户操作权限。生产环境中仍建议使用 RAM 用户并按职责授权,避免长期使用主账号进行日常运维。

如果使用 RAM 用户,需要由主账号或 RAM 管理员完成授权。常见授权对象包括:

  • STAROps 管理员:负责配置数字员工、长期任务、Skill、MCP 服务和权限策略。

  • 运维使用者:负责与数字员工对话,查看会话、任务和报告。

  • 安全管理员:负责定义数字员工 RAM Role、PassRole 范围、最小权限策略和审计边界。

  • 只读审计人员:只查看数字员工、会话、长期任务和产物,不修改配置。

STAROps 权限原理说明

STAROps 的权限模型涉及以下关键要素:

  • 数字员工:分为内置员工和自定义员工。内置员工继承调用者账号权限;自定义员工使用 RAM 角色权限。

  • 云账号:分为主账号和子账号(RAM 用户),需要配置子账号权限。

  • RAM 角色:自定义数字员工绑定 RAM 角色,通过配置 RAM 角色权限控制数据访问(CMS/ARMS/SLS/其他)和资源访问(云资源/其他资源)。

  • STAROps 其他资源:对话、长周期任务、报告、MCP、Skill 等。

  • PassRole 权限:控制使用者能否将指定数字员工 RAM Role 传递给 STAROps 服务。

传统云产品权限通常判断当前用户能否调用某个 OpenAPI。STAROps 还需要判断数字员工在运行时使用哪个身份访问数据或执行动作。

STAROps 权限配置主要涉及两个对象:

配置对象

配置内容

作用

使用者(主账号或 RAM 用户)

STAROps 操作权限(数字员工以及其他资源)、ram:PassRole、按需配置的数据查看权限

控制用户能否使用和管理数字员工、会话、长期任务、报告、Skill、MCP,以及能否把数字员工 RAM Role 传递给 STAROps

数字员工 RAM Role

信任策略、数据访问权限、资源访问权限

控制自定义数字员工运行时能访问哪些数据和资源

使用系统内置员工时,主要配置使用者权限。使用自定义数字员工时,需要同时配置使用者权限和数字员工 RAM Role 权限。

数字员工类型决定权限如何生效

STAROps 的数字员工分为系统内置员工和自定义数字员工。两者的权限来源不同。

对比项

系统内置员工

自定义数字员工

运行身份

不单独绑定数字员工 RAM Role

绑定数字员工 RAM Role,使用 RoleArn 标识

权限来源

继承调用者账号权限,并受产品内置能力边界限制

由数字员工 RAM Role 的权限策略决定运行时访问范围

PassRole 要求

不需要为内置员工单独配置 PassRole

和数字员工对话时需要 PassRole

扩展能力

能力受限

可按产品能力配置 Skill、MCP、AliyunCLI 等扩展

适用场景

快速体验、受控问答、轻量查询

按业务线隔离、接入企业数据、配置专属运维专家

说明

系统内置员工是 STAROps 预置的受限员工;自定义数字员工无论选择服务角色,还是选择您手动创建的自定义角色,都通过数字员工 RAM Role 承载运行权限。创建自定义数字员工时,可以选择服务角色 ServiceRoleForCloudMonitor(对应 RAM 角色 AliyunServiceRoleForCloudMonitor)快速获得可观测数据读取权限,包括 SLS、ARMS、CMS 等数据源。该服务角色不包含其他云产品更新、资源变更等运维操作权限。

给使用者配置权限

使用者可以是主账号,也可以是 RAM 用户。生产环境建议使用 RAM 用户并按职责授权。

使用者权限控制用户可以在 STAROps 中执行哪些操作。常见能力包括:

  • 查看数字员工列表和详情。

  • 创建、更新、删除自定义数字员工。

  • 发起会话,查看和管理会话记录。

  • 创建、查看、更新、删除长期任务。

  • 查看长期任务产物和报告。

  • 管理数字员工的 Skill、MCP 服务和工具配置。

  • 查看或设置额度、用量等运营信息。

使用者权限只控制用户能否操作 STAROps 资源,不等于数字员工运行时的数据访问权限。

使用自定义数字员工时配置 PassRole

ram:PassRole 授予使用者,控制使用者能否把某个数字员工 RAM Role 传递给 STAROps 服务使用。

当用户创建、更新或使用绑定数字员工 RAM Role 的自定义数字员工时,需要同时满足:

  • 使用者具备相应数字员工或长期任务的操作权限。

  • 使用者对目标数字员工 RAM Role 具备 ram:PassRole 权限。

  • 目标数字员工 RAM Role 的信任策略允许 STAROps 相关服务扮演该角色。

  • 目标数字员工 RAM Role 的权限策略允许访问任务所需的数据和资源。

ram:PassRole 不授予数字员工数据访问权限。它用于判断使用者是否有权把指定数字员工 RAM Role 交给 STAROps 使用。数字员工能访问哪些数据,仍由数字员工 RAM Role 的权限策略决定。

建议将 ram:PassRole 的 Resource 收敛到 STAROps 专用数字员工 RAM Role,不建议长期使用 Resource: "*"。

以下示例允许用户将服务角色 AliyunServiceRoleForCloudMonitor 传递给 STAROps。若使用自定义角色,请将 Resource 替换为对应 RoleArn。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "acs:ram::*:role/aliyunserviceroleforcloudmonitor",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}

给使用者配置数据查看权限

数字员工访问数据和使用者在控制台查看数据是两条不同链路。

系统内置员工继承调用者账号权限,因此使用者需要具备对应数据或资源权限。

自定义数字员工运行时使用数字员工 RAM Role 权限;使用者在 SLS、CMS、ARMS 等控制台核验结果时,仍需要自己的数据查看权限。

建议为使用者按需配置目标数据源的只读权限,便于核验数字员工返回的日志、指标或资源分析结果。

给数字员工 RAM Role 配置权限

自定义数字员工通过数字员工 RAM Role 获取运行时权限。RoleArn 是该运行身份的标识。

数字员工 RAM Role 需要配置两类内容:

  • 信任策略:允许 STAROps 相关服务扮演该数字员工 RAM Role。

  • 权限策略:允许该数字员工 RAM Role 访问指定数据和资源。

例如,数字员工需要查询日志,就需要数字员工 RAM Role 具备对应 SLS 只读权限;需要读取工作空间、实体存储或云资源数据,就需要数字员工 RAM Role 具备对应 CMS/ARMS 等产品权限。

如果只是希望数字员工读取云监控 2.0 场景数据,可在创建自定义数字员工时选择服务角色 ServiceRoleForCloudMonitor。该角色适合快速配置日志、指标、应用监控等数据查询能力。它不授予修改云产品配置、变更资源状态等权限;需要执行更新类操作时,请创建自定义角色,并按最小权限原则配置对应云产品的操作权限。

生产环境建议遵循最小权限原则,按数字员工职责、业务线、Workspace、日志项目和资源范围收敛授权。

使用系统内置员工时,不需要为员工单独配置数字员工 RAM Role。

典型配置路径

使用系统内置员工

适用于快速体验、受限问答和轻量查询。

需要配置:

  • 给 RAM 用户授予 STAROps 使用权限,例如查看数字员工、发起会话、查看会话记录。

  • 按需给 RAM 用户授予目标数据源的只读查看权限,便于控制台核验。

  • 不需要为系统内置员工配置独立数字员工 RAM Role 或 ram:PassRole。

创建并使用自定义数字员工

适用于按业务线创建专属运维专家,或需要配置 Skill、MCP、AliyunCLI 等扩展能力的场景。

创建数字员工

  1. 选择数字员工 RAM Role。只读查询和快速验证场景可选择服务角色 ServiceRoleForCloudMonitor;需要自定义数据范围或执行云产品更新操作时,创建 STAROps 专用自定义角色。

  2. 如果选择服务角色,可跳到步骤 4;如果选择自定义角色,配置数字员工 RAM Role 的信任策略,允许 STAROps 相关服务扮演该角色。

  3. 如果选择自定义角色,给数字员工 RAM Role 授予运行时需要的数据、资源或运维操作权限。

  4. 创建数字员工。

为 RAM 用户授权

  1. 给 RAM 用户授予数字员工创建、查看、更新、对话等使用者权限。

  2. 给 RAM 用户授予目标数字员工 RAM Role 的 ram:PassRole 权限。

  3. 发起会话并验证数据访问结果。

详细步骤请参见《数字员工权限配置》。

创建长期任务

适用于周期性巡检、告警分析、报告生成和持续守护等场景。

  1. 给 RAM 用户授予长期任务创建、查看、更新、删除等 Mission 操作权限。

  2. 给 RAM 用户授予查看任务产物和报告的权限。

  3. 确认长期任务选择的数字员工具备运行时所需的数据访问权限。

  4. 如果长期任务使用自定义数字员工,确认用户具备对应数字员工 RAM Role 的 ram:PassRole 权限。

详细步骤请参见《长期任务权限配置》。

配置最小权限策略

适用于多人协作、安全合规和业务线隔离。

建议先按职责拆分用户,再选择策略模板:

  • STAROps 管理员。

  • 数字员工配置管理员。

  • 普通运维使用者。

  • 长期任务运营人员。

  • 只读审计人员。

详细模板请参见STAROps 自定义权限策略最佳实践

常见问题

给数字员工 RAM Role 授权后,是否可以直接使用该数字员工

不能仅凭数字员工 RAM Role 权限判断。数字员工 RAM Role 只决定数字员工运行时能访问哪些数据和资源。用户还需要具备该数字员工的使用权限;如果使用的是自定义数字员工,还需要对目标数字员工 RAM Role 具备 ram:PassRole 权限。

用户能在控制台看到数据,数字员工为什么仍可能无法访问

用户在控制台查看数据时使用的是用户自身权限。自定义数字员工运行时使用的是绑定的数字员工 RAM Role 权限。两者是不同身份,需要分别授权。请检查数字员工 RAM Role 是否具备目标数据源或云资源的访问权限。

数字员工能访问数据,用户为什么仍可能无法在控制台核验

自定义数字员工访问数据时使用数字员工 RAM Role。用户在 SLS、CMS、ARMS 控制台查看数据时使用自己的 RAM 用户权限。若用户需要核验数字员工返回结果,请为该用户配置必要的数据源只读权限。

选择 ServiceRoleForCloudMonitor 后,数字员工是否可以执行云产品更新操作

不可以。ServiceRoleForCloudMonitor 对应的 AliyunServiceRoleForCloudMonitor 主要用于云监控 2.0 场景的数据读取,适合查询、诊断、巡检和报告生成。它不包含修改云产品配置、变更资源状态等权限。需要执行更新类运维动作时,请使用自定义角色并单独授权。

PassRole 和 AssumeRole 有什么区别

ram:PassRole 控制 RAM 用户是否可以把某个数字员工 RAM Role 传递给 STAROps 服务。sts:AssumeRole 是服务在运行时扮演该角色的动作。角色信任策略允许服务扮演角色,不代表任意 RAM 用户都可以把该角色交给服务使用。

创建长期任务时为什么还需要检查数字员工权限

Mission 权限只控制用户能否创建和管理长期任务。长期任务执行时仍由数字员工完成,因此需要确认所选数字员工具备运行时数据访问权限;如果使用自定义数字员工,还需要确认用户具备对应数字员工 RAM Role 的 ram:PassRole 权限。