🔐 群组
群组允许管理员
- 一次性为多个用户分配权限,简化访问管理
- 通过将资源(模型、工具等)的访问权限设置为“私有”,然后向特定群组开放访问,来限制对特定资源的访问
- 为群组指定对资源的访问权限为“读取”或“写入”(写入权限包含读取)
信息
请注意,权限模型是许可型的。如果一个用户是两个群组的成员,而这两个群组为同一资源定义了不同的权限,则应用最宽松的权限。
群组结构
Open WebUI 中的每个群组包含
- 一个唯一的标识符
- 名称和描述
- 所有者/创建者引用
- 成员用户 ID 列表
- 权限配置
- 附加元数据
群组管理
群组可以
- 由管理员通过用户界面手动创建
- 当
ENABLE_OAUTH_GROUP_MANAGEMENT
启用时,从 OAuth 提供商自动同步 - 当
ENABLE_OAUTH_GROUP_MANAGEMENT
和ENABLE_OAUTH_GROUP_CREATION
都启用时,从 OAuth Claims 自动创建
OAuth 群组集成
当启用 OAuth 群组管理时,用户群组成员身份会与 OAuth Claims 中接收到的群组同步
- 用户会被添加到与其 OAuth Claims 匹配的 Open WebUI 群组中
- 用户会被从其 OAuth Claims 中不存在的群组中移除
- 启用
ENABLE_OAUTH_GROUP_CREATION
后,OAuth Claims 中不存在于 Open WebUI 中的群组将自动创建
群组权限
群组可用于向用户提供一组权限。例如,可以创建一个“数据科学家”群组,该群组对所有模型、知识库和工具拥有读写权限。
针对群组的资源访问控制
Open WebUI 为模型、知识库、提示词和工具等资源实现了细粒度的访问控制。访问可以在用户和群组级别进行控制。
要为资源启用访问控制,请将其访问权限设置为“私有”,然后向特定群组开放访问。
访问控制结构
知识库等资源使用一种访问控制结构,该结构指定了用户和群组的读写权限
{
"read": {
"group_ids": ["group_id1", "group_id2"],
"user_ids": ["user_id1", "user_id2"]
},
"write": {
"group_ids": ["group_id1", "group_id2"],
"user_ids": ["user_id1", "user_id2"]
}
}
这种结构可以精确控制谁可以查看和修改特定资源。