资源 · 58

红绿灯:验证文档访问权限和隔离

测试检索、引用、缓存和撤销功能,以确保文档助手尊重每个用户的权限。

已更新 · 3 min

本指南有助于实现的目标

  • 定义边界
  • 公开前过滤
  • 分离缓存
  • 执行撤销操作

快速检查

  • 单独的向量命名空间是否足够?
  • 权限是否应该显示在提示中?
  • 如何在测试中避免涉及机密文档?

分步指南

  1. 1

    定义边界

    为每个文档分配所有者、范围和访问规则。 OWASP 描述了由于向量存储权限错位而导致的跨上下文泄露。 我们提出的方法还将数据块和元数据视为受保护对象。

    交付成果:文档、组和范围清单。

  2. 2

    公开前过滤

    在数据块到达模型之前,在检索服务中强制执行授权。 涵盖向量搜索、词法搜索、图搜索和直接下载。 提示指令不能替代服务器端授权。

    交付成果:决策点和缺失身份行为。

  3. 3

    分离缓存

    清单保留的搜索结果、对话、引用和答案。 检查重用是否取决于相关的访问上下文。 仅凭索引字段指定客户并不能证明隔离性。

    交付成果:缓存键和分离场景。

  4. 4

    执行撤销操作

    使用非敏感测试文档,移除访问权限,删除文档并更改组。 重放更改前打开的对话。 衡量何时数据块、链接和保留答案失效。

    交付成果:带时间戳的撤销证据和漏洞。

  5. 5

    保留否定测试。

    分别以授权用户、其他用户组和未知身份提出相同的问题。 检查文件名、摘录、引用和日志。 在索引或连接器更改后重放测试;少数通过的案例仅能证明覆盖范围有限。

    交付成果:测试矩阵和更正负责人。

可重复使用的工作表

填写您已授权的观察结果。 这些字段是工作模板,而非观察结果。

字段待记录信息
文档/数据块所有者和范围
测试身份允许组、其他组、缺失身份
访问路径检索、引用、文件或缓存
结果预期、观察、日期和更正

虚构示例

示例情境

虚构示例:一名员工更换了团队,但之前的对话仍然引用了一份已撤回的文档。

决策及预期证据

测试在检索和对话缓存后进行,然后在更正后确认拒绝和引用缺失。

区分机制

机制目的验证或限制
检索过滤器限制检索的数据块同时覆盖词法路由和直接链接
拒绝提示指导响应行为不将授权委托给它
答案缓存重用结果重用前检查权限上下文

管理指标

指标衡量内容首要行动
观察到的泄漏测试数据暴露在范围外阻止受影响的使用并检查原因
撤销延迟所有测试路由都被拒绝的时间名称缓存仍然可访问
路由覆盖率已执行的连接器和检索模式识别未测试的路径

常见错误

  • 同时覆盖词法路由和直接链接
  • 不将授权委托给它
  • 重用前检查权限上下文

常见问题解答

单独的向量命名空间是否足够?

它有助于数据分区,但缓存、文件链接和工具必须遵守相同的边界。

权限是否应该显示在提示中?

有用的上下文可能会到达模型;公开数据的服务必须强制执行访问决策。

如何在测试中避免涉及机密文档?

为每个小组创建带有不同标记的虚构哨兵文档,然后检查答案和引用。

官方参考文献

参考文献支持该方法。 请根据您的实际情况调整检查;它们并非认证。 原始参考文献标题和源文档可能使用其他语言。

参考资料查阅日期 .