企业 RAG 权限怎么做:从文档分块到缓存都要隔离

解释企业知识库的检索权限边界:可信身份、文档 ACL、分块继承、缓存隔离、权限撤销与越权测试,避免只靠提示词限制。

RAG 权限沿数据路径传递:确认身份(服务端验证用户、确定当前范围);过滤检索(文档与分块 ACL、无权限内容不返回);生成与引用(只用可访问证据、引用入口再校验);缓存与记录(租户及权限隔离、撤销后验证失效)
原创示意:权限不是只在回答末尾检查一次。为本文原创示意图,不代表产品界面或客户案例。

先说结论

RAG 应在检索时根据服务端确认的用户身份和业务范围过滤文档,分块继承来源权限,生成与引用继续使用同一范围。缓存、日志和下载入口也要隔离;权限撤销后应验证旧索引、旧缓存与历史会话无法继续暴露内容。

读完你会得到

  • 不要接受模型或前端自行传入的用户角色作为授权依据。
  • 父文档权限必须随分块进入检索和引用链路。
  • 缓存命中也要符合当前权限,不能只隔离原始文档。

两名员工问同一个问题,一人能看到客户合同,另一人只能看到公开说明。若知识库只在回答提示词中写“不要透露机密”,检索结果仍可能先进入模型或日志。本文把权限检查沿着实际数据路径展开。

配套资料与延伸阅读

先区分系统连接权限与文档权限

搜索服务的 API 访问权限决定应用能否访问搜索系统;文档权限决定当前用户能看哪些内容。应用有搜索凭证,不代表每位用户都拥有库内全部资料。

Microsoft 的 RAG 文档建议在检索时实施访问控制,使用文档级安全过滤,并将检索内容视为不可信输入。下面的分块、缓存和测试方案为本站实施建议,具体平台能力仍需按当前文档确认。

本节依据: [1] Microsoft Learn

用可信身份形成授权范围

身份来自服务端验证的会话或访问 token。租户、用户、组成员和业务范围通过授权服务确认,不能让模型声称“我是财务负责人”就获得财务资料,也不能直接信任请求中的 tenant_id。

对文档标记所属租户、可访问组或对象范围,以及权限版本。权限模型可以采用企业已有机制,关键是检索请求带入经过确认的范围,并对无效或未知范围采取明确的拒绝处理。

MCP 官方安全文档也强调 token 的目标服务与最小权限,状态标识不能替代身份。连接工具完成鉴权以后,仍要执行文档和业务对象层面的授权。

本节依据: [2] Model Context Protocol

分块后怎样保留父文档的权限

文档到分块需要保留的元数据
字段类别用途遗漏后的问题
document_id 与 chunk_id关联来源和所有派生块撤回文档时无法清理全部内容
tenant 或业务范围隔离组织或部门数据同名资料或编号相互混入
access_groups / ACL检索阶段过滤无权限文本先进入生成上下文
permission_version检查权限更新是否传播缓存和旧块继续沿用旧授权
source_version 与状态区分现行、撤回和旧版本引用过期资料或错误条款

表中字段名是示例,不是通用标准。分块、摘要和向量都是原文的派生资料,应按同等敏感范围管理。把原文移入受限目录,却留下公开摘要,不能算完成权限调整。

缓存与引用入口是容易漏掉的两处

相同问题的答案可能来自不同权限范围。缓存键或缓存读取条件需要包含租户、授权范围和资料版本等必要约束;更稳妥的实现会在命中后再次验证当前用户能否使用缓存中的证据。不同系统具体策略不同。

答案中的引用链接要再次检查权限。用户有权看一段摘要,不一定有权下载整份合同;工具也不能把内部存储地址或长效访问链接直接放到公开回复。

权限撤销后,要按企业允许的传播时限清理或阻止使用旧索引、缓存和派生内容。已经展示给用户的资料无法通过清缓存自动收回,但新请求与历史会话再次加载时应受到当前权限约束。

缓存答案、会话摘要和生成消息保留来源 document_id、source_version 与适用权限范围。重载历史内容或再次送入模型前,按当前身份复核这些依赖;无法判断敏感来源时,隔离对应历史内容,或用当前获授权证据重新生成摘要。不能只过滤新的检索结果,却继续把旧合同摘要送入上下文。

用负向案例检查是否真的隔离

上线前的权限测试矩阵
测试条件预期结果
同一问题,分别使用有权与无权账号无权用户的检索、回答和引用均无敏感内容
同名文档存在于两个租户只使用当前租户证据,不暴露另一租户存在性
先有权访问,再撤销组成员资格新请求与缓存命中按当前权限拒绝内容
父文档撤回,旧分块仍在索引不可继续用于回答,派生数据按流程清理
改写问题或继续历史对话不得通过改写绕过访问过滤
查看诊断记录与导出结果诊断人员也只能访问获授权范围

检查的不只是最终回答。能看到检索候选、调试信息、引用标题或缓存内容的人,都可能接触敏感资料。负向测试应覆盖这些路径,并记录实际权限版本和环境。

以一份合同的权限变更走完整流程

在隔离环境中建立一份仅项目组可读的测试合同,分成几块并生成摘要。项目成员提问能够引用合同,其他成员只能收到不含合同内容的说明。接着移除一位成员,分别测试新对话、旧对话、缓存和文件下载。

如果新检索正确拒绝,但旧会话继续输出合同摘要,检查历史消息是否未经当前权限验证进入上下文。如果引用下载仍可用,检查链接是否绕过了授权服务。定位具体路径后修复,不只给模型增加“保密”提醒。

对大规模资料库,还要抽查授权信息是否完整继承。缺 ACL 的分块应按明确策略隔离或阻止发布,不能默认开放。

应用边界与准备材料

这套方法适合包含内部制度、客户资料或跨部门内容的知识库。纯公开资料库可以简化用户级授权,但仍应管理内容撤回、版本和来源入口。权限设计不等于完成合规判断,实际资料使用遵循企业已有要求。

开始前整理一份角色与资料范围表,选几份不同权限的脱敏资料,确认授权数据由谁维护、多久生效。没有这份基础信息,搜索组件再丰富也难以实现正确隔离。

常见问题

在生成后把敏感词删掉够不够?

不够。无权限内容可能已进入模型、日志或缓存;应在检索及相关访问路径控制,并将输出检查作为补充。

所有员工都用同一个搜索凭证是否一定不安全?

应用凭证可以统一管理,但服务端仍必须按当前用户执行文档授权,并隔离缓存和记录。共享应用凭证不能意味着共享全部文档权限。

资料来源与核对说明

文章中的行业定义与技术方法尽量引用官方或标准组织资料;表格、清单和决策框架是基于这些资料形成的编辑性整理,不代表来源机构对本站服务的背书。

  1. Retrieval augmented generation (RAG) and indexesMicrosoft Learn

    用于检索时访问控制、来源元数据、多轮检索与不可信输入的说明。

  2. Security Best PracticesModel Context Protocol

    核验 URL 对应 2026-07-28 版本。协议鉴权不等同于业务对象授权;本文示例权限矩阵为本站设计。

把文章方法用于你的真实业务

带上流程、样例和目标,添加企业微信沟通。先确定项目范围与验收方式,再安排实施。

查看企业 AI / FDE 服务 →
相机、麦克风和布光台上的雕塑,表现图片、视频与声音的创作
AI 生成 · 内容创作场景示意

把你正在做的事,
拿来一起聊聊。

还没有完整方案也没关系。选一个方向,带着下面几条信息联系团队,我们先了解问题,再确认下一步。

企业 AI / FDE 项目

先从一段具体流程说起。

  • 我们目前怎样完成这项工作?
  • 哪一步最费时间,或经常出错?
  • 已有的资料、系统和期望结果是什么?
Shopify 建站与经营

有店铺的话,可以一并发来链接。

  • 店铺是准备上线,还是已经在运营?
  • 销售什么商品,面向哪些市场?
  • 希望先解决哪个页面或经营问题?
内容创作与工具使用

说明准备制作的内容,或遇到的操作问题。

  • 想做图片、视频、配音,还是图文?
  • 已有素材、参考风格和使用场景是什么?
  • 如果使用时遇到问题,具体停在哪一步?
扫码添加随心创技术客服企业微信

微信扫码,发来你的问题

可以直接按提纲描述,也可以先发一句话。人工服务会在确认范围后单独报价。

手机上可保存二维码后识别。