サポートされている認証パターン
AgentCore Identity は、さまざまなエージェントのユースケースに対応する 2 つのプライマリ認証パターンをサポートしています。これらのパターンを理解することは、特定のエージェントの実装に適したアプローチを選択するのに役立ちます。
これらのパターンが特定の業界やエージェントタイプにどのように適用されるかの詳細な例については、「ユースケースの例」を参照してください。
トピック
ユーザー委任アクセス (OAuth 2.0 認可コード付与)
OAuth 2.0 認可コード付与フローにより、エージェントは明示的なユーザー同意でユーザー固有のデータにアクセスできます。このパターンは、エージェントが特定のユーザーに代わって個人データにアクセスしたりアクションを実行したりする必要がある場合に不可欠です。フローには、リソース所有者 (ユーザー) が特定のスコープ内のデータへのアクセスをエージェントに明示的に許可するユーザー同意ステップが含まれています。
主な特徴
-
認可プロンプトによる明示的なユーザーの同意が必要です
-
ユーザー固有のデータとリソースへのアクセスを提供します
-
エージェント ID とユーザー認可の明確な分離を維持します
-
エージェントがアクセスできるデータを制限するきめ細かなスコープをサポート
シナリオの例 – 生産性エージェントがユーザーの Google カレンダーにアクセスして会議をスケジュールし、Gmail を使用して E メールを送信し、Google Drive を使用してドキュメントを保存する必要があります。エージェントは、OAuth 2.0 認可コード付与を使用して、必要なデータのみへのアクセスを制限する特定のスコープで、各サービスのユーザー同意を取得します。ユーザーは Google の同意画面を通じてエージェントを明示的に承認し、AgentCore Identity は将来の使用のために生成された認証情報を安全に保存します。
このパターンは、パーソナルアシスタントエージェント、カスタマーサービスエージェント、およびエージェントが複数のサービスにわたるユーザー固有のデータにアクセスする必要があるシナリオに最適です。業界固有の詳細な例については、「パーソナルアシスタントエージェント」と「カスタマーサービスエージェント」を参照してください。
Machine-to-machine認証 (OAuth 2.0 クライアント認証情報付与)
OAuth 2.0 クライアント認証情報付与フローは、ユーザーとのやり取りなしでシステム間の直接認証を可能にします。このパターンは、エージェントがユーザー固有ではないリソースにアクセスする必要がある場合や、エージェントが事前に承認されたユーザーの同意を得て行動する場合に適しています。
主な特徴
-
ユーザーとのやり取りや同意は必要ありません
-
エージェントは独自の認証情報を使用してリソースサーバーで直接認証します
-
バックグラウンドプロセス、スケジュールされたタスク、システムレベルのオペレーションに適しています
-
アクセス許可は、ユーザーごとではなくエージェントレベルで定義されます。
シナリオの例 – エンタープライズデータ処理エージェントは、複数の内部システムからデータを収集し、処理して、結果をデータウェアハウスに保存する必要があります。エージェントは、OAuth 2.0 クライアント認証情報付与を使用して、独自の ID と事前設定されたアクセス許可を使用して各システムで直接認証します。ユーザーとのやり取りは必要ありません。エージェントは、エージェントがスケジュールされた間隔で事前に承認されたユーザーの同意に基づいて行動するときに操作できます。
このパターンは、エンタープライズオートメーションエージェント、データ処理ワークフロー、DevOps オートメーションに最適です。業界固有の詳細な例については、「エンタープライズオートメーションエージェント」、「データ処理と分析エージェント」、「開発と DevOps エージェント」を参照してください。
トークン交換On-behalf-of (OAuth 2.0 トークン交換)
On-behalf-of (OBO) トークン交換により、エージェントは認証済みのユーザーに代わってダウンストリームリソースサーバーにアクセスできます。エージェントは、インバウンドユーザートークンを、アウトバウンド認証情報プロバイダーを介して新しいオーディエンススコープのアクセストークンと交換し、ユーザーの ID とエージェントの ID の両方を結果のトークンにバインドします。その後、ダウンストリームサービスは、ユーザーが別の同意フローを経ることなく、両方の ID に基づいて承認を決定できます。
主な特徴
シナリオ例: ユーザーごとのビジネスアプリケーションへのアクセス – エンタープライズには、ユーザーごとのアクセスコントロールを強制する内部 HR アプリケーションがあります。各従業員は、各自の補償と手当のデータのみを表示できます。同社は、既存のアクセスポリシーを緩和することなく、従業員が AI エージェントを通じてこのアプリケーションをクエリできるようにしたいと考えています。
-
Mike (ID 管理者) は、OBO トークン交換モードを含め、AgentCore Identity の OAuth 認証情報プロバイダーとして HR アプリケーションを設定します。セットアップ後、ユーザーごとのプロビジョニングは必要ありません。エージェントに対して認証できる従業員は、それを通じて HR アプリケーションにアクセスできます。
-
Bob (エージェント開発者) は、HR アプリケーションを呼び出すツールを追加します。トークン交換ロジックを記述したり、クライアントシークレットを処理したりすることはありません。ワークロードアクセストークン
GetResourceOauth2Tokenを使用して を呼び出し、AgentCore Identity はスコープ付きダウンストリームトークンを返します。Bob は、認可方法ではなく、エージェントがデータに対して何をするかに焦点を当てます。 -
Sarah (エンドユーザー) はエージェントにサインインし、利点の概要を取得するように求めます。2 回目のサインインは求められません。バックグラウンドでは、AgentCore Identity は Sarah のインバウンドトークンを、Sarah の ID を保持するダウンストリームアクセストークンと交換します。HR アプリケーションは既存のアクセスポリシーを適用し、Sarah のデータのみを返します。これは、アプリケーションに直接アクセスした場合に表示されるデータと同じです。
このパターンは、単一の信頼ドメインで複数のアイデンティティ対応サービスを横断するエンタープライズエージェントに最適です。グラントタイプ、設定、サポートされている ID プロバイダーの詳細については、「トークン交換On-behalf-of」を参照してください。
適切な認証パターンの選択
エージェント認証戦略を設計するときは、次の要因を考慮して、どのパターンが最も適切かを判断してください。
| Factor | ユーザー委任アクセス (OAuth 2.0 認可コード付与) | Machine-to-machine認証 (OAuth 2.0 クライアント認証情報付与) | トークン交換On-behalf-of (OAuth 2.0 トークン交換) |
|---|---|---|---|
|
データの所有権 |
ユーザー固有のデータ (E メール、ドキュメント、個人用カレンダー) |
システムまたは組織が所有するデータ (分析、ログ、共有リソース) |
ユーザーがエージェントに対して既に認証されているユーザー固有のデータ |
|
ユーザーインタラクション |
ユーザーが存在し、同意できる |
ユーザーとのやり取りは不要、または利用可能 |
ユーザーはすでにエージェントに対して認証されています。新しい同意プロンプトはありません |
|
オペレーションのタイミング |
インタラクティブでリアルタイムのオペレーション |
バックグラウンド、スケジュール、またはバッチオペレーション |
認証されたユーザーによって開始されたインタラクティブなリアルタイムオペレーション |
|
アクセス許可のスコープ |
アクセス許可は、ユーザーとその同意の選択によって異なります。 |
エージェントレベルで定義された一貫したアクセス許可 |
インバウンドユーザートークンとダウンストリームプロバイダーポリシーから派生したアクセス許可 |
エージェントの実装の多くは、機能のさまざまな側面にすべてのパターンを必要とします。たとえば、カスタマーサービスエージェントは、machine-to-machine認証を使用して会社のナレッジベースと内部システムにアクセスしながら、ユーザー委任アクセスを使用して特定の顧客のデータを取得する場合があります。同じエージェントは、トークン交換on-behalf-of使用して、ユーザーを再度促すことなく、ユーザーごとの承認を強制するダウンストリームサービスにユーザーの ID を伝達することもできます。AgentCore Identity はすべてのパターンを同時にサポートするため、エージェントはアクセスする必要があるリソースごとに最も適切な認証メカニズムを使用できます。
すべての認証パターンには、AgentCore Identity のコア機能の利点があります。
-
エージェントコードにシークレットを公開せずに認証情報ストレージを保護する
-
複数のリソースタイプにまたがる一貫した認証インターフェイス
-
セキュリティとコンプライアンスに関する包括的な監査ログ記録
-
ID とコンテキストに基づくきめ細かなアクセスコントロール
-
AgentCore SDK による統合の簡素化