跳到主要内容

角色

OPL 数据空间使用全局账号角色来定义一个用户账号的基础访问级别。它们与 用户组权限 以及组织内的本地管理能力是分开的。

当前角色层级

角色关键字典型用途
Adminadmin平台级完全控制
Managermanager具备运营可见性,但没有全部系统配置权限
Auditorauditor面向审计流程的只读审查访问
Useruser受权限和用户组管理的标准用户
Pendingpending处于等待激活状态的阻塞账号

角色说明

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_EMAIL
  • WEBUI_ADMIN_PASSWORD
  • WEBUI_ADMIN_NAME(可选,默认 Admin

满足条件后, OPL 数据空间会:

  1. 在启动时检查数据库中是否已经存在用户
  2. 如果数据库为空,就用这些凭据创建管理员账号
  3. 安全哈希密码并存储
  4. 自动关闭注册(ENABLE_SIGNUP=False),防止未授权账号创建

典型用途

  • CI/CD 自动化环境
  • Docker / Kubernetes 部署
  • 自动化测试环境
  • 不方便人工开 UI 完成初始化的 headless 服务器

重要注意事项

安全注意事项
  • 不要把 WEBUI_ADMIN_PASSWORD 硬编码进 Compose 文件或镜像
  • 生产环境请使用强密码
  • 初次部署完成后,可以在 UI 中重新修改一次管理员密码
  • 该值绝不能提交到版本控制
行为细节
  • 只有数据库里没有任何用户时,才会触发自动创建
  • 密码会通过与手工创建账号相同的安全机制进行哈希
  • 这是首次启动时的一次性操作,后续重启不会继续修改现有管理员账号

完整变量说明请参考 Environment Configuration