AI 快讯 编译自 aws_ml_blog #AWS#AI Agent#安全

Amazon Bedrock AgentCore 网关新增 Policy 和 Lambda 拦截器,实现 AI Agent 安全访问控制

AWS 为 Bedrock AgentCore 网关推出 Policy(基于 Cedar 策略语言)和 Lambda 拦截器两种机制,用于 AI Agent 的工具调用安全管控。本文通过湖仓数据 Agent 示例,展示如何实现基于角色的确定性访问控制与动态验证,并组合两者实现地理围栏权限。对构建企业级 Agent 平台的中文开发者具有参考价值。

编译发布 2026/06/01 原文发布 2026/06/01

一句话看懂

AWS 为 Amazon Bedrock AgentCore 网关新增 Policy 和 Lambda 拦截器,让企业用 Cedar 策略和自定义代码双重机制,精准控制 AI Agent 对工具的调用权限。

详细发生了什么

AWS 在 Amazon Bedrock AgentCore 网关中推出了两种互补的安全机制:PolicyLambda 拦截器。Policy 基于 Cedar 声明式策略语言,允许开发者定义“谁(principal)在什么条件下可以对哪个资源(resource)执行什么动作(action)”,结果是确定性的允许或拒绝,并自动记录审计日志。Lambda 拦截器则允许在每次工具调用前后运行自定义代码,支持动态验证、载荷增强、令牌交换和响应过滤。

文章以保险公司的湖仓数据 Agent 为例:该 Agent 允许员工查询理赔数据,数据存储在 Amazon S3 Tables(Apache Iceberg)中,通过 Athena 和 Lake Formation 查询。系统有三种角色:保单持有人(仅查看自己理赔)、理赔员(管理分配案件)、管理员(完全访问)。Agent 暴露 5 个 MCP 工具:query_claims、get_claim_details、get_claims_summary、query_login_audit、text_to_sql。

请求流程:用户通过 Streamlit UI 经 Cognito 认证后,AgentCore 运行时创建隔离会话。当 Agent 调用工具时,网关先经过 Request Interceptor(Lambda)替换令牌并注入上下文,然后 Policy Engine 基于 Cedar 策略评估,最后调用 MCP Server。响应同样经过 Response Interceptor 过滤。

设计示例:仅用 Policy 时,通过一条 permit 规则允许所有工具调用,再加一条 forbid 规则阻止 policyholders 角色调用 get_claims_summary。组合使用时,Lambda 拦截器从 JWT 提取用户地理位置,Policy 根据该属性限制数据访问区域。

中文圈视角

对国内开发者而言,这套机制的核心价值在于将 AI Agent 的工具调用权限从“黑盒”变为可审计、可编程。目前国内主流 Agent 框架(如百度千帆、阿里百炼、字节豆包)在工具级权限控制上仍较粗放,通常依赖应用层代码或简单的 API Key 鉴权,缺少类似 Cedar 的声明式策略引擎。

实际可用性:Bedrock AgentCore 目前需 AWS 账号,国内用户可通过 AWS 中国区域(北京/宁夏)使用,但部分功能(如 Cedar 策略)可能需全球区域。国内替代方案:阿里云百炼的 Agent 支持自定义插件鉴权,但策略语言不如 Cedar 成熟;华为云盘古 Agent 提供角色权限,但无拦截器机制。

对中文用户的场景:如果你在构建企业级 Agent 平台(如内部知识库助手、客服系统),这套机制能解决“Agent 动态调用工具带来的权限失控”问题。例如,让财务 Agent 只能读取本部门报表,或让销售 Agent 无法调用删除客户的工具。Lambda 拦截器还可用于数据脱敏、合规检查(如过滤敏感词)。

盲点:国内多数 Agent 教程只关注“如何让 Agent 调用工具”,很少讨论“如何安全地让 Agent 调用工具”。AWS 的 Policy + Interceptor 模式值得借鉴,尤其是 Cedar 策略的“deny-by-default”和“forbid 优先”设计,能避免权限遗漏。

几条值得记住的细节

  • Policy 使用 Cedar 策略语言,支持 permit 和 forbid 规则,forbid 优先级高于 permit。
  • Lambda 拦截器分为 Request 和 Response 两种,分别在工具调用前后执行。
  • 最佳实践:先在 LOG_ONLY 模式下验证策略,确认无误后再切换为 ENFORCE。
  • 湖仓数据 Agent 通过 Lake Formation 实现行级和列级安全,即使 Agent 构造了宽泛 SQL,结果也会自动限定。
  • 请求拦截器在 Policy 之前执行,可用于注入上下文(如用户地理位置)供策略评估。

一句话总结

用 Cedar 策略 + Lambda 拦截器,给 AI Agent 的工具调用加上“安检门”,让动态决策可控、可审计。