全部产品
Search
文档中心

全域智能运维平台 STAROps:STAROps 自定义权限策略最佳实践

更新时间:Jul 07, 2026

本文介绍如何基于最小权限原则,为不同职责的 RAM 用户配置 STAROps 自定义权限策略。

本文适用于已经了解基础权限配置流程的安全管理员和运维管理员。

开始前,建议先阅读权限配置,理解使用者和数字员工 RAM Role 这两个授权对象之间的关系,以及 ram:PassRole 在其中承担的委派控制作用。

设计原则

配置 STAROps 权限时,建议遵循以下原则:

  1. 按职责授权。管理员、普通运维人员、长期任务运营人员和审计人员应使用不同策略。

  2. 分离用户权限和数字员工运行权限。RAM 用户能使用 STAROps,不代表数字员工能访问所有数据;数字员工能访问数据,也不代表用户能在控制台查看数据。

  3. 收敛 ram:PassRole。建议指定到服务角色或 STAROps 专用自定义角色,不建议长期使用 Resource: "*"

  4. 按业务线隔离数字员工。不同业务线使用不同数字员工、不同 RAM Role 和不同数据访问范围。

  5. 只读优先。巡检、报告、告警分析等场景优先授予只读权限。

  6. 谨慎授权写操作。涉及云资源变更、告警修改、配置下发或脚本执行时,应配合人工确认、审计和回滚。

模板选择

模板

适用对象

说明

模板一:运维管理员

负责管理数字员工、会话、Skill 和产物的管理员

权限较大,生产环境需要收敛 ram:PassRole

模板二:普通运维人员

日常与数字员工对话、查看会话和产物的使用者

需要对目标数字员工 RAM Role 具备 ram:PassRole

模板三:按数字员工粒度授权

只允许使用或管理指定数字员工的团队成员

需要对指定数字员工 RAM Role 具备 ram:PassRole

模板四:长期任务运营人员

负责创建和维护长期任务的运维人员

需要对任务所选数字员工 RAM Role 具备 ram:PassRole

模板五:长期任务只读

审计或管理复盘人员

只查看任务、会话和产物

模板六:Deny 高危删除操作

需要额外防护删除操作的生产环境

与允许策略配合使用

说明

以下模板基于线上帮助文档生成,可直接复制到 RAM 自定义权限策略中。模板中的 ram:PassRole 默认以服务角色 AliyunServiceRoleForCloudMonitor 为例;如果数字员工绑定自定义 RAM Role,请将 Resource 替换为对应 RoleArn。

模板一:运维管理员(数字员工、会话、Skill 全部权限)

适用于负责 STAROps 日常管理的运维管理员。该模板允许管理数字员工、Skill、会话和产物,并包含 ram:PassRole 示例。

不建议把该模板直接授予所有运维人员。生产环境应按业务线、数字员工 ID、Workspace 和 RoleArn 继续收敛。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateDigitalEmployee",
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees",
        "cms:UpdateDigitalEmployee",
        "cms:DeleteDigitalEmployee",
        "cms:CreateDigitalEmployeeSkill",
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:UpdateDigitalEmployeeSkill",
        "cms:DeleteDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkillVersions",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads",
        "cms:UpdateThread",
        "cms:DeleteThread",
        "cms:GetArtifact",
        "cms:ListArtifacts",
        "cms:CreateChat"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/skill/*",
        "acs:cms:*:*:digitalemployee/*/thread/*",
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:workspace/*/entitystore"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateDigitalEmployee",
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees",
        "starops:UpdateDigitalEmployee",
        "starops:DeleteDigitalEmployee",
        "starops:CreateDigitalEmployeeSkill",
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:UpdateDigitalEmployeeSkill",
        "starops:DeleteDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkillVersions",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads",
        "starops:UpdateThread",
        "starops:DeleteThread",
        "starops:GetArtifact",
        "starops:ListArtifacts",
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/skill/*",
        "acs:starops:*:*:digitalemployee/*/thread/*",
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    }
  ]
}
        

模板二:普通运维人员(仅对话和查看)

适用于日常使用 STAROps 的 SRE、DevOps 或应用负责人。该模板允许查看数字员工、发起对话、查看会话和产物,不允许创建、修改或删除数字员工。由于对话时需要使用自定义数字员工绑定的 RAM Role,因此需要同时授予 ram:PassRole

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees",
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads",
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*",
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:workspace/*/entitystore"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads",
        "starops:GetArtifact",
        "starops:ListArtifacts",
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*",
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}
        

模板三:按数字员工粒度授权

适用于按业务线、应用或团队隔离数字员工的场景。示例中用户只能访问指定数字员工及其 Skill、会话和产物,并只能传递该数字员工绑定的 RAM Role。

复制后请将示例中的数字员工 ID、Workspace 和资源范围替换为实际范围。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListDigitalEmployees",
        "cms:GetDigitalEmployee",
        "cms:UpdateDigitalEmployee",
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads",
        "cms:UpdateThread",
        "cms:DeleteThread",
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:ListDigitalEmployeeSkillVersions",
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/ops-agent-a",
        "acs:cms:*:*:digitalemployee/ops-agent-a/skill/*",
        "acs:cms:*:*:digitalemployee/ops-agent-a/thread/*",
        "acs:cms:*:*:digitalemployee/ops-agent-a/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:workspace/*/entitystore"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:ListDigitalEmployeeSkillVersions",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads",
        "starops:UpdateThread",
        "starops:DeleteThread",
        "starops:GetArtifact",
        "starops:ListArtifacts",
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/ops-agent-a",
        "acs:starops:*:*:digitalemployee/ops-agent-a/skill/*",
        "acs:starops:*:*:digitalemployee/ops-agent-a/thread/*",
        "acs:starops:*:*:digitalemployee/ops-agent-a/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}
        

模板四:长期任务运营人员(Mission 管理)

适用于负责创建、更新和观察长期任务的运营人员。长期任务必须选择绑定 RAM Role 的自定义数字员工;任务能访问的数据和资源,仍由该数字员工 RAM Role 决定。因此,长期任务运营人员也需要对任务所选数字员工 RAM Role 具备 ram:PassRole

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateMission",
        "starops:GetMission",
        "starops:ListMissions",
        "starops:UpdateMission",
        "starops:DeleteMission",
        "starops:ListTasks",
        "starops:ListDigitalEmployees",
        "starops:ListThreads"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*",
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": "acs:starops:*:*:digitalemployee/*/artifact/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateMission",
        "cms:GetMission",
        "cms:ListMissions",
        "cms:UpdateMission",
        "cms:DeleteMission",
        "cms:ListTasks",
        "cms:ListDigitalEmployees",
        "cms:ListThreads"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*",
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": "acs:cms:*:*:digitalemployee/*/artifact/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace"
      ],
      "Resource": "acs:cms:*:*:workspace/*"
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}
        

模板五:长期任务只读

适用于安全审计、管理复盘和任务结果检查。该模板只允许查看长期任务、任务状态、数字员工、会话和产物,不允许创建、更新或删除长期任务。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMission",
        "starops:ListMissions",
        "starops:ListTasks",
        "starops:ListDigitalEmployees",
        "starops:GetDigitalEmployee",
        "starops:ListThreads"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*",
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMission",
        "cms:ListMissions",
        "cms:ListTasks",
        "cms:ListDigitalEmployees",
        "cms:GetDigitalEmployee",
        "cms:ListThreads"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*",
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*"
      ]
    }
  ]
}
        

PassRole 授权路径

ram:PassRole 控制 RAM 用户能否把某个 RAM Role 传递给 STAROps 使用,不授予数据访问权限。授予时请按以下路径处理:

  1. 先确认数字员工绑定的 RoleArn。

  2. 如果数字员工选择服务角色 ServiceRoleForCloudMonitor,Resource 使用 acs:ram::*:role/aliyunserviceroleforcloudmonitor

  3. 如果数字员工选择自定义 RAM Role,Resource 使用该角色的 RoleArn,例如 acs:ram::*:role/starops-production-sre

  4. 在 RAM 控制台创建自定义权限策略,并将策略授权给需要使用该数字员工的 RAM 用户或用户组。

模板二、模板三、模板四都需要包含这类 PassRole 授权;模板五只做只读审计,通常不授予。

服务角色 ServiceRoleForCloudMonitor 的 PassRole 示例:

{
  "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 用户能做什么"。数字员工本身也需要按最小权限设计,否则容易出现一个高权限 Agent 被多个团队复用的问题。

按场景拆分数字员工

建议将数字员工按职责拆分,而不是创建一个全能数字员工:

  • 只读巡检数字员工:用于日志查询、指标分析、告警诊断和报告生成。

  • 变更执行数字员工:用于受控执行云产品配置更新、资源变更或脚本操作。

  • 长期任务数字员工:用于周期性巡检、报告和持续分析。

  • 业务线数字员工:按支付、搜索、物流等业务线隔离数据和操作范围。

不同数字员工应绑定不同 RAM Role。只读场景可优先选择服务角色 ServiceRoleForCloudMonitor;涉及更新云产品配置或资源变更时,请使用自定义 RAM Role,并只授予必要写权限。

按 RAM Role 收敛运行权限

数字员工绑定的 RAM Role 决定它运行时能访问哪些数据和资源。建议:

  • 每个生产数字员工使用独立 RAM Role。

  • Role 命名体现业务线和职责,例如 starops-payment-readonlystarops-payment-change

  • 按 Workspace、日志项目、资源组、地域或云产品资源范围收敛授权。

  • 只读和写操作使用不同 RAM Role。

  • 不把账号管理员 Role 或生产全量运维 Role 作为数字员工运行 Role。

按使用者收敛 PassRole

  • 只给需要创建、更新或使用自定义数字员工的人授予。

  • Resource 指定到服务角色或 STAROps 专用自定义角色。

  • 通过 acs:Service 限定只能传递给 STAROps 相关服务。

  • 普通只读审计人员不授予 ram:PassRole

长期任务单独治理

长期任务会异步执行,必须使用绑定 RAM Role 的自定义数字员工。建议:

  • 长期任务使用专门的数字员工和 RAM Role。

  • 巡检、报告类任务优先使用只读 RAM Role。

  • 需要执行变更动作的长期任务,使用独立数字员工、独立 RAM Role 和人工确认流程。

  • 定期审查长期任务绑定的数字员工和 RoleArn,避免任务长期持有过大的运行权限。

配置 MCP 和 AliyunCLI 时单独评估

系统内置员工不支持 MCP、AliyunCLI 等扩展配置。自定义数字员工启用这些能力前,建议确认:

  • 工具能力是否必须开启。

  • 工具能访问的云产品和资源范围是否受 RAM Role 限制。

  • 高风险工具是否有人工确认、执行记录和回滚方案。

  • 是否需要为工具型数字员工单独创建 RAM Role。

策略验证与排查

完成配置后,建议按以下顺序验证:

验证项

验证方法

重点检查

用户能否看到目标数字员工

登录 STAROps 查看数字员工列表

Get/List 数字员工权限

用户能否发起会话

与目标数字员工对话

CreateChat、CreateThread、GetThread 权限

用户能否创建长期任务

创建一个测试长期任务

Mission Create/Update 权限

创建或更新数字员工是否 PassRole 失败

保存绑定 RoleArn 的数字员工

RAM 用户 ram:PassRole 和 RoleArn 范围

数字员工能否读取目标数据

查询目标 Workspace、日志或云资源

数字员工 RAM Role 权限策略

用户能否查看报告和产物

打开任务报告或会话产物

Artifact Get/List 权限

排查时,先判断问题发生在用户操作阶段,还是数字员工运行阶段。用户操作失败,检查 RAM 用户权限;绑定或使用 Role 失败,检查 ram:PassRole;数字员工运行失败,检查 RAM Role 信任策略和权限策略。

发布前检查

发布到生产环境前,建议确认:

  • 已将示例中的数字员工 ID、RoleArn、Workspace、日志项目替换为真实范围。

  • 已删除不需要的 Action 和 Resource。

  • 已避免在生产环境使用 Resource: "*"ram:PassRole

  • 已区分只读数字员工和变更执行数字员工。

  • 已确认具备写操作能力的数字员工有人工确认、审计和回滚流程。

  • 已为长期任务选择绑定 RAM Role 的自定义数字员工。

  • 已使用 RAM 用户完成一次真实场景验证。