角色
细粒度访问控制目前处于测试阶段(Beta)。
概述
角色是 SigNoz 访问控制的核心单元。角色将各项操作(transactions)打包在一起——当某个主体(principal)被分配角色后,将获得该角色包含的所有操作权限。
前置条件
- 有效的 SigNoz 许可证
- 包含所需操作的角色。各角色动作所需的具体操作详情,请参阅 操作参考(Transactions Reference)。
目前,用户角色分配仅能由具备 signoz-admin 角色的主体管理。针对用户资源的细粒度访问控制尚未上线。
托管角色
SigNoz 内置了四个托管角色:
- SigNoz-Admin — 对所有 SigNoz 资源拥有完整管理权限。
- SigNoz-Editor — 可创建和修改仪表盘、告警及管道等可观测性资源,但无法管理用户、角色或服务账号。
- SigNoz-Viewer — 对可观测性数据和资源拥有只读权限。
- SigNoz-Anonymous — 仅可访问公开资源(如公开共享的仪表盘),系统会自动分配此角色。
托管角色不可编辑或删除。打开托管角色详情时,其中的操作以只读模式展示。

创建自定义角色
- 导航至 设置 > 角色。
- 点击 Custom role,进入角色创建页面。
- 输入角色 名称(Name) 和可选的 描述(Description)。名称仅限使用小写字母和连字符,长度不超过 50 个字符(例如
service-owner或platform-readonly)。 - 在 Transaction Groups 部分配置该角色的操作权限(见下文 配置操作)。
- 点击 Create role。

角色名称创建后无法修改,请选择一个能体现角色用途的描述性名称。
配置 Transactions
角色的访问权限由其 Transaction Groups 定义,即角色在每个资源上授予的关系集合。在 Transaction Groups 区域顶部的切换开关中,可以选择两种配置模式:Interactive 和 JSON。两种模式可以互相切换,配置会保留(前提是 JSON 合法)。
Interactive 模式
Interactive 模式为每个资源展示一张卡片,例如 Dashboards、Roles、Service Accounts、API Keys 以及遥测相关资源。可以使用 Expand all / Collapse all 一次性展开或收起所有卡片。在每张卡片内,为每个操作(relation)设置作用范围:
- All — 在该资源类型的所有实例上授予该事务。
- Only selected — 仅在指定实例上授予该事务。输入每个实例的 selector(例如角色名或 Service Account ID),然后点击 Add。各资源使用的 selector 格式请参阅 Transactions Reference。
- None — 不在该资源类型的任何实例上授予该事务。
JSON 模式
切换到 JSON 模式可以直接编辑角色的事务配置,适合批量修改、在角色之间复制配置,或设置精细的 selector。编辑器会根据 transaction-group schema 进行校验,并内联显示解析和 schema 错误;可使用复制按钮复制当前 JSON。
每个条目是一个事务组,包含一个 objectGroup(资源及其 selector)和一个 relation。selector 设为 ["*"] 表示在所有实例上授予该关系;列出具体的 ID 或名称即可限定范围。
[
{
"objectGroup": {
"resource": { "kind": "role", "type": "role" },
"selectors": ["*"]
},
"relation": "read"
},
{
"objectGroup": {
"resource": { "kind": "serviceaccount", "type": "serviceaccount" },
"selectors": ["my-service-account-id"]
},
"relation": "read"
}
]
Info如果 JSON 存在错误,切回交互模式时会提示你丢弃无效的更改。请先修复错误,否则无法保留编辑内容。
查看角色
点击列表中的任意角色以打开其详情页面。该页面会显示角色的描述、创建时间、最后修改时间以及其事务组(Transaction Groups)。使用列表/JSON 切换开关,可在卡片预览和同一配置的只读 JSON 视图之间切换。
- 对于自定义角色,可以使用更新和删除操作(受限于你自身的事务权限)。
- 对于托管角色,事务为只读——更新操作不可用。

编辑自定义角色
- 打开该角色的详情页面。
- 点击更新。
- 在交互模式或 JSON 模式下编辑描述并调整事务组。角色名称不可修改。
- 点击保存更改。
未保存的编辑会显示未保存更改标识。如果带有未保存的更改而离开页面,系统会提示你丢弃更改或继续编辑。

删除自定义角色
- 打开该角色的详情页面。
- 点击删除。
- 在确认对话框中,点击删除角色。
仅当角色未分配给任何主体,且未在任何 SSO 组映射中使用时,才可删除该角色。删除前,请移除所有分配对象及引用该角色的 SSO 组映射。角色删除操作不可撤销。