分了目录,不代表每一步都知道归属
假设服务商为不同客户分别建立知识库,检索时也能选择对应库。但文件上传共用一个入口,后台任务只保存文件编号,结果下载又按编号直接返回。知识库这一层看起来分开,其他路径却可能没有检查归属。本文用假设场景说明问题,不报告任何真实系统漏洞。
多租户隔离不是界面上出现几个独立名称,而是每次访问资源时都能确认当前身份是否有权处理它。AI流程涉及上传、解析、检索、生成、保存和导出,任何一段遗漏上下文,都可能破坏原本设计的边界。验收应沿着数据走,而不是只检查知识库数量。
租户身份不能只相信请求里写了什么
系统需要从经过验证的身份与会话中确定适用租户,再核对请求目标。用户提交的参数可以表达选择,却不能单独证明访问权限。即使界面只显示一个租户,后台也应检查实际资源归属,不能假设所有请求都按正常页面路径产生。
对于能够切换组织的用户,要明确当前操作上下文,避免界面切换了组织,后台仍沿用上一次状态。服务端应以适当的授权规则作判断,而不是让模型根据自然语言识别用户属于哪家公司。身份与权限是执行边界,不应该由生成结果决定。
资源标识也不等于权限。知道一个文件、任务或结果的编号,不代表有权读取。设计时应把对象归属与访问校验联系起来,避免某个入口做了检查,另一个导出接口却直接返回内容。不同存储方式可以采用不同机制,但业务边界必须一致。
异步任务也要携带可验证的上下文
任务从前台进入队列以后,原来的用户请求已经结束,后台仍需要知道它代表谁、处理哪个租户的哪些资源。上下文应明确保存并在执行时核对,不能只靠工作进程当前加载的默认配置。多个租户共用工作进程时,更要避免残留状态影响下一项任务。
任务执行可能晚于提交,权限和资源归属也可能发生变化。应按业务规则决定哪些条件需要重新检查,不能认为提交时通过一次就永久有效。若无法确认当前授权,进入可解释的拒绝或待处理状态,而不是为了完成队列自动扩大访问范围。
重试、人工补做和失败隔离入口同样需要租户上下文。维护人员从后台点一次重新执行,不应绕过正常边界。操作记录可以保留必要标识和授权结果,不需要复制原始资料;这样既能追踪任务,也能减少排查过程中不必要的数据扩散。
结果与附件,比检索入口更容易被忽略
检索只读到本租户资料,但结果保存后如果放在一个没有归属校验的公共路径,隔离仍然失败。下载链接、预览接口、批量导出与分享功能应分别检查。不要因为生成阶段有权限控制,就默认生成物已经继承正确访问范围,实际存储和访问机制需要验证。
同样,临时文件、解析缓存和后台搜索也可能形成旁路。本文不重复讨论答案缓存的具体撤权策略,而是强调完整路径的责任:每类资源在哪里创建、按什么归属保存、由谁访问、何时清理。清单越清楚,团队越容易发现某个便利功能没有接入统一校验。
管理员能力需要明确范围与使用记录。支持人员可能确有跨租户排查职责,但不应让普通操作默认使用这一能力。正常业务路径与受控维护路径要能区分,避免为了方便调试让所有任务都以高权限运行,再靠提示词要求模型“不要看其他客户数据”。
用两组虚构资料验证边界
可以在授权测试环境建立两个测试租户,分别放入带明显标记的虚构资料。让每个租户完成上传、检索、生成、下载和导出,检查结果只包含允许范围。样例不需要真实客户数据,清楚的标记反而更容易发现串用,且不会让测试本身产生隐私风险。
还应测试资源编号不属于当前租户、用户切换组织、权限撤回后执行队列、后台重试和批量导出等边界。测试只针对自有或获准环境,不向其他组织系统发起探测。目标是验证自己的授权规则一致,而不是寻找外部系统的缺陷。
自动检查可以覆盖明确的允许与拒绝关系,人工走查负责发现界面误导和维护入口遗漏。拒绝结果应解释到合适程度,不泄露其他租户对象是否存在或内部细节。具体错误表现需要结合产品设计,但不能为了提示友好而暴露不该看到的信息。
交付时给出覆盖清单,而不是一句“支持多租户”
验收材料应列出已检查的路径、身份来源、资源归属方式和未覆盖范围。若某个管理功能暂时不支持隔离,不能藏在总功能描述里;应限制其适用场景并安排后续处理。部署规模变化或增加新存储组件时,也要重新检查原来的边界是否仍然成立。
业务负责人可以拿着清单问:某家客户上传的文件,会经过哪些地方,谁能看到,结果如何返回,支持人员如何介入。技术团队应能用实际流程回答,而不是只展示数据库有一个租户字段。字段存在是实现线索,不是完整隔离的证据。
发现测试失败时,先阻止受影响路径继续使用,定位数据经过的环节,再修复并回归相关边界。不要只过滤最终答案中的客户名称,因为不该读取的数据可能已经进入处理过程。隔离控制应尽量在访问发生前生效,不能靠生成后的文字修饰补救。
给每家客户建立独立知识库可以是方案的一部分,但真正的交付要求是归属贯穿全流程。把身份、任务、资源与结果连接起来,再用受控样例逐段验证,企业才能知道“客户之间互不影响”究竟在哪些路径上得到了证据支持。
要点总结
- 没有,还需检查上传、队列、结果、附件、导出与维护入口等路径。
- 不能,应由可信身份和明确授权规则控制资源访问。
- 不需要,应优先使用带清楚标记的虚构资料,在获准测试环境验证。
参考来源说明
本文提出可供业务团队评估的方法,示例不代表真实客户项目。官方资料仅用于核对对应技术机制,站内服务页用于了解业务范围,不作为效果证明。
