企业知识库与 RAG:让 AI 只看到它该看的内容
AI 知识库怎么防止用户查询到无权限的文件?
企业知识库的权限不能靠在检索结果上加一道过滤解决。正确做法是让分类分级标签和原始访问权限,从原始文件一路继承到页面、切片、向量索引、模型上下文和最终回答,目标是让越权内容在候选阶段就被排除,不进入模型上下文。分类分级回答「这是什么数据、多敏感」,权限回答「这个人能不能看这个对象」,两者必须同时成立。
关键结论
- ● 分类分级不能单独替代权限——L2 级别的文档也可能只属于某个项目组。
- ● 优先在检索阶段就按权限约束候选范围;召回后的过滤可以作为复核,但无论过滤发生在哪一步,都要保证未授权内容不进入模型上下文、外部服务和用户可见结果。
- ● 标签继承链断在任何一环(页面、切片、向量、回答),后面的权限判断都失去依据。
- ● 检索精度由元数据决定,不是靠 embedding 猜——这是多产品、多部门知识库最容易踩的坑。
- ● AI 生成的新内容要继承输入内容的安全级别,否则会成为一条绕过管控的泄露路径。
- ✅ 客户收益
- 把越权防护从「结果展示前」前移到「检索与上下文拼装时」,降低 RAG 知识库越权暴露敏感文档的风险,并留下可供审计的策略决策记录。
- 🔎 服务内容
- 依托模界·知源 AiDClass 输出标准化安全标签;提供落地实施服务,基座可选开源知识库,也可适配客户现有的第三方 RAG 平台。
普通知识库加权限,和权限感知的知识库,差在哪
普通做法是在检索结果上做一次过滤,权限逻辑与数据本身是分离的。这种设计有两个问题:一是越权内容已经进入了召回和排序过程,安全性完全取决于这唯一一道过滤写得对不对、有没有被每条路径都调用;二是权限变更时,向量索引里没有任何东西需要改,看似方便,实则意味着权限从来没有真正进入过检索。
| 层级 | 带什么标签 | 这一层的作用 |
|---|---|---|
| 原始文件 | 类别、级别、来源、所有者、部门、ACL、版本、哈希 | 决定是否允许进入知识库 |
| 页面 / 章节 | 继承文件标签,可增加局部主题和实体 | 保留引用定位与上下文 |
| 切片 Chunk | 默认继承,可按内容重新识别和提级 | 形成最小检索授权单元 |
| 向量 / 索引 | 以元数据关联标签和权限,不把权限逻辑编码进向量 | 召回前完成候选范围过滤 |
| 模型上下文 | 记录被召回的切片及策略决策 | 防止越权内容进入模型 |
| 回答 / 新内容 | 依据输入内容继承或重新计算级别 | 控制展示、复制、下载与外发 |
四道关口都在访问发生之前或当中
事前控制优于事后审计。审计能告诉你发生过什么,不能阻止它发生。
- ● 检索前过滤——按用户身份与数据属性缩小候选范围
- ● 检索后复核——对边界情况做二次判断
- ● 生成前上下文检查——确认进入模型的内容全部合规
- ● 输出安全检查——控制回答的展示、复制、下载与外发
权限模型:ACL 打底,属性和关系叠加
以原始 ACL/RBAC 为基础,用 ABAC 表达数据属性与场景规则(这份数据是什么级别、在什么场景下可用),用 ReBAC 表达用户、组织、项目、客户与文件之间的关系(这个人是不是这个项目的成员)。三者缺一不可:只有 RBAC 表达不了项目边界,只有 ABAC 表达不了「谁和谁是什么关系」。
一个常被忽略的问题:脏数据
知识库项目失败的原因,往往不是检索算法,而是入库的内容本身有问题——导出工具产生的编码残留、被切碎的 base64 图片数据、同一份文档的多个版本、过期参数。这些内容在任何指标上都不会自己浮出来,它表现为「回答质量差且没有规律」。在一个真实项目中,清理前语料虚高到 6961 个切片、词表 47 万,清理后回落到 2884 个真实切片、词表 10 万。
能力边界
我们区分「已验证」与「规划中」,不把规划中的能力写成现有能力。
- 已验证 多来源文档治理、元数据驱动的检索收敛、抗污染回归测试的方法,已在真实项目中端到端跑通并上线。
- 规划中 复杂组织结构、组嵌套、权限变更传播与切片级权限的正确性和性能,需要在真实环境中实测。
常见问题
为什么分类分级不等于权限?
+
分类分级回答「这是什么数据、多敏感」,权限回答「这个人能不能看这个对象」。一份 L2 级别的文档,也可能只属于某个特定项目组;反过来,一份公开级别的文档,也可能因为项目关系而只对部分人可见。必须以原始 ACL 为基础,再叠加属性与关系判断,两者缺一不可。
企业 RAG 上线前需要准备哪些数据?
+
至少四类:一是内容本身,要完成去重、版本识别、来源确认和格式规范化;二是分类分级标签,决定哪些数据允许进入知识库;三是权限数据,包括人员、组织、角色、项目关系、所有者和原始 ACL;四是评估集,用真实业务问题构造,用于验证检索质量和权限正确性。第四类最常被跳过,也最影响能否上线。
能接入我们已有的知识库吗?
+
可以。既可以使用我们的分类分级结果,也可以导入客户已有的分类分级结果或手工标签。检索层与向量库、底层模型保持解耦,可替换。
权限变更之后,索引要重建吗?
+
不需要重建向量,但需要权限传播。设计上权限逻辑不编码进向量,而是以元数据关联——所以权限变更只影响过滤条件,不影响向量本身。真正需要处理的是删除传播:文档被删除或降密后,对应的切片、索引和缓存必须同步失效,这一条在实现上容易遗漏。
延伸阅读
正在规划企业 AI 相关项目?
建议从真实业务场景切入,优先完成项目诊断:评估业务价值、核查数据基础、识别安全与权限风险,审慎评估之后,再决定是否启动 PoC 原型建设,避免无效投入。
预约 30 分钟交流