Delegated Identity

AIエージェントの代理実行ID設計|利用者・agent・toolの権限を一つのtokenに潰さない【2026】

AIエージェントが業務ツールを代理実行するとき、利用者、agent実行体、下流サービスのIDを分ける設計を解説。短命token、audience、scope、on-behalf-of、監査を組み合わせ、共有admin権限を避けます。

古野光太朗古野光太朗·2026.09.15·一次情報 7件
利用者の依頼とエージェント実行体のIDを認可サーバーで確認し、用途限定tokenで業務ツールを操作して監査記録へ結ぶ図

本文

社内AIエージェントがCRMを検索し、経費を下書きし、文書を更新する。ここで「agent用の強いAPI keyを一つ置けばよい」とすると、誰の依頼で、どの実行体が、どの業務操作をしたかが消えます。利用者に許可があってもagent自体に権限がない、またはagentに強い権限があって利用者にはない、という事故を区別できません。

結論は、利用者ID、agent実行体のworkload ID、下流resourceごとの短命access tokenを分け、実行ごとにserver側で交差判定することです。modelが「管理者として実行してよい」と出力しても、tokenの発行・認可・監査はモデルの外に置きます。

三つの主体を、同じ「ログイン」と呼ばない

代理実行には最低でも三つの主体があります。第一に、依頼した利用者。第二に、実際にjobを走らせるagent serviceやworker。第三に、操作されるCRM、ファイル、社内APIなどのresourceです。利用者のsession cookieをworkerへ保存して使い回す、またはすべてのworkerで共有admin keyを使う設計では、主体が一つに潰れます。

NISTのゼロトラストは、ネットワーク位置や所有者だけで暗黙の信頼を与えず、enterprise resourceへのsession前にsubjectとdeviceを認証・認可する考え方です。AI agentでも「社内networkから呼ばれた」「当社のagentだから」という理由で下流toolを信頼しません。resource serverは、現在のuser、現在のagent workload、対象resource、依頼された操作を別々に検査します。

代理と成り代わりを混ぜない

IETF RFC 8693は、token exchangeでdelegation(代理)とimpersonation(成り代わり)を区別します。代理ではagent AのIDはuser Bと別に残り、「Bが一部の権利をAへ委ねた」と理解されます。成り代わりでは受け手から見るとAはBとして扱われるため、監査やpolicyの設計を誤ると実行体の痕跡が失われます。

業務AIの既定は代理です。下流tokenまたは監査eventに、少なくともuser_subjectactor_workloadtenantresourceactionscopeexpires_atrequest_idを結びます。token exchangeのsubject_tokenは誰のためか、actor_tokenは誰が動くかを表せます。ただしRFCはtrust modelや具体的なtoken表現までは規定しません。自社のIdPとresource serverで、どの組み合わせを許可するかを明示する必要があります。

tokenを発行する前に、交差条件をserverで評価する

安全な発行条件は「userに読む権限がある」だけではありません。少なくとも次をすべて満たすときに、対象resource向けの短命tokenを発行します。

Microsoft Entraのagent向けon-behalf-of flowは、user tokenとagent側のcredentialを検証してresource tokenを返す例です。同社は本番でclient secretをagent identityのcredentialとして置かず、federated identity credentialやcertificateを使うよう警告しています。これは「user tokenだけで下流を呼ぶ」でも「agent keyだけでuserのデータを読む」でもない経路の実例です。

long-lived secretからworkload identityへ寄せる

agent workerが固定のservice account keyを環境変数へ持つと、漏えい後の影響範囲とrotateの運用が大きくなります。Google Cloudは外部workloadについてservice account keyではなくWorkload Identity Federationを使い、外部のID assertionとtoken exchangeで短命credentialを得る方法を示しています。direct resource accessかservice account impersonationかをresource単位で選べます。

Kubernetesや複数cloudで実行体を識別するなら、SPIFFEのようにprocess/workloadに暗号学的IDを配る方式もあります。SPIFFE Workload APIは、callerを識別してから対応するidentity materialを渡すことを求めます。重要なのは製品選定ではありません。job queueのconsumer、scheduler、interactive APIを同じworkload IDにしないことです。更新workerが取得したcredentialを、ユーザー対話用agentが再利用できない境界を作ります。

tokenは「発行したら終わり」にしない

下流APIは署名、issuer、audience、expiry、scopeを検証し、必要ならtoken introspectionまたはserver側policyも評価します。userの部署異動、agentの停止、承認取消しのあとに、発行済みtokenがいつまで動くかを決めます。RFC 8693もexchangeは入力tokenと出力tokenを自動的に強く連動させるものではなく、失効eventの伝播は実装依存と説明しています。だから短い有効期限、再発行、重大操作の直前再認可を組み合わせます。

監査には、prompt全文や秘密値をtokenへ入れません。request_idで「依頼user」「agent workload」「token発行policy」「resource action」「外部効果」を結び、token値は記録しない。失敗時は汎用keyへfallbackせず、必要なtokenを発行できなかったことを明示して止めます。これはtool引数のschema検証の後段ではなく、toolを実行する主体を決める前提です。

限界と反証

三者IDとtoken exchangeは、読み取りだけの小規模な社内botには過剰な場合があります。短命tokenの発行障害は可用性も下げ得るため、IdP障害時に何をread-onlyで継続するかを業務ごとに決める必要があります。また、tokenを細かくしても、modelが誤った顧客や金額を選ぶ問題は解けません。業務制約、確認画面、承認ゲート、評価試験は別途必要です。

導入時の最小チェックリスト

一次情報と確認範囲

確認日:2026年9月15日。製品仕様・制度は更新されるため、導入時はリンク先の最新版を再確認してください。海外の制度・職業規範は日本へ直接適用せず、相違点と限界を本文に明記しています。

  1. NISTのzero trustはネットワーク位置・所有者による暗黙の信頼を置かず、resource session前にsubjectとdeviceを認証・認可する
  2. RFC 8693はtoken exchangeでdelegationとimpersonationを区別し、代理ではactorとsubjectの両方を表現できる
  3. Microsoftのagent OBO例はuser tokenとagent側credentialを検証してresource tokenを返し、本番ではclient secretよりFICまたはcertificateを案内する
  4. Google Cloudは外部workloadでservice account keyに代えてfederated identityを使い、特定resourceの短命access tokenを得る方法を示す
  5. Google CloudはID tokenとaccess tokenを区別し、immutable ID、tenant固有issuer、短い有効期限と文脈claimを設計指針として示す
  6. SPIFFE Workload APIはcallerのidentityを判定し、対応するworkload identity materialを提供する仕様である
  7. SPIFFE SVIDはworkloadのIDを表し、短命X.509 credentialやJWT-SVIDを扱える
古野光太朗
古野光太朗 / 株式会社TechWorker 代表取締役 CEO兼CTO

上場企業を含む37社・2,500名の生成AI導入・研修支援で得た実務知をもとに、導入・運用・顧客理解を扱っています。この実績はTechWorkerの生成AI支援実績であり、個別製品の導入実績を示すものではありません。

AIエージェントの代理実行権限を点検する

利用者・実行体・業務toolのIDを分け、用途限定tokenと監査記録へ接続します。

AIセキュリティを相談する
← AIセキュリティ・ラボの記事一覧に戻る