このブログはこちらの英語ブログの機械翻訳です。

エージェントシステムとは、自律エージェントが複数のサービスにわたって計画、推論、行動するアプリケーションのことです。これらのアプリケーションは、単純なリクエスト/レスポンスのやり取りを超えるように設計されています。

従来のリクエストペイロードスキーマに依存し、リクエストを構文的に解釈するAPI駆動型マイクロサービスとは異なり、エージェント型アプリケーションは大規模言語モデル(LLM)を使用してリクエストを意味的に解釈します。これにより、複数のステップからなるタスクを計画し、アクションを連鎖させ、ユーザーの代わりに複数のサービスを自律的に呼び出すことができます。

これらのシステムが成熟するにつれて、互いに疎結合なエージェント、サービス、および外部APIが連携して動作する分散アプリケーションにますます似てきています。この柔軟性の向上に伴い、複雑さが増し、一貫性のある安全なアイデンティティへのアプローチが必要になります。

エージェントシステムがもたらすセキュリティ上の問題

これらの環境における中心的な課題は、アイデンティティの伝播です。ユーザーのアイデンティティと意図がエージェント、サービス、ツール間で安全に伝達されるようにする必要があります。強力な認証と認可がなければ、エージェントは適切なコンテキストなしにサービスを呼び出したり、権限を逸脱したり、エンタープライズポリシーを迂回したりする可能性があります。

Okta Cross-App Accessは、アプリケーション間でIDトークンを交換するための標準ベースの方法を提供します。エージェントがツールを検出して呼び出す一貫した方法を提供するModel Context Protocol(MCP)と組み合わせることで、これらの機能は、ユーザー、エージェント、およびサービスを結び付ける信頼できるファブリックを作成します。

以下のセクションでは、これらの課題を解決するために、AWS LambdaAmazon Elastic Container ServiceのようなAmazon Web Services (AWS)サーバーレスサービス上で実行されるAIエージェントとOkta Cross-App Accessを統合するためのサンプルアーキテクチャを示します。Oktaでユーザーがどのように認証され、トークン交換によってエージェントを介してどのようにIDが伝播され、ダウンストリームサービスがどのようにアクセスを検証および強制するかについて説明します。

OktaのエンタープライズIDプラットフォームとAWSのサーバーレスおよびコンテナサービスを組み合わせることで、組織はエージェント間およびエージェントとサービス間の安全なコラボレーションを大規模に実現できます。

ソリューションアーキテクチャ

このセクションでは、Okta IdentityをAWS上のエージェントからサービスへの呼び出しに結び付けるサンプルエンドツーエンド設計の概要を説明します。MCPは、エージェントがツールを検出して呼び出すための一貫したプロトコルを提供します。主要なコンポーネント、トークンフロー、およびIDが各ホップでどのように伝播および適用されるかを確認できます。

Graph of High-level architecture structure.

認証と認可フロー

サンプルアーキテクチャは、ユーザーが Web またはデスクトップインターフェイスなどのエージェントクライアントアプリケーションを操作することから始まります。クライアントは、認証を処理するためにOpenID Connect(OIDC)を使用して Okta と統合します。サインインすると、クライアントはユーザーのアイデンティティを表す ID トークンを受け取ります。クライアントは、そのトークンをダウンストリーム呼び出しに直接使用する代わりに、Cross-App Access(XAA)SDK を利用して、特定のダウンストリームオーディエンスにバインドされた Identity Assertion Grant(ID-JAG)と交換します。これにより、アプリケーション全体での安全なアイデンティティ伝播の基礎が確立されます。

Graph presenting the authentication and authorization flows.

ID-JAGは、前の図に示すように、AWSで実行されている認可サービスに提示されます。このサービスはアサーションを検証し、有効期間が短く、対象者を制限されたアクセストークンを発行します。そのトークンは、エージェントが呼び出す必要のあるリソースに特にスコープが設定されています。このステップを導入することで、明確な信頼境界を強制し、ダウンストリームサービスへの最小特権アクセスを確保できます。

エージェントは、アクセストークンを使用して、MCPサーバーでホストされているツールとリソースを呼び出すことができます。各MCPサーバーは、アクションを実行する前に、受信トークンを検証します。これらのツールとリソースは、サービスAPIなどのダウンストリームの保護されたリソースを呼び出すことができます。これらのサービスがAWSで実行されている場合、IAMロールに依存し、ユーザーID、スコープ、テナントなどのトークンクレームを検証して、独自のポリシーを適用できます。この階層化された適用により、ユーザーからバックエンドシステムまで、ID、意図、および承認が一貫して伝達されます。

考慮事項とベストプラクティス

セキュアなエージェントアプリケーションを構築する際、エンジニアリングチームは厳格なセキュリティ制御と実績のあるベストプラクティスを採用する必要があります。以下の原則は、エージェントシステムとMCPサーバーを安全に構築するための強力な基盤となります。

ID 検証

すべての境界でIDを検証します。各AIエージェントおよびMCPサーバーは、発行者、対象者、スコープ、署名、および有効期限をチェックして、アクセストークンを個別に検証する必要があります。上流の検証だけに頼らないでください。これにより、エージェントが呼び出しを連鎖させることによって強制を回避できなくなります。

トークン管理

有効期間が短く、スコープが限定されたトークンを使用します。常に最小特権アクセスの原則に従い、必要な最小限の権限にトークンをスコープします。エージェントに発行されるアクセストークンは、短い期間(数分、数時間ではない)のみ有効とし、特定のMCPツール(例:documents.read vs. documents.write)に関連付けます。エージェントが別のツールを呼び出す必要がある場合は、トークン交換を実行して、より狭いスコープで新しいトークンを発行します。

コンテキスト伝播

ユーザーコンテキストを安全に伝播します。Okta Cross‑App Accessを使用して、サービス間でアイデンティティを転送します。エージェントがMCPサーバーを呼び出す場合、サブジェクト、エンドユーザー(sub)、許可されたパーティ(azp)、オーディエンス(aud)、および実行を追跡するためのactなどのクレームを含めます。これにより、ダウンストリームサービスは、誰がリクエストを開始し、なぜリクエストが行われたのかを知ってポリシーを適用できます。

可観測性と監査

エージェントチェーンのエンドツーエンドの監査と追跡を行います。構造化されたイベントと認証の決定を各セグメントで記録し、完全なアクター追跡(例:ユーザー → エージェント → MCP ツール)、使用されるスコープ、および行われた決定を示します。Amazon CloudWatchAWS X-Rayなどの監視サービスを使用して、複数のエージェントとツールにわたるリクエストを追跡し、「誰がエージェントに行動を依頼したのか?」などの質問に答えます。どのツールが呼び出されたか?どのデータにアクセスしたか?

AWS固有のベストプラクティス

  • IAMロール: Lambda関数の実行ロールには、最小限必要な権限を使用します。複数の関数間で実行ロールを再利用しないでください。
  • APIゲートウェイ:Lambdaオーソライザーを使用してAPIを保護します。CORS、レート制限、およびWAFを有効にします。システムコンポーネント間で通信する場合は、mTLSを検討してください。
  • CloudWatch: リテンションポリシー、運用およびビジネスメトリクス、エンドツーエンドの追跡機能とともに、集中型ログ記録に使用します。
  • VPC構成:必要に応じて、追加のネットワーク分離のためにVPCの使用を検討してください。

エージェントアプリケーションは、タスクを自動化し、サービスを接続する新しい方法への扉を開きますが、新しいセキュリティ上の考慮事項も導入します。すべてのエージェントとMCPサーバーは、適切なユーザーコンテキストで動作し、最小特権を適用し、明確な監査証跡を残す必要があります。認証、認可、およびアイデンティティの伝播に強力な基盤がなければ、これらのシステムはすぐに管理不能または危険になる可能性があります。

OktaのCross-App AccessとアイデンティティソリューションをAWSのサーバーレスおよびコンテナサービスと組み合わせることで、組織は安全に拡張できるエージェントシステムを構築できます。この記事で概説されているアプローチは、ユーザーの認証、エージェントを介したアイデンティティの伝播、MCPツール用のスコープ付きトークンの発行、およびすべての境界でのポリシーの適用方法を示しています。

AWSのサーバーレステクノロジーを使用してAIエージェントをデプロイすると、いくつかの利点があります。

  • スケーラビリティと信頼性: ワークロードは複数のアベイラビリティゾーンに自動的に分散され、トラフィックパターンに基づいて自律的に拡張されます。
  • コスト最適化:従量課金制の価格モデル。使用した分だけ支払います。
  • マネージドインフラストラクチャ:AWSは、運用、セキュリティ、回復力など、インフラストラクチャ管理を完全に処理します。
  • 統合:多数のAWSサービスとのネイティブ統合。
  • 組み込みの可観測性: CloudWatch および X-Ray による包括的な監視。

詳細については、 Okta Cross-App Access のドキュメントと AWS serverless サービスをご覧ください。

リソース

 

アイデンティティ施策を推進