
- AgentCore IdentityがPrivate Key JWTによるクライアント認証に対応
- 署名はAWS KMSの非対称鍵で行い、秘密鍵はKMSから出ない
- M2M・OBO・ユーザー委任の3つの認証フローをサポート
何が発表されたか
Amazon Bedrock AgentCore Identityは、エージェントがダウンストリームのAPIやサービスにアクセスする際の認証を管理する機能です。今回、そのクライアント認証方式としてPrivate Key JWTが追加されました。
従来はOAuth 2.0のクライアントシークレット(共有秘密鍵)を使う方式が一般的でしたが、Private Key JWTでは署名付きJWTをクライアントアサーションとして送信します。これにより、シークレットの共有や漏えいリスクを減らせます。
技術の仕組み
エージェントがトークンを要求すると、AgentCore IdentityはクライアントIDとKMSキーARN、署名アルゴリズムを読み取り、短期間有効なJWTを作成します。このJWTはAWS KMSの非対称署名鍵で署名され、署名済みアサーションがIdPのトークンエンドポイントに送られます。
IdPは事前に登録された公開鍵で署名を検証し、アクセストークンを返します。秘密鍵はKMSから出ないため、鍵の持ち出しリスクがありません。署名アルゴリズムはRS256、PS256、ES256に対応しています。
対応する認証フロー
Private Key JWTは3つの認証フローで利用できます。1つ目はM2M(機械同士)で、エージェント自身の身份でアクセスします。2つ目はOBO(On-Behalf-Of)で、ユーザーが既に持つトークンを交換して、そのユーザーとしてダウンストリームAPIを呼び出します。
3つ目はユーザー委任アクセスで、ユーザーが対話的に同意してからアクセスします。OBOではRFC 8693のトークン交換またはRFC 7523のJWT認可グラント、ユーザー委任では認可コードグラントが使われます。
設定手順と注意点
設定はAWS管理コンソールから行います。まずKMSで非対称署名鍵を作成し、公開鍵をIdPに登録します。次にAgentCoreコンソールでOAuthクライアントを追加し、クライアント認証方式にPrivate Key JWTを選び、Discovery URLとクライアントID、KMSキーARN、署名アルゴリズムを指定します。
IdPが追加のJWTクレームを要求する場合は、ヘッダーまたはペイロードのクレームを設定できますが、予約済みのキー(algやissなど)は設定できません。また、KMSキーのキーポリシーでAgentCore Identityからのアクセスを許可する必要があります。
CloudTrailによる監査
エージェントが認証を行うと、AWS CloudTrailにイベントが記録されます。たとえばGetWorkloadAccessTokenイベントでは、ワークロード名とリソース情報が記録され、アクセストークンはセキュリティ上の理由でマスクされます。
これにより、どのエージェントがいつトークンを取得したかを監査できます。監査ログはセキュリティ運用に役立ちます。
The private key never leaves KMS.
秘密鍵がKMSの外に出ることはありません。
日本の開発者・IT企業にとっての意味
日本企業では、SaaSや社内APIと連携するエージェントを開発する際、OAuthクライアントのシークレット管理が課題になります。Private Key JWTを使えば、シークレットの共有が不要になり、KMSで鍵を一元管理できます。また、CloudTrailによる監査も可能になるため、セキュリティ監査やコンプライアンス要件に対応しやすくなります。一方で、IdP側で公開鍵の登録方法や署名アルゴリズムの対応状況を確認する必要があります。
用語解説
- Private Key JWT
- OAuth 2.0のクライアント認証方式の一つ。共有シークレットの代わりに、秘密鍵で署名したJWTを送って認証する。
- JWT
- JSON Web Token。JSON形式のデータを署名して改ざんを防ぐトークン。
- AWS KMS
- AWSの鍵管理サービス。暗号鍵の作成・管理・署名などをセキュアに実行できる。
- OAuth 2.0
- 認可のための標準プロトコル。アプリがユーザーに代わってリソースへアクセスする際に使われる。
- クライアントアサーション
- クライアントが自分の身份を証明するために発行する署名付きトークン。
- IdP
- Identity Provider。ユーザーやクライアントの身份を検証し、トークンを発行するサービス。
出典
Authenticate with Private Key JWT using Amazon Bedrock AgentCore Identity
企業のAI活用顧問を、いまなら無料で承っています
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて一緒に整理します。導入前の相談だけでも構いません。
無料でAI活用の相談をする