角色
OPL 数据空间使用全局账号角色来定义一个用户账号的基础访问级别。它们与 用户组、权限 以及组织内的本地管理能力是分开的。
当前角色层级
| 角色 | 关键字 | 典型用途 |
|---|---|---|
| Admin | admin | 平台级完全控制 |
| Manager | manager | 具备运营可见性,但没有全部系统配置权限 |
| Auditor | auditor | 面向审计流程的只读审查访问 |
| User | user | 受权限和用户组管理的标准用户 |
| Pending | pending | 处于等待激活状态的阻塞账号 |
角色说明
Administrator(admin)
Admin 是 OPL 数据空间的平台级运营者。
- 可访问全局设置、管理界面和租户生命周期能力
- 在支持
Global的页面里拥有混合作用域管理能力 - 可跨整个部署管理用户与资源
管理员仍然会受部署级限制影响
即便是管理员,也仍可能受到以下约束:
- 例如
ENABLE_ADMIN_CHAT_ACCESS=False这类隐私控制 - 像
BYPASS_ADMIN_ACCESS_CONTROL这类访问控制旁路设置 - 在组织感知部署中被故意设计为 fail closed 的特定规则
因此,“admin” 应被理解为最高平台角色,而不是保证每个页面在所有部署中都表现完全一致。
Manager(manager)
Manager 介于 admin 与纯审查角色之间。
- 通常可访问 analytics、audit 等运营界面
- 适合需要查看报表或做监督,但不应拿到完整系统配置权的角色
- 不应被视为等价于完整平台管理员
Auditor(auditor)
Auditor 面向审查工作流。
- 可查看审计相关界面,而无需成为管理员
- 适合合规、支持审查和事故调查场景
- 往往会和普通终端用户能力并存
Standard user(user)
这是大多数团队成员的默认功能角色。
- 受权限、用户组和功能开关约束
- 不带任何隐式管理权限
- 最终有效能力来自默认权限与额外授权的叠加结果
Pending user(pending)
Pending 用户在被激活前不能使用系统。
- 常见于公开注册后的审批队列
- 也适合内部基于审批的 onboarding 流程
组织管理员是另一回事
组织管理员 不一定是单独的全局角色。
在组织感知部署中,一个用户可以仅对某个组织拥有本地管理能力,而不成为平台级管理员。这一点非常重要:
- organization admin 只管理自己的组织
- 全局角色变更仍然属于平台级操作
- organization admin 的具体能力可以由全局管理员委派或固定
角色分配
初始安装
- 第一个用户:全新实例上的首个账号会成为
admin - 无头引导:自动化部署可通过环境变量在首次启动时创建管理员
- 后续用户:新账号会获得配置好的默认角色
默认用户角色
可以通过下面的环境变量控制新用户默认角色:
DEFAULT_USER_ROLE=pending
# Options: 'pending', 'user', 'admin'pending适合共享或公网部署,是最安全默认值user常见于受信任内部环境admin只应极谨慎使用
修改角色
全局角色变更应通过高权限用户管理界面完成。
- 把用户提升为
admin意味着授予平台级权限 - 将高权限用户降级后,其能力会重新回到普通权限模型之下
- 在组织感知部署中,不要把全局角色变更与组织本地管理委派混为一谈
无头创建管理员账号
对于 Docker、Kubernetes 或云端自动化部署, OPL 数据空间支持在首次启动时自动创建管理员账号。
需要配置:
WEBUI_ADMIN_EMAILWEBUI_ADMIN_PASSWORDWEBUI_ADMIN_NAME(可选,默认Admin)
满足条件后, OPL 数据空间会:
- 在启动时检查数据库中是否已经存在用户
- 如果数据库为空,就用这些凭据创建管理员账号
- 安全哈希密码并存储
- 自动关闭注册(
ENABLE_SIGNUP=False),防止未授权账号创建
典型用途
- CI/CD 自动化环境
- Docker / Kubernetes 部署
- 自动化测试环境
- 不方便人工开 UI 完成初始化的 headless 服务器
重要注意事项
安全注意事项
- 不要把
WEBUI_ADMIN_PASSWORD硬编码进 Compose 文件或镜像 - 生产环境请使用强密码
- 初次部署完成后,可以在 UI 中重新修改一次管理员密码
- 该值绝不能提交到版本控制
行为细节
- 只有数据库里没有任何用户时,才会触发自动创建
- 密码会通过与手工创建账号相同的安全机制进行哈希
- 这是首次启动时的一次性操作,后续重启不会继续修改现有管理员账号
完整变量说明请参考 Environment Configuration。