Appearance
AI权限管理
1. 背景与目标
AI智能对话会逐步具备对话、文件读取、外网访问、数据读写、应用设计、应用发布和团队管理等能力。为了让 AI 能够在企业场景中安全工作,需要建立一套清晰、可解释、可审计的权限体系。
本设计将 AI 权限分为两层:
- 团队角色层:由团队管理员配置,决定某类团队角色最多可以授予 AI 哪些能力。
- 个人会话层:由用户在每次会话中选择,决定本次会话内 AI 实际可以使用哪些能力。
两层权限共同生效。个人会话层不能突破团队角色层的授权范围,只能在团队角色已经授权的能力内进一步收敛。
2. 设计原则
2.1 默认最小权限
AI 默认只具备完成基础对话所需的最小能力。涉及写数据、改设计、发布应用、管理成员和团队配置等高风险动作时,必须显式授权。
2.2 角色授权是上限
团队角色层定义权限上限。用户即使在会话中选择更高模式,如果当前角色没有对应权限,AI 也不能执行超出角色授权范围的操作。
2.3 会话模式是本次授权
个人会话层定义本次会话的实际权限范围。用户可以在当前角色权限范围内选择只读模式、数据模式、设计模式或管理模式,以适配不同工作场景。
2.4 高风险动作二次确认
新增数据、修改数据、删除数据、修改设计、创建应用、删除应用、发布应用、应用成员管理、团队管理等动作属于高风险能力。即使角色层和会话层均已授权,执行前仍应进行二次确认。
2.5 全链路可审计
AI 权限配置、会话模式选择、工具调用、数据变更、设计变更和管理动作都需要记录日志,便于追踪责任、排查问题和复盘风险。
3. 权限分层模型
3.1 团队角色层
团队角色层用于控制不同团队角色拥有的 AI 权限。它面向管理员,用于配置“某个角色最多允许 AI 做什么”。
典型角色可以使用权限模板快速配置,例如:
| 权限模板 | 适用场景 | 典型能力 |
|---|---|---|
| 只读助手 | 适合普通成员、访客、只需要查询和问答的用户 | 对话、上传文件、访问外网、读取数据、读取设计 |
| 数据助手 | 适合业务运营、数据维护人员 | 只读助手能力,加上新增数据、修改数据、删除数据 |
| 设计助手 | 适合应用搭建者、实施人员、开发配置人员 | 只读助手能力,加上修改设计、创建应用、删除应用 |
| 管理助手 | 适合应用管理员、团队管理员 | 只读助手能力,加上发布应用、应用成员管理、团队管理 |
| 自定义 | 适合精细化权限控制 | 管理员按能力项逐项配置 |
权限模板只是配置入口,最终保存的仍然是具体能力项。管理员选择模板后,可以继续微调。
3.2 个人会话层
个人会话层用于控制本次会话内 AI 实际可使用的能力。它面向终端用户,用于在会话开始或会话过程中选择当前工作模式。
会话权限模式包括四种:
| 会话模式 | 说明 | 适用场景 |
|---|---|---|
| 只读模式 | 可进行对话、上传文件、访问外网,并在角色授权范围内读取数据和设计 | 问答、分析、排查、只看不改 |
| 数据模式 | 在只读模式基础上,允许对应用内业务数据进行读写 | 数据录入、数据修正、批量维护 |
| 设计模式 | 在只读模式基础上,允许修改应用配置、脚本、API、表结构等设计内容 | 应用搭建、页面调整、流程和接口配置 |
| 管理模式 | 在只读模式基础上,允许发布应用、管理应用成员和团队配置 | 应用上线、成员授权、团队级配置 |
会话模式不会授予角色未拥有的权限。例如某用户的团队角色没有“删除数据”权限,即使选择数据模式,AI 也不能删除数据。
4. 权限能力项
AI 权限能力项分为基础权限、数据权限、设计权限和管理权限四组。
4.1 基础权限
| 权限项 | 说明 | 风险等级 |
|---|---|---|
| 对话 | 允许发起和继续 AI 会话 | 低 |
| 上传文件 | 允许在会话中上传附件供 AI 读取 | 中 |
| 访问外网 | 允许 AI 访问外部网址或远程 MCP | 中 |
基础权限用于支撑 AI 的通用交互能力。访问外网可能带来数据泄露或外部内容污染风险,应支持单独关闭。
4.2 数据权限
| 权限项 | 说明 | 风险等级 |
|---|---|---|
| 读取数据 | 允许 AI 查询表结构、业务记录和统计数据 | 中 |
| 新增数据 | 允许 AI 新增业务数据 | 高 |
| 修改数据 | 允许 AI 修改已有业务数据 | 高 |
| 删除数据 | 允许 AI 删除业务数据 | 高 |
数据权限只控制 AI 能否发起对应动作。实际数据范围仍应继续受应用权限、表权限、字段权限、数据范围权限等既有权限体系约束。
4.3 设计权限
| 权限项 | 说明 | 风险等级 |
|---|---|---|
| 读取设计 | 允许 AI 查看页面、表、脚本、API 等应用定义 | 中 |
| 修改设计 | 允许 AI 修改页面、脚本、API、表结构等应用定义 | 高 |
| 创建应用 | 允许 AI 创建新的应用 | 高 |
| 删除应用 | 允许 AI 删除应用 | 高 |
设计权限影响应用结构和运行逻辑。修改设计、创建应用、删除应用执行前需要明确展示变更摘要,并要求用户确认。
4.4 管理权限
| 权限项 | 说明 | 风险等级 |
|---|---|---|
| 发布应用 | 允许 AI 将应用发布到正式环境 | 高 |
| 应用成员管理 | 允许 AI 调整应用成员和角色 | 高 |
| 团队管理 | 允许 AI 处理团队级管理配置 | 高 |
管理权限属于最高风险能力,建议默认关闭,仅授予可信管理员角色,并强制开启二次确认和审计日志。
5. 权限计算规则
AI 最终可执行权限由团队角色权限、个人会话模式和系统既有权限共同决定。
text
AI 最终可执行权限 = 团队角色 AI 权限 ∩ 个人会话模式权限 ∩ 用户既有业务权限 ∩ 系统安全策略1
其中:
- 团队角色 AI 权限决定 AI 能力上限。
- 个人会话模式权限决定本次会话启用哪些 AI 能力。
- 用户既有业务权限决定用户本人是否有权访问对应应用、表、记录、字段或管理功能。
- 系统安全策略用于拦截高风险动作、越权访问、异常批量操作和未确认动作。
5.1 多角色用户
当成员拥有多个团队角色时,团队角色层权限建议按并集计算,即成员获得多个角色中已授权的最大 AI 权限范围。
text
团队角色 AI 权限 = 角色 A 权限 ∪ 角色 B 权限 ∪ ... ∪ 角色 N 权限1
Token 消耗额度可以按最大额度计算,避免成员拥有多个角色时被低额度角色误伤。
5.2 会话模式降级
如果用户选择的会话模式包含当前角色未授权能力,系统不应报错阻断会话,而应自动降级为可用能力范围,并在界面上提示:
text
当前角色未授予部分能力,本次会话将仅启用已授权权限。1
例如:
- 用户选择“数据模式”。
- 当前角色只有“读取数据”,没有“新增数据、修改数据、删除数据”。
- AI 本次会话可以读取数据,但不能写入、修改或删除数据。
5.3 高风险能力确认
以下能力在执行前需要二次确认:
- 新增数据。
- 修改数据。
- 删除数据。
- 修改设计。
- 创建应用。
- 删除应用。
- 发布应用。
- 应用成员管理。
- 团队管理。
二次确认内容应包含:
- 即将执行的动作。
- 影响对象,例如应用、表、记录、成员或团队配置。
- 变更摘要。
- 风险提示。
- 确认按钮和取消按钮。
对于批量数据变更、删除应用、发布正式环境、团队管理等更高风险动作,可以要求输入确认文本或管理员再次授权。
6. 会话模式与能力映射
| 能力项 | 只读模式 | 数据模式 | 设计模式 | 管理模式 |
|---|---|---|---|---|
| 对话 | 支持 | 支持 | 支持 | 支持 |
| 上传文件 | 支持 | 支持 | 支持 | 支持 |
| 访问外网 | 支持 | 支持 | 支持 | 支持 |
| 读取数据 | 支持 | 支持 | 支持 | 支持 |
| 新增数据 | 不支持 | 支持 | 不支持 | 不支持 |
| 修改数据 | 不支持 | 支持 | 不支持 | 不支持 |
| 删除数据 | 不支持 | 支持 | 不支持 | 不支持 |
| 读取设计 | 支持 | 支持 | 支持 | 支持 |
| 修改设计 | 不支持 | 不支持 | 支持 | 不支持 |
| 创建应用 | 不支持 | 不支持 | 支持 | 不支持 |
| 删除应用 | 不支持 | 不支持 | 支持 | 不支持 |
| 发布应用 | 不支持 | 不支持 | 不支持 | 支持 |
| 应用成员管理 | 不支持 | 不支持 | 不支持 | 支持 |
| 团队管理 | 不支持 | 不支持 | 不支持 | 支持 |
说明:
- 表中的“支持”表示会话模式允许该能力,但仍需团队角色层和用户既有业务权限同时允许。
- 只读模式可以读取数据和设计,但不能做任何变更。
- 数据模式聚焦业务数据读写,不默认授予设计变更能力。
- 设计模式聚焦应用结构变更,不默认授予业务数据写入能力。
- 管理模式聚焦发布、成员和团队管理能力,不默认授予数据写入或设计变更能力。
7. 页面与交互建议
7.1 团队角色权限配置
团队角色编辑页增加“AI 权限”配置区,包含:
- 权限模板:只读助手、数据助手、设计助手、管理助手、自定义。
- Token 消耗额度:每日 Token 消耗额度、每月 Token 消耗额度。
- 能力明细:按基础、数据、设计、管理四组展示权限项。
- 风险提示:当开启高风险能力时,提示保存前需要确认。
保存时建议校验:
- 至少保留“对话”能力,否则角色无法使用 AI 会话。
- 启用写入类能力时,必须展示风险提示。
- 管理权限默认不随普通模板开启,除非用户选择管理助手或自定义勾选。
7.2 个人会话模式选择
AI 会话输入区提供会话权限模式选择入口,用户可在会话中选择:
- 只读模式。
- 数据模式。
- 设计模式。
- 管理模式。
选择模式时,界面应提示:
text
权限模式用于限定本会话内 AI 可使用的能力,不会超过当前角色已授予的 AI 权限。1
当用户切换到数据模式、设计模式或管理模式时,应明确展示该模式可能执行的高风险动作。
7.3 权限不足提示
当 AI 尝试执行未授权动作时,应返回可理解的提示,而不是暴露底层异常。
示例:
text
当前会话未开启数据写入能力,无法新增记录。你可以切换到数据模式,或联系管理员为当前角色开启相关权限。1
text
当前角色未授予发布应用权限,即使切换到管理模式也无法发布应用。请联系团队管理员调整角色 AI 权限。1
8. 审计与安全
8.1 审计日志
以下事件需要记录审计日志:
- 团队角色 AI 权限变更。
- Token 额度变更。
- 用户选择或切换会话模式。
- AI 发起工具调用。
- AI 读取数据或设计。
- AI 执行新增、修改、删除、发布、成员管理、团队管理等高风险动作。
- 高风险动作确认或取消。
- 权限不足拦截。
日志建议包含:
- 操作人。
- 会话 ID。
- 应用 ID。
- 权限模式。
- 权限项。
- 工具或动作名称。
- 影响对象。
- 请求摘要。
- 执行结果。
- 时间。
8.2 外网访问控制
访问外网能力应单独控制。后续可以扩展:
- 域名白名单。
- 域名黑名单。
- 仅允许访问团队配置的 MCP 服务。
- 禁止携带敏感字段访问外部地址。
- 对外部内容进行安全标记,避免外部内容注入系统指令。
8.3 数据和设计变更防护
高风险变更建议遵循以下规则:
- 执行前生成变更摘要。
- 用户确认后再执行。
- 执行后记录变更结果。
- 批量变更支持预览影响范围。
- 删除类操作优先走软删除或回收站机制。
- 发布正式环境前展示发布范围和版本信息。
9. 后端实现建议
9.1 权限判断入口
AI 工具调用、应用数据操作、设计操作和管理操作都应经过统一权限校验。校验顺序建议为:
- 校验用户登录态和团队身份。
- 读取用户团队角色 AI 权限。
- 读取当前会话权限模式。
- 叠加用户既有业务权限。
- 判断目标能力项是否允许。
- 判断是否需要二次确认。
- 记录审计日志。
9.2 能力项枚举
建议将权限能力项定义为稳定枚举,避免前后端使用中文文案作为逻辑判断依据。
| 枚举值 | 中文名 |
|---|---|
CHAT | 对话 |
FILE_UPLOAD | 上传文件 |
EXTERNAL_NETWORK | 访问外网 |
DATA_READ | 读取数据 |
DATA_CREATE | 新增数据 |
DATA_UPDATE | 修改数据 |
DATA_DELETE | 删除数据 |
APP_DESIGN_READ | 读取设计 |
APP_DESIGN_WRITE | 修改设计 |
APP_CREATE | 创建应用 |
APP_DELETE | 删除应用 |
APP_PUBLISH | 发布应用 |
APP_MEMBER_MANAGE | 应用成员管理 |
COMPANY_ADMIN | 团队管理 |
当前后端枚举定义在 informat-comm/src/main/java/informat/comm/domain/model/AiPermissionAction.java。前端展示文案可以继续使用中文名称,但请求和日志中建议保留后端枚举值,避免文案变更影响权限判断。
9.3 会话模式枚举
| 枚举值 | 中文名 |
|---|---|
readonly | 只读模式 |
data | 数据模式 |
design | 设计模式 |
admin | 管理模式 |
9.4 工具权限映射
系统工具应按实际能力声明 AI 权限。权限校验时,系统根据工具声明的权限项判断当前角色和当前会话模式是否允许调用。
一个工具可以绑定一个或多个权限。只要工具声明了多个权限,用户必须同时满足这些权限后才允许调用;如果工具没有声明权限,应视为配置缺失并在测试或启动检查中暴露。
| 权限动作 | 权限名称 | 覆盖的工具能力 | 说明 |
|---|---|---|---|
CHAT | 对话 | 当前应用切换、AI 问答、应用文档查看、主题文档查看、脚本文档查看、表达式文档查看、仪表盘文档查看、网站文档查看、API 文档查看、定时任务文档查看、自动化文档查看、任务文档查看、AI智能对话文档查看、当前时间获取、脚本计算、HTML 预览、会话创建、会话列表、会话删除、会话消息列表、会话消息删除、筛选条件生成 | 会话、文档读取、线程管理、前端辅助渲染等不直接修改业务数据或应用结构的基础工具。 |
DATA_READ | 读取数据 | 表记录查询、表记录数量查询、工作台流程实例查询、工作台任务查询、流程定义查询、表信息查询、登录信息查询、团队应用列表查询、当前用户查询、应用定义查询、应用用户查询、应用访问地址查询、Markdown 文档列表查询、Markdown 文档读取、表定义查询、全部表列表查询、全文索引列表查询、全文索引检索、知识库检索、Office 文件读取、任务列表查询、BPMN 流程实例查询、BPMN 任务查询 | 读取业务数据、流程任务、知识库、表定义、应用用户和文档内容。 |
DATA_CREATE | 新增数据 | 表记录批量新增、工作台流程发起、BPMN 流程发起、用户日程创建、任务创建 | 新增表记录、发起流程、创建日程或任务。 |
DATA_UPDATE | 修改数据 | 表记录批量修改、工作台任务完成、BPMN 任务完成、任务完成 | 修改表记录、完成工作台或 BPMN 任务、结束任务。 |
DATA_DELETE | 删除数据 | 表记录批量删除 | 删除表记录。 |
APP_DESIGN_READ | 读取设计 | 应用设计器定义读取、应用定义对象读取、应用定义类型查询、应用定义列表查询、草稿定义列表查询、草稿定义数量查询、应用设置检查、应用角色查询、应用权限列表查询、设计器表列表查询、设计器表定义查询、设计器字段查询、表工具栏按钮查询、表单工具栏按钮查询、子表工具栏按钮查询、脚本列表查询、脚本内容查询、仪表盘列表查询、仪表盘卡片查询、BPMN 流程定义查询、网站列表查询、网站定义查询、网站资源查询、网站预览、代码模块列表查询、代码文件列表查询、代码文件读取、代码预览、API 定义查询、定时任务定义查询、国际化定义查询、自动化定义查询、问卷定义查询、应用监听器列表查询 | 读取应用设计、草稿、权限、表结构、脚本、仪表盘、BPMN、网站、代码、API、定时任务、国际化、自动化、问卷和监听器定义。 |
APP_DESIGN_WRITE | 修改设计 | 应用定义保存、草稿定义删除、表模块创建、表模块编辑、表字段编辑、脚本保存、自动化定义保存、应用基础信息修改、应用主题设置、模块分组创建、模块排序调整、应用角色创建、应用角色修改、应用权限创建、应用权限修改、应用权限删除、字段分组创建、筛选条件保存、数据源视图保存、表工具栏按钮创建修改删除、表单工具栏按钮创建修改删除、子表工具栏按钮创建修改删除、脚本目录创建、设计器脚本执行、脚本 Git 配置保存、脚本代码拉取、脚本代码推送、仪表盘卡片删除、仪表盘模块创建、仪表盘卡片保存、BPMN 模块创建、BPMN 流程创建、BPMN 节点创建修改删除、BPMN 连线创建修改删除、BPMN 启动设置修改、网站模块创建、网站目录创建、网站资源保存删除、代码模块创建、代码文件写入、代码脚本创建、代码 API 创建、代码编译、API 定义创建修改删除、API 目录创建、定时任务创建修改删除、定时任务立即执行、国际化内容保存、应用名称国际化、模块名称国际化、字段名称国际化、字段选项国际化、自动化分组创建修改删除、自动化立即执行、问卷模块创建、问卷题目创建修改删除、AI智能对话创建修改删除、应用监听器创建修改删除 | 修改应用设计、页面主题、角色权限、表配置、脚本、仪表盘、BPMN、网站、代码、API、定时任务、国际化、自动化、问卷、AI智能对话和监听器。 |
APP_CREATE | 创建应用 | 团队应用创建 | 创建应用。 |
APP_DELETE | 删除应用 | 暂无已注册工具能力 | 权限项已预留;若后续增加删除应用工具,必须显式声明为删除应用权限。 |
APP_MEMBER_MANAGE | 应用成员管理 | 应用成员创建、应用成员修改、应用成员删除 | 创建、更新、删除应用成员。 |
APP_PUBLISH | 发布应用 | 应用发布 | 发布应用。 |
COMPANY_ADMIN | 团队管理 | 团队成员列表、团队成员创建、团队成员修改、团队成员删除、团队角色列表、团队角色创建、团队角色修改、团队角色删除、部门列表、部门创建、部门修改、部门删除、应用分组列表、应用分组创建、应用分组修改、应用分组删除、专家配置保存、团队角色权限列表、团队成员数量查询、团队成员详情查询、AI 模型列表查询、系统邮件发送、系统通知发送 | 管理团队成员、角色、部门、应用分组、专家配置、AI 模型列表,以及发送系统邮件和通知。 |
FILE_UPLOAD | 上传文件 | 工作台文件上传 | 上传会话或工作台附件。 |
EXTERNAL_NETWORK | 访问外网 | 外部网页内容读取 | 读取外部网页内容。 |
维护规则:
- 新增系统工具时,必须声明对应的权限动作。
- 修改工具行为时,如果风险等级变化,需要同步调整权限声明。
- 删除类、发布类、成员管理类和团队管理类工具必须归入高风险能力,并触发二次确认。
APP_DELETE当前是预留权限项,文档和前端可以展示,但后端只有在工具注册后才会实际生效。
10. 典型场景
10.1 普通成员使用只读模式查询数据
- 管理员为“普通成员”角色授予只读助手权限。
- 用户进入 AI 会话,选择只读模式。
- 用户询问“本月销售额是多少”。
- AI 在用户数据权限范围内读取数据并回答。
- 如果用户要求“帮我修改销售额”,系统提示当前会话不允许修改数据。
10.2 运营人员使用数据模式维护数据
- 管理员为“运营人员”角色授予数据助手权限。
- 用户进入 AI 会话,选择数据模式。
- 用户要求“把这 20 条客户记录的跟进状态改为已联系”。
- AI 生成变更摘要并请求确认。
- 用户确认后,AI 执行修改并记录审计日志。
10.3 实施人员使用设计模式调整应用
- 管理员为“实施人员”角色授予设计助手权限。
- 用户进入 AI 会话,选择设计模式。
- 用户要求“给客户表新增一个客户等级字段,并调整列表页展示”。
- AI 生成设计变更摘要。
- 用户确认后,AI 修改表结构和页面配置。
10.4 管理员使用管理模式发布应用
- 管理员角色被授予管理助手权限。
- 用户进入 AI 会话,选择管理模式。
- 用户要求“发布 CRM 应用到正式环境”。
- AI 展示发布范围、版本和风险提示。
- 用户确认后,AI 执行发布并记录审计日志。

