すべてのプロダクト
Search
ドキュメントセンター

Identity as a Service:アイデンティティ伝播とコールチェーン監査

最終更新日:May 26, 2026

Agent ID Guard が RFC 8693 のトークン交換メカニズムを使用して、エージェントのコールチェーン全体でアイデンティティを伝播し、エンドツーエンドの監査追跡を可能にする方法を説明します。設定手順については、「エージェントのトークン交換の設定」をご参照ください。

アイデンティティ伝播の重要性

コンプライアンスおよびセキュリティ監査は、「誰が、いつ、どのパスを通じて、どのデータに、何をしたか」という 1 つの問いに答えることを目的としています。

エージェントベースのアーキテクチャでは、この問いは非常に複雑になります。「休暇残高の確認」のような単一のアクションに、1 人のエンドユーザー、1 つのクライアントアプリケーション、1 つのエージェント、複数のダウンストリームサービス、そしてその過程における数回のトークン交換操作が関わる場合があります。標準的なアクセスログでは、この保管の連鎖を捉えることはできません。Alibaba Cloud IDaaS のアイデンティティ管理機能である Agent ID Guard は、トークン交換の各ホップで元のユーザーアイデンティティを維持することでこの問題を解決します。これにより、リクエストが通過する中間者の数に関係なく、各ダウンストリームの API 呼び出しが個々のユーザーまで追跡可能になります。

ユースケース

典型的なコンプライアンス要件は、以下のとおりです:

  • 金融システムでは、すべてのデータアクセスが個々のユーザーまで追跡可能である必要があります。

  • セキュリティチームは、「任意のダウンストリーム API 呼び出しに対して、どのフロントエンドエントリポイント、どのエージェントインスタンス、およびどのアップストリームトークンがそれをトリガーしたか」という問いに答える必要があります。

  • 規制の枠組みでは、不正アクセスを 90 日以内に特定し、実証できる必要があります。

「user = アリス」を示すアクセスログだけでは不十分です。アリスに代わってリクエストを開始したエージェントとクライアントも特定する必要があります。

アイデンティティ伝播の仕組み

Agent ID Guard は、RFC 8693 のトークン交換で発行されるアウトバウンドアクセストークンに含まれる、以下の 4 つの主要なフィールドを維持、拡張します:

フィールド

意味

ユースケース

sub

インバウンドアクセストークン内の識別子と同一の一意のユーザー識別子。

バックエンドでの行レベルの認可と監査を可能にします。サービスの境界を越えてアイデンティティが失われないことを保証します。

client_id

現在トークンを保持しているクライアント。トークン交換を開始したエージェントのアプリ ID に相当します。

ダウンストリームサービスが、どのエージェントが自身を呼び出しているかを識別できるようにします。

_idaas_imp

アップストリームのソース情報。アップストリームトークンの jticlient_id を含みます。

逆追跡を可能にします。このアウトバウンドトークンがどのインバウンドアクセストークンとどのアップストリームクライアントから派生したかを追跡できます。

_idaas_exchange_count

交換深度カウンター。トークン交換のホップごとに 1 ずつ増加します。

無限の委任を防ぎます。Agent ID Guard は、設定された交換深度の上限を超えたリクエストを拒否できます。

監査のトレーサビリティ

アウトバウンドアクセストークンには、派生元のインバウンドアクセストークンのトークン ID (jti) とクライアント ID が含まれています。構造は次のようになります:

{
  "_idaas_imp": {
    "jti": "ATTU...(jti of the original inbound token)...",
    "client_id": "app_nfiiybmikzo2fnmabpectnxxxx"
  }
}

これらのフィールドを Agent ID Guard の監査ログと組み合わせることで、完全なコールチェーンを再構築できます。

Call chain audit trace diagram

Agent ID Guard は、発行時にダウンストリームトークンにアップストリームの証跡を直接埋め込むため、エージェントやダウンストリームサービスでカスタムロジックを実装する必要はありません。

エージェントがアイデンティティを偽装できない理由

エージェントがダウンストリームサービスを自由に呼び出したとしても、任意の sub 値を偽造することはできません。以下のセーフガードがなりすましを防ぎます。

  1. アウトバウンドアクセストークンは、有効なインバウンドアクセストークンをサブジェクトトークンとして送信する必要がある RFC 8693 のトークン交換を通じてのみ発行されます。

  2. Agent ID Guard がアウトバウンドアクセストークンを発行する際、sub クレームは、サブジェクトトークンの sub から強制的に設定されます。Agent ID Guard は自身のプライベートキーでトークンに署名し、要求されたダウンストリームサービスの権限と sub との間に有効な認可関係が存在する必要があります。

  3. エージェントのクライアントシークレットや秘密鍵は、「自身がこのエージェントである」ことのみを証明するものであり、ユーザー トークンに直接署名するために使用することはできません。

  4. ダウンストリームサービスは、Agent ID Guard の JWKS 公開鍵を使用して発行者 (iss)、オーディエンス (aud)、および署名を検証することで、エージェント自体を信頼することなく sub クレームを信頼します。

検証

以下のチェック項目で、アイデンティティ伝播とコールチェーン監査が正しく機能していることを確認してください。

チェック項目

期待される結果

アウトバウンドアクセストークンを (例: jwt.io または JWT CLI ツールを使用して) デコードし、sub クレームを確認します。

ログインしているユーザーと一致します。

アウトバウンドアクセストークンをデコードし、_idaas_imp.client_id を確認します。

呼び出しを開始したクライアントのアプリ ID と一致します。

アウトバウンドアクセストークンをデコードし、_idaas_exchange_count を確認します。

通常、シングルホップチェーンの場合は 1 です。マルチレベルのエージェント転送に伴い増加します。

エージェントのコードを修正してsubを偽造し、アウトバウンド アクセストークンの発行を試行します。

Agent ID Guard はリクエスト内の不正なsub指定を無視し、常にサブジェクトトークン内のsubを強制的に使用します。発行されたアウトバウンドトークンのsubは、元のサブジェクトトークンのsubと同一になります。これにより、エージェントによるアイデンティティの偽装が防止されます。

クライアントからエージェントへのインバウンド認可を取り消し、トークン交換を試してください。

基礎となるインバウンドアクセストークンが利用できなくなったため、トークン交換は失敗します。