AI资讯 / 工程

工程 / 工程

Amazon Bedrock AgentCore Identity 支持私钥 JWT 客户端认证

AWS Machine Learning

Amazon Bedrock AgentCore Identity 新增对私钥 JWT 客户端认证的支持,允许 AI 智能体在无需共享 OAuth 2.0 客户端密钥的情况下,向下游身份提供商的令牌端点完成身份验证。其核心机制是:开发者将公钥注册到身份提供商,对应的私钥则始终保存在 AWS KMS 中。认证时,AgentCore Identity 调用 AWS KMS 对 JWT 客户端断言进行签名,再将签名后的断言发送给身份提供商完成验证。该方案支持三种授权流程:机器对机器(M2M)、代表用户(OBO)以及用户委托访问,覆盖从后台任务到交互式用户授权的多种场景。本文详细介绍了创建 KMS 签名密钥、注册公钥、配置凭证提供商以及通过 CloudTrail 审计智能体访问记录的完整操作步骤。

Amazon Bedrock AgentCore Identity 近期正式支持私钥 JWT 客户端认证方式。与传统的共享 OAuth 2.0 客户端密钥相比,该方案让智能体通过签名的 JSON Web Token(JWT)断言向身份提供商完成认证,从根本上消除了密钥泄露的风险。开发者只需将公钥注册到身份提供商,私钥则由 AWS KMS 全程托管,永远不会以明文形式离开 KMS 环境。

在具体请求流程中,以一个需要读取客户订单历史的客服智能体为例:智能体首先调用 AgentCore Identity 的 GetResourceOauth2Token 接口请求访问令牌;AgentCore Identity 从凭证提供商读取客户端 ID、KMS 密钥 ARN 及签名算法,构建一个短期有效的 JWT 断言,并调用 kms:Sign 完成签名;随后将签名断言以 client_credentials 授权类型发送至身份提供商;身份提供商用已注册的公钥验证签名后返回访问令牌,智能体最终凭此令牌访问订单 API。

AgentCore Identity 的私钥 JWT 认证支持三种授权流程。机器对机器(M2M)流程适用于智能体以自身身份访问资源的场景,例如后台数据同步任务,使用 client_credentials 授权类型,令牌主体为应用本身。代表用户(OBO)流程则适用于用户已登录并存在入站令牌的场景,AgentCore Identity 将入站用户令牌交换为下游令牌,同时仍以客户端断言完成自身认证,支持 RFC 8693 令牌交换或 RFC 7523 JWT 授权授予两种方式。

用户委托访问流程适用于尚无预存令牌、需要用户交互授权的场景。用户通过授权码流程(三方 OAuth)完成登录和授权同意后,智能体获得代表该用户的令牌。三种流程覆盖了从完全自动化的后台任务到需要用户明确授权的交互式场景,开发者可根据业务需求灵活选择。

在配置步骤上,开发者需要先在 AWS KMS 控制台创建非对称密钥,密钥用途选择「签名和验证」,密钥规格需与身份提供商要求的签名算法匹配(支持 RS256、PS256 或 ES256)。创建完成后,需在密钥策略中添加授权语句,通过 kms:ViaService 条件限制该密钥只能由 AgentCore Identity 服务调用,从而防止密钥被其他途径滥用。随后将导出的公钥注册到身份提供商,并在 AWS 管理控制台完成凭证提供商的配置。

整个认证过程的操作记录可通过 AWS CloudTrail 进行审计,开发者能够追踪智能体每一次令牌请求的详细事件。这一机制不仅提升了安全性,也满足了企业级合规审计的需求。对于已在使用 Bedrock AgentCore 构建智能体的团队而言,迁移至私钥 JWT 认证方式可显著降低凭证管理复杂度,同时获得更强的密钥保护保障。

要点

  • 私钥 JWT 认证让智能体无需共享客户端密钥即可完成 OAuth 认证,私钥始终由 AWS KMS 托管,不以明文形式暴露。
  • AgentCore Identity 支持 M2M、代表用户(OBO)和用户委托访问三种授权流程,覆盖自动化任务与交互式授权等多种场景。
  • 通过 kms:ViaService 条件策略,可将 KMS 签名密钥的使用范围严格限定为 AgentCore Identity 服务,防止密钥被滥用。
  • 所有令牌请求事件均记录在 AWS CloudTrail 中,满足企业级安全审计与合规要求。
  • 支持 RS256、PS256、ES256 三种签名算法,开发者可根据身份提供商要求灵活选择对应的 KMS 密钥规格。
查看原始来源

原始标题:Authenticate with Private Key JWT using Amazon Bedrock AgentCore Identity

本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。