外观
多用户知识库怎样避免串数据?
标准回答
每个请求携带经过验证的用户身份,检索按租户、文档权限和可见版本约束候选;回答、引用、缓存和日志也必须保持相同隔离边界。
关键机制
- 数据库或检索层强制执行授权,不依靠模型自行决定能否读取;请求参数里的 userId 不能直接当作可信身份。
- 缓存键包含必要的权限域与版本,撤销授权或删除文档后及时失效;共享向量空间不代表内容可跨用户共享。
- 索引、检索和打开原文三处都要检查权限;模型只能看到本次请求允许使用的证据。
通俗例子
A 用户问过的答案进入公共语义缓存,B 用户问相近问题时命中,就可能泄露 A 的资料。缓存即使没有原文,也可能带出受限信息。
易混淆点
“先把所有内容交给模型,再让它别泄露”已经失去可靠隔离;相似度过滤也不是权限校验。
参考资料
内容来源
- Android 技术札记 · 原条目
rag-access