Amazon Bedrock AgentCore IdentityにおけるプライベートキーJWT認証:セキュアなAIエージェント連携の深化


ADVERTISEMENT

プライベートキーJWT認証のメカニズムとセキュリティ強化

Amazon Bedrock AgentCore Identityは、AIエージェントがダウンストリームのIDプロバイダー(IdP)と連携する際の認証方式として、プライベートキーJWT(JSON Web Token)クライアント認証を新たにサポートしました。従来のOAuth 2.0クライアントシークレットを使用する方式と比較し、Private Key JWT認証は共有シークレットの漏洩リスクを根本的に排除し、セキュリティレベルを大幅に向上させます。

このメカニズムの核心は、プライベートキーがAWS Key Management Service(AWS KMS)内に厳重に保持される点にあります。AgentCore Identityは、AWS KMSに格納された非対称署名キーを使用して、JWTクライアントアサーションに署名します。対応する公開キーはIDプロバイダーに登録されており、IDプロバイダーはこの公開キーを用いて署名されたアサーションを検証します。これにより、クライアントシークレットがネットワーク上を流れたり、不注意により外部に露出したりするリスクがなくなり、認証プロセスの全体的な堅牢性が強化されます。

Amazon Bedrock AgentCore Identityにおける認証フローの詳細

Amazon Bedrock AgentCore IdentityにおけるPrivate Key JWT認証の具体的なフローは以下のステップで進行します。

  1. トークンリクエストの開始: AIエージェントは、対象となる外部API(例:顧客注文履歴API)へのアクセスに必要なトークンを要求するため、AgentCore IdentityのGetResourceOauth2Tokenを呼び出します。

  2. クレデンシャル情報の取得: AgentCore Identityは、設定されたクレデンシャルプロバイダーから、クライアントID、KMSキーARN、および署名アルゴリズムを読み取ります。

  3. JWTクライアントアサーションの構築: AgentCore Identityは、必要なペイロードクレーム(および設定された追加のヘッダーまたはペイロードクレーム)を含む、有効期限の短いJWTクライアントアサーションを構築します。

  4. KMSによる署名: 構築されたJWTは、AgentCore IdentityによってAWS KMSの非対称署名キーに対しkms:Sign APIコールを用いて署名されます。この際、プライベートキーがKMSから外部に出ることはありません。

  5. IdPへの送信と検証: 署名されたJWTクライアントアサーションは、ダウンストリームのIDプロバイダーのトークンエンドポイントに送信されます。IDプロバイダーは、事前に登録されている公開キーを用いてJWTの署名を検証し、有効なトークンを発行します。

このフローにより、エージェントから外部サービスへの認証は、KMSによる強力な暗号的保護の下で実行され、機密性の高い認証情報が安全に管理されます。

プライベートIDプロバイダー連携とVPC Latticeの活用

Amazon Bedrock AgentCore Identityは、AWS VPC内でホストされるOAuth 2.0準拠のIDプロバイダー(Keycloak、PingFederateなど)とのプライベート接続をサポートします。これにより、パブリックインターネットにIdPを公開することなく、AIエージェントが組織内の既存認証システムとセキュアに連携できるようになります。

このプライベート接続は、Amazon VPC Latticeリソースゲートウェイとリソース設定を利用して確立されます。AgentCore Identityは、AWSServiceRoleForBedrockAgentCoreIdentityサービスにリンクされたロールを使用して、アカウント内でVPC Latticeリソースを自動的に作成および管理し、IdPエンドポイントへのプライベート接続を実現します。

VPC Lattice接続には、AgentCoreがリソースライフサイクルを管理する「マネージドLattice」と、クロスアカウントサポートや詳細なガバナンスが可能な「セルフマネージドLattice」の2つのモードが提供されており、利用シナリオに応じて選択可能です。

このようなプライベートIDプロバイダーの活用は、コンプライアンス要件やデータレジデンシー要件によりVPC内でセルフホスト型認証サーバーを運用する必要があるエンタープライズ環境において特に重要です。すべての認証トラフィックをAWSネットワーク内に留めることで、セキュリティとガバナンスを一層強化できます。また、AgentCore RuntimeおよびGatewayは、受信するOAuth 2.0 APIリクエストに対して、検出URLを用いてJWTを検証するインバウンドJWT認可を設定することも可能です。

開発者・エンジニア視点での考察

  1. KMSと連携したPrivate Key JWTによる認証は、共有シークレット漏洩のリスクを根本的に排除し、秘匿性の高いエンタープライズアプリケーションにおいて、より強固なセキュリティ基盤をAIエージェントに提供します。開発者は、クレデンシャル管理の複雑さを軽減しつつ、コンプライアンス要件を満たす認証戦略を構築できます。

  2. Amazon VPC Latticeを介したプライベートIDプロバイダー連携は、パブリックインターネットに露出しないセキュアな認証経路を確立します。これにより、データレジデンシーやネットワーク隔離要件が厳しい環境でも、Bedrock AgentCoreを利用したAIエージェントが既存のオンプレミスやプライベートVPC内の認証システムとシームレスかつ安全に連携できるようになります。

  3. AgentCore Identityが提供するToken Vaultと、bedrock-agentcore:actorIdbedrock-agentcore:InboundJwtClaim/*といったIAM条件キーの組み合わせは、きめ細やかなアクセス制御を可能にします。開発者はこれらのメカニズムを活用することで、エージェントがアクセスできるリソースやデータ範囲をユーザー単位・テナント単位で厳密にスコープでき、多層防御と多要素認証の原則に基づいた堅牢な認可システムを設計する上で不可欠な要素となります。


Source / 元記事

この記事について

著者
AIBloom AI編集部
初回公開
最終更新

この記事は、公開されているニュース、論文、公式発表、RSSフィードなどをもとに、AIが要約・補足調査・考察を行って作成しています。

元記事の完全な翻訳・逐語的な要約ではなく、AIによる背景説明や開発者向けの考察を含みます。

重要な技術仕様・価格・提供状況などは、必ず元記事または公式情報をご確認ください。

About AIBloom

ADVERTISEMENT