主なメリット
- Enterprise IT 管理者向け: エンタープライズデータやユーザーデータへのアプリケーションアクセスを一元的に制御・可視化し、ポリシーを適用。
- SaaS プロバイダーおよび開発者向け: エコシステムの成長を促進する、エンタープライズ AI のための標準化された安全な連携。
- エンドユーザー向け: アプリケーション間をスムーズかつシームレスに接続し、複雑な OAuth 同意フローを不要にします。
ユースケース
- Enterprise-Managed Authorization (agent-to-app) :従業員は、MCP Clientとして動作するAI agentを使用して、カレンダーアプリから情報を読み取り、エンタープライズメッセージングアプリに更新を投稿します。従業員がリダイレクトフローや同意プロンプトを経ることなく、エンタープライズのアクセスポリシーで承認されていれば、agentはMCP Serverとして公開されたカレンダーアプリとメッセージングアプリのAPIをXAAで安全に呼び出します。
- SaaSアプリケーションの接続 (app-to-app) :前の例では、エンタープライズのカレンダーアプリとメッセージングアプリはいずれもXAAをサポートしています。従業員は、ユーザーのリダイレクトや同意を必要とせず、エンタープライズのアクセスポリシーに従って、メッセージングアプリからカレンダーアプリのAPIにシームレスに接続できます。
仕組み
- Requesting App: リソースへのアクセスを必要とするアプリケーションまたは AI agent。
- Resource App: 保護されたリソースを所有し、API を介して公開するアプリケーション。
- Enterprise IdP: Okta など、従業員を認証する IdP。

- Resource App (Todo0) の認可サーバーは、OIDC を介してエンタープライズ IdP とフェデレーションされているため、その IdP で認証されたエンドユーザー向けのアクセストークンを生成できます。
- Requesting App (Agent0) は、Resource App の認可サーバーからアクセストークンを要求するための有効な client_id と資格情報を持つ OAuth 2.0 クライアントとして、Resource App の認可サーバーに登録されています。
- Acme の IT 管理者は、Agent0 と Todo0 間の XAA アクセス制御を定義しています。
エンドツーエンドの XAA フロー
- Acme の従業員は、エンタープライズ IdP を使用した SSO により Requesting App (Agent0) にログインします。Requesting App は、Acme の従業員のアイデンティティを検証するために ID トークンを取得します。
- Requesting App は IdP にトークン交換リクエストを送信し、ID トークンを、ID-JAG とも呼ばれるクロスドメイン Identity Assertion JWT Authorization Grant と交換します。IdP はリクエストを検証し、Acme の IT Admin が定義した XAA ポリシーを確認します。
- XAA ポリシーで許可されている場合、IdP は ID-JAG を Requesting App に返します。
- Requesting App は ID-JAG を使用して、Resource App 認可サーバーにトークンリクエストを送信します。
- Resource App 認可サーバーは、IdP との OpenID Connect フローでも使用する公開鍵で ID-JAG を検証します。有効であれば、認可サーバーはアクセストークンを返します。
- Requesting App はアクセストークンを使用して、Resource App の API にリクエストを送信します。
Requesting App と Resource App は、この SSO ステップでエンタープライズ IdP とフェデレーションするために、それぞれ OIDC または SAML を使用できます。各ケースでの XAA フローの仕組みについては、エンドツーエンドテストを参照してください。
早期アクセスの制限事項
- Enterprise IdP の発行者ごとに設定できる XAA 対応の接続は 1 つだけです。たとえば、同じ Okta テナントを複数の XAA 対応エンタープライズ接続に使用することはできません。
- 組織のサポートには制限があります。
- 接続は組織と 1 対 1 で割り当てられます。複数の組織を XAA アクセス用に同じ接続にマッピングすることはできません。
- Requesting App で Organizations の使用を必須にするよう設定している場合、ユーザーは事前に対象の organization のメンバーである必要があります。
- 動的なユーザー作成には対応していません。ユーザーは、設定済みのエンタープライズ接続を使用して事前に Resource App にログインしている必要があります。そうでない場合、ID-JAG アサーションをアクセストークンと交換する request は、
User not found errorで失敗します。
レート制限
/token エンドポイントにおける ID-JAG 交換は、テナント全体の Authentication API レート制限の最大 50% までに制限されます。サブスクリプションプランごとの正確な制限を含む詳細については、レート制限の構成を参照してください。