跳转到内容
Docs

角色与权限

适用于Alpha

OpenRUM 对每个请求都在服务端校验权限,所以 Console 里隐藏一个按钮从来不是唯一的保护。角色挂在 Organization 上,并适用于其中的每个 Project。Instance 角色是另一套,两个范围的关系见组织、项目与角色。

角色 简述
Owner 完全控制 Organization,包括删除 Project 和管理其他 Owner
Admin 配置 Project 与通知渠道,管理成员(Owner 除外)
Member 处理数据:处理 Issue,管理 Release 和告警规则
Viewer 对 Organization 内所有 Project 只读
操作 Owner Admin Member Viewer
查看 Project、Event、Issue、Session、仪表盘、Release 和告警规则 可以 可以 可以 可以
修改 Issue 的状态或负责人 可以 可以 可以 不可以
创建、删除 Release,管理它的 Source Map Artifact 可以 可以 可以 不可以
发送测试 Event 可以 可以 可以 不可以
创建、编辑、删除告警规则 可以 可以 可以 不可以
管理通知渠道 可以 可以 不可以 不可以
创建 Project,编辑其设置(名称、Environment、允许的 Origin、采样、限流、保留期) 可以 可以 不可以 不可以
管理 DSN key 和 Upload Token 可以 可以 不可以 不可以
管理入站过滤和处理规则 可以 可以 不可以 不可以
添加成员,修改或移除 Viewer、Member、Admin 可以 可以 不可以 不可以
授予、修改或移除 Owner 可以 不可以 不可以 不可以
删除 Project 或清除它的数据 可以 不可以 不可以 不可以

有两个细节值得知道:

  • 渠道和规则是分开的。 通知渠道里保存着 Webhook 地址之类的投递密钥,所以 Member 可以决定存在哪些告警规则,但不能决定告警发往哪里。见告警。
  • Key 对 Member 不可见。 Project 的 DSN key 只对 Owner 和 Admin 列出。CI 发布 Release 时使用的是 Upload Token,而不是 Console 会话。

任何访问已被批准的登录用户都可以创建新的 Organization,并成为它的 Owner。这不会让他获得别人 Organization 的访问权。

  • Organization 必须至少保留一名 Owner,降级或移除最后一名 Owner 会被拒绝。
  • Admin 不能创建 Owner,也不能修改或移除 Owner,只有 Owner 可以。
  • 成员变更会写入该 Organization 的审计日志。

Instance 角色控制整套安装范围的设置。它们独立于 Organization 角色:不是某个 Organization 成员的 Instance Owner,无法打开它的 Project。

操作 Instance Owner Instance Admin
查看 Instance 概览、配置、维护任务和审计日志 可以 可以
修改 Instance 配置项 可以 可以
测试对象存储连接 可以 可以
预览保留期变更或紧急清理 可以 可以
保存托管的对象存储设置 可以 不可以
启动保留任务,或会删除数据的紧急清理 可以 不可以
添加、修改或移除登录提供者 可以 不可以
管理 Instance 成员 可以 不可以

修改 Instance 设置以及任何会删除数据的操作,都会要求操作人重新输入 OpenRUM 密码,验证有效期是五分钟。所以持有 Instance 角色的用户必须有本地 OpenRUM 密码,即使他平时通过外部提供者登录。

Instance 始终至少保留一名 Instance Owner。完成首次初始化的人就是第一个。

Console 遵循同样的规则。没有 Instance 角色的人完全看不到系统设置,当前角色无法使用的控件则显示为只读或不出现。关于数据本身的页面,见发现与排查和告警。

Release Alpha · commit local