问题
多 Agent 业务平台里,知识库分属不同属主,但平台侧的身份(登录用户、Agent 调用方)需要读取其中的条目。最直接的实现是把库的访问凭据下发给每个调用方——这能跑通,但边界就丢了:任何拿到凭据的调用方都等价拥有库的全部权限,越多调用方持有凭据,访问边界越难控制。
取舍
- 为指定平台身份授予知识库资源的只读访问权限,但不授予凭据资源权限:检索由服务端按真实库属主解析后返回,调用方不直接持有库属主凭据。
- 排除项显式声明:合成施工记录库明确排除在共享范围外,排除写在边界设计里而不是靠"不调用"的默契。
- 权限收口在服务端一处:调用方看到的是平台身份的只读接口,属主凭据不离开服务端,吊销与审计都集中在一个边界上。
- 写操作另行约束:读共享之外,幂等键与高危操作审批作为独立设计对齐,不与读共享混为一谈(仍处于设计对齐阶段,见 智慧工地案例)。
边界
这套做法的动机是收缩凭据的分发范围、集中审计面,而不是性能优化。不同平台的属主模型不同,但"访问权限与凭据分开授予"这一层判断可以复用。