1. 基于用户的权限继承
Agentic RAG 系统必须确保智能体在检索时严格遵循发起用户的权限范围:
- 用户上下文传递:智能体的运行时环境动态继承发起用户的权限,防止智能体以自身凭据越权访问数据
- 查询级权限过滤:在向量数据库查询时附加元数据过滤条件(如部门、密级、文档所有者),确保只返回用户有权查看的文档
- OAuth 2.0 Token Exchange(RFC 8693):通过标准化的令牌交换机制建立可验证的委托链,确保智能体的有效权限始终受限于发起用户的授权范围
2. 细粒度访问控制模型
传统 RBAC(基于角色的访问控制)在企业文档场景中过于粗粒度,Agentic RAG 系统推荐采用更精细的模型:
- ReBAC(基于关系的访问控制):根据用户与资源的实际关系(如项目成员身份、文档所有者、组织层级)授予访问权限
- ABAC(基于属性的访问控制):根据用户属性、资源属性和环境属性综合评估访问权限
- 文档级/片段级控制:在高风险场景中,对单个文档甚至文档片段实施访问控制
3. 安全架构原则
- 策略决策与策略执行分离:策略决策点(PDP)应位于身份控制平面,向量数据库仅作为策略执行点(PEP)执行已做出的决策
- 失败封闭(Fail Closed):当权限检查服务不可用或返回不确定结果时,默认拒绝访问
- 批量权限检查:对检索到的所有候选文档一次性进行权限验证,减少延迟并避免部分泄露
- 最小权限原则:智能体的服务账户仅拥有执行检索和权限检查所需的最低权限