Agent 安全策略
Agent 安全策略
艾维斯Agent 面向企业环境设计:用户可能要求 Agent 搜索私有知识、处理敏感上下文,并调用获准工具。安全策略的核心是:让 Agent 具备执行能力,但不能绕过产品授权、租户边界、凭据管理或审计策略。
上图展示了 Agent 执行的关键安全边界:用户请求先进入可信 AIvis API 边界,经过身份、工作区、Agent 配置和 request ID 绑定后,只把最小必要上下文传递给运行时。知识检索、工具调用和模型调用分别经过权限控制;用量与审计遥测只记录事实,不复制完整 prompt、模型回复、推理轨迹、原始工具参数或密钥。
安全目标
Agent 授权模型
Agent 不是管理员、数据库客户端,也不是连接器凭据所有者。它只是由用户请求、Agent 配置、检索上下文和允许工具生成的执行计划。
艾维斯应在资源归属服务中执行授权:
- 知识检索受工作区、连接器、文档可见性、文档集、群组和源系统映射限制。
- 工具调用会按当前用户、工作区、Agent 配置、部署策略和工具 allowlist 检查。
- 模型访问由管理员维护的 Provider 配置和模型可用性控制。
- 会改变状态的 Action 在执行前由服务端授权。
- 用户 prompt 和 Agent 指令不能授予新工具、扩大文档范围、冒充其他用户或覆盖租户边界。
机密信息边界
可信身份链路
Agent 执行应依赖可信 AIvis 服务提供的身份,而不是浏览器可控 header 或用户提交参数。安全部署应:
- 在 API 边界确认已认证用户和工作区。
- 将 Agent run 绑定到服务端 request ID、conversation ID、Agent ID 和 workspace ID。
- 只向 runtime 服务传递必要执行上下文。
- 移除或忽略用户伪造的身份 header。
- 通过部署控制的服务注册或网络元数据校验 runtime 来源身份。
- 当身份映射缺失、过期、已删除、重复或存在其他歧义时,拒绝 run 或工具调用。
这样可以防止 Agent 任务继承上一个用户上下文、冒充其他工作区,或被归因到宽泛共享服务身份。
工具与 Action 控制
Agent 只能调用被明确启用的工具。在工具对 Agent 可用前,请审查:
高影响工具应先通过小范围 allowlist 上线,同时测试允许路径和拒绝路径,并在生产使用后复盘。
不采集内容的遥测
企业管理员通常需要查看用量和成本,但这不应要求把敏感 prompt 或回复复制到分析表中。艾维斯遥测应优先存储轻量事实:
- Request 或 span 标识符。
- 时间戳和执行路径。
- 用户、工作区、Agent 和 persona 标识符或快照。
- 模型和 Provider 标识符。
- token 数、耗时、状态和成本快照。
- 审计需要时的工具名称和结果,但不记录原始密钥值或完整客户 payload。
应避免存储:
- 完整 prompt。
- 完整模型回复。
- 推理轨迹。
- 原始工具参数。
- 连接器凭据值。
- access token 或 API key。
如果用户被删除,历史聚合用量可保留用于运营核算,但面向用户的报表不应显示已从身份系统移除的个人数据。
Fail-closed 示例
企业上线清单
- 为每个生产 Agent 指定负责人。
- 记录每个 Agent 允许使用的知识、模型、工具和副作用。
- 确认 prompt 不能新增工具或覆盖文档权限。
- 至少测试一个用户范围外文档的拒绝检索路径。
- 至少测试一个无权限用户的工具拒绝路径。
- 验证 Agent 遥测不包含完整 prompt、回复、推理轨迹和原始工具参数。
- 验证日志可按 request ID 检索,且不暴露密钥。
- 大范围启用高影响工具前完成审查。
- 按组织数据策略确认保留周期、备份和删除行为。