权限
OPL 数据空间提供了灵活的权限系统,让管理员可以细粒度控制用户能访问哪些功能、能修改哪些内容。
一个权限被授予后,并不一定意味着用户立刻获得整个实例的数据可见性。在组织感知部署中,同一个权限往往只是“解锁某项能力”,而具体能看到哪些数据、哪些设置,仍取决于用户的归属组织或管理员当前选中的组织。
管理员通常通过两种方式管理权限:
- 默认权限:在 管理面板 > 用户 > 用户组 > 默认权限 中配置对所有用户生效的基础权限
- 用户组权限:在 管理面板 > 用户 > 用户组 中创建用户组,并对该组做权限覆写
Pending 用户在获批前没有访问能力;Admin 拥有平台级管理权限;普通 User 则完全受本页描述的权限体系控制。
RBAC 控制的是用户在 OPL 数据空间内部能做什么。
它不替代 provider 侧的最小权限设计。对于 OpenAI-compatible provider/proxy(包括 LiteLLM),仍应继续配置最小必要权限的外部凭据。
OPL 数据空间的权限是叠加式的。
- 一个用户的有效权限 = 全局默认值 + 所有 用户组成员关系
- True 优先于 False:只要有任意一个来源授予权限,该用户就会拥有它
- 没有显式 Deny:你不能靠某个组去“拿掉”另一个组或全局默认值已经给出的权限
因为权限是叠加式的,最安全的策略是:
- 先把 全局默认权限 压到最低,只保留所有人都必需的能力
- 再通过用户组显式授予高级能力,例如图像生成、文件上传、网页搜索
这样可以避免新用户一上来就拥有过多敏感能力,也能通过加组的方式平滑提升权限。
权限分类
权限主要分为五类:工作区、共享、聊天、功能 和 设置。
1. 工作区权限
控制用户是否能访问 Workspace,并在其中创建和管理资源。
| 权限 | 说明 |
|---|---|
| 模型访问 | 访问模型工作区,创建或编辑自定义模型 |
| 模型导入 | 需要模型访问;允许导入模型 |
| 模型导出 | 需要模型访问;允许导出模型 |
| 知识库访问 | 访问知识库工作区 |
| 提示词访问 | 访问提示词工作区 |
| 提示词导入 | 需要提示词访问;允许导入 Prompt |
| 提示词导出 | 需要提示词访问;允许导出 Prompt |
| 工具访问 | 访问工具工作区 |
| 工具导入 | 需要工具访问;允许导入工具 |
| 工具导出 | 需要工具访问;允许导出工具 |
| 技能访问 | 访问技能工作区 |
给用户授予工具访问,实质上等于允许其执行任意 Python 代码。只有当你愿意信任该用户拥有近似服务器 shell 级能力时,才应该给出这项权限。
2. 共享权限
控制用户可以共享哪些资源,以及是否可以公开发布。
| 权限 | 说明 |
|---|---|
| 共享模型 / 公开模型 | 共享模型 / 将模型公开 |
| 共享知识库 / 公开知识库 | 共享知识库 / 将知识库公开 |
| 共享提示词 / 公开提示词 | 共享 Prompt / 将 Prompt 公开 |
| 共享工具 / 公开工具 | 共享工具 / 将工具公开 |
| 共享技能 / 公开技能 | 共享 Skills / 将 Skills 公开 |
| 共享笔记 / 公开笔记 | 共享笔记 / 将笔记公开 |
3. 聊天权限
控制聊天界面中的能力。
| 权限 | 说明 |
|---|---|
| 聊天控制 | 访问高级聊天设置,是阀门 / 系统提示词 / 参数 的前置权限 |
| 模型阀门 | 需要聊天控制;访问模型级配置阀门 |
| 系统提示词 | 需要聊天控制;修改会话系统提示词 |
| 参数 | 需要聊天控制;修改温度、top_k 等参数 |
| 文件上传 | 上传文件到聊天 |
| 删除聊天 | 删除整个聊天 |
| 删除消息 | 删除单条消息 |
| 编辑消息 | 编辑消息 |
| 继续生成 | 使用 Continue 续写 |
| 重新生成回答 | 重新生成回答 |
| 回答评分 | 对回答点赞/点踩 |
| 分享聊天 | 生成聊天分享链接 |
| 导出聊天 | 导出聊天历史 |
| 语音转文本 / 文本转语音 | 语音输入 / 语音输出 |
| 音频通话 | 实时音频通话 |
| 多模型 | 同时选择多个模型回复 |
| 临时聊天 | 开启临时聊天(不保留历史) |
| 强制临时聊天 | 强制用户始终使用临时聊天 |
4. 功能权限
控制更高层的平台能力。
| 权限 | 说明 |
|---|---|
| API 密钥 | 允许非管理员生成个人访问令牌 |
| 笔记 | 访问笔记 |
| 频道 | 访问频道 |
| 文件夹 | 使用文件夹整理聊天 |
| 网页搜索 | 使用网页搜索 |
| 图像生成 | 使用图像生成 |
| 代码执行器 | 使用 Python Code Interpreter |
| 直连工具服务端 | 在设置中连接自定义 Tool Server |
| 记忆 | 使用长期记忆功能 |
| 自动化 | 创建和管理自动化任务 |
| 日 历 | 使用日历和事件能力 |
其中很多功能开关在组织化部署中还可能按组织解析。如果某个租户有、另一个没有,请先检查管理界面的选中作用域,而不是直接改全局默认值。
5. 设置权限
控制用户能否访问自己的设置区域。
| 权限 | 说明 |
|---|---|
| 界面设置访问 | 访问并修改用户界面设置 |
几个特别重要的权限范围说明
API Keys
要让非管理员生成 API Key,需要同时满足:
- 管理员已在 管理设置 > 通用 中全局开启 API 密钥
- 用户拥有
features.api_keys - 管理员本身不需要这条具体权限,但也同样受全局总开关约束
Automations
对普通用户:
- 需要 功能 > 自动化
- 管理员可不依赖这条具体权限直接访问
Calendar
对普通用户:
- 需要 功能 > 日历
- 管理员可不依赖这条具体权限直接访问
为了方便未来新增权限时统一管理,建议单独创建一个 “Administrators” 组,把所有管理员都加进去。这样后续新功能若要额外授权给管理员,可以统一通过用户组下发。
环境变量
虽然推荐通过 UI 管理权限,但初始默认值仍可通过环境变量设置,通常以前缀 USER_PERMISSIONS_ 命名,例如:
ENABLE_IMAGE_GENERATION=TrueENABLE_WEB_SEARCH=TrueUSER_PERMISSIONS_CHAT_FILE_UPLOAD=True
完整变量列表请查看 Environment Configuration。