🔐 群组
群组允许管理员:
- 同时为多个用户分配权限,从而简化访问管理;
- 通过将特定资源(模型、工具等)的访问权限设置为“私有”,然后向特定群组开放访问,从而限制对其的访问;
- 为群组指定资源的访问权限为“读取”或“写入”(写入权限包含读取权限)。
信息
请注意,权限模型是许可型的。如果一个用户同时属于两个对某个资源定义了不同权限的群组,则应用最宽松的权限。
群组结构
Open WebUI 中的每个群组包含:
- 一个唯一的标识符
- 名称和描述
- 所有者/创建者引用
- 成员用户ID列表
- 权限配置
- 附加元数据
群组管理
群组可以:
- 由管理员通过用户界面手动创建。
- 在启用
ENABLE_OAUTH_GROUP_MANAGEMENT
时,从 OAuth 提供商自动同步。 - 在同时启用
ENABLE_OAUTH_GROUP_MANAGEMENT
和ENABLE_OAUTH_GROUP_CREATION
时,从 OAuth 声明自动创建。
OAuth 群组集成
当启用 OAuth 群组管理时,用户群组成员资格将与 OAuth 声明中接收到的群组进行同步。
- 用户将被添加到与其 OAuth 声明相匹配的 Open WebUI 群组中。
- 用户将从其 OAuth 声明中不存在的群组中移除。
- 启用
ENABLE_OAUTH_GROUP_CREATION
后,OAuth 声明中但在 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"]
}
}
此结构允许精确控制谁可以查看和修改特定资源。