SheepNav
新上线今天0 投票

使用私钥JWT通过Amazon Bedrock AgentCore Identity进行身份验证

Amazon Bedrock AgentCore Identity 现已支持 Private Key JWT 客户端身份验证,让您的智能体能够以更安全的方式对接下游身份提供商(IdP)的令牌端点。相比于传统的共享 OAuth 2.0 客户端密钥,Private Key JWT 使用签名的 JSON Web Token(JWT)作为客户端断言,私钥存储在 AWS KMS 中,公钥注册到 IdP,从而避免密钥泄露风险。

工作原理

当智能体需要访问受 IdP 保护的 API 时,流程如下:

  1. 智能体调用 GetResourceOauth2Token 请求令牌。
  2. AgentCore Identity 从凭据提供者中读取客户端 ID、KMS 密钥 ARN 和签名算法,构造一个短期有效的 JWT 断言。
  3. 调用 kms:Sign 使用 KMS 非对称签名密钥对断言签名(支持 RS256、PS256 或 ES256),私钥始终不离开 KMS。
  4. 将签名后的断言发送到 IdP 的令牌端点,携带 grant_type=client_credentialsclient_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
  5. IdP 使用注册的公钥验证签名,返回访问令牌。
  6. AgentCore Identity 将令牌返回给智能体,用于后续 API 调用。

配置步骤

  1. 创建 KMS 签名密钥:选择非对称密钥类型(RSA 或 ECC),启用签名功能,指定签名算法。
  2. 注册公钥到 IdP:从 KMS 获取公钥(可通过 AWS CLI 或控制台),在 IdP 中为客户端应用配置公钥。
  3. 配置凭据提供者:在 AWS 管理控制台的 Bedrock 设置中,为智能体创建或编辑凭据提供者,指定客户端 ID、KMS 密钥 ARN 和签名算法。
  4. 审计与监控:所有令牌请求和签名操作都会记录在 AWS CloudTrail 中,便于追踪智能体的访问行为。

适用场景

  • 机器到机器(M2M)通信:智能体需要调用下游受保护 API,且不愿使用静态密钥。
  • 高安全要求:私钥硬件隔离在 KMS 中,符合合规与安全最佳实践。
  • 多 IdP 环境:支持与主流 IdP(如 Auth0、Okta、Azure AD 等)集成。

小结

Private Key JWT 为 Bedrock 智能体提供了一种无密钥、可审计的认证方式,结合 AWS KMS 的硬件安全模块,大幅提升身份验证的安全性。开发者只需在控制台配置凭据提供者,即可将智能体安全接入现有 OAuth 2.0 生态。

延伸阅读

  1. Hugging Face AI入侵事件:一只越来越专注的熊的隐喻
  2. 我放弃了付费流媒体,转投免费阵营——结果出乎意料
  3. ZDNET读者对2026年折叠屏iPhone持怀疑态度:他们更看好这些
查看原文