跳到主要内容

🔑 角色

Open WebUI 实现了一个结构化的基于角色的访问控制系统,具有三个主要用户角色:

角色描述默认创建
管理员拥有完全控制权限的系统管理员第一个用户账户
普通用户拥有有限权限的标准用户后续批准的用户
待审核未批准的用户,等待管理员激活新注册(可配置)

角色分配

  • 首个用户: 在新的 Open WebUI 实例中创建的第一个账户会自动获得管理员权限。
  • 后续用户: 新用户注册会根据 DEFAULT_USER_ROLE 配置自动分配默认角色。

可以通过 DEFAULT_USER_ROLE 环境变量配置新注册用户的默认角色:

DEFAULT_USER_ROLE=pending  # 可选值: pending, user, admin

当设置为 "pending" 时,新用户必须由管理员手动批准后才能访问系统。

用户组

用户组允许管理员:

  • 一次性为多个用户分配权限,简化权限管理
  • 通过将资源(模型、工具等)的访问权限设置为"私有",然后向特定组开放访问权限,限制对特定资源的访问
  • 资源的组访问权限可设置为"只读"或"可写"

组结构

Open WebUI 中的每个组包含:

  • 唯一标识符
  • 名称和描述
  • 所有者/创作者引用
  • 成员用户 ID 列表
  • 权限配置
  • 其他元数据

组管理

组可以:

  • 由管理员通过用户界面手动创建
  • 在启用 ENABLE_OAUTH_GROUP_MANAGEMENT 时自动从 OAuth 提供方同步
  • 在同时启用 ENABLE_OAUTH_GROUP_MANAGEMENTENABLE_OAUTH_GROUP_CREATION 时根据 OAuth 声明自动创建

OAuth 组集成

启用 OAuth 组管理时,用户组成员资格会与 OAuth 声明中的组同步:

  • 用户会被添加到与其 OAuth 声明匹配的 Open WebUI 组中
  • 用户会从其 OAuth 声明中未包含的组中移除
  • 在启用 ENABLE_OAUTH_GROUP_CREATION 时,OAuth 声明中存在但 Open WebUI 中不存在的组会被自动创建