MCPの認証をIdP経由にして「個別OAuth野良化」を止める|Enterprise-Managed Authorization(EMA / Okta Cross App Access)で作るAIエージェント認可の一元統制 2026/06
- URL: https://blog.cloudnative.co.jp/articles/mcp-enterprise-managed-authorization-xaa-id-jag-2026
- 日付: 2026-06-22
- Tier: Tier 3
- 要旨: MCP の認可拡張 Enterprise-Managed Authorization(EMA)の仕様が2026年6月18日に安定版になった。AIエージェントが使う MCP サーバー(コネクタ)へのアクセスを、従業員個人の OAuth 同意ではなく組織の IdP で一元的に認可・失効できるようにする MCP 公式拡張で、技術基盤は IETF OAuth WG で標準化中のドラフト ID-JAG(Identity Assertion JWT Authorization Grant)。Okta の実装ブランド名が Cross App Access(XAA)にあたる。同日 Anthropic が Claude 向けに Okta を最初の対応 IdP とするベータ提供を開始した(Claude Team/Enterprise プラン向け)。仕様は stable だが各社の実装はベータで、Claude EMA の対応 IdP は現状 Okta のみ、対応クライアントも Claude 系・VS Code に限られ OpenAI/ChatGPT は対象外。EMA の利点は入退社ライフサイクル連動の付与・剥奪、監査証跡の集約、同意画面フィッシング低減、個人アカウント混入の構造的防止。一方で IdP 侵害時のブラストラディウス拡大、接続後の実行時リスク(プロンプトインジェクション等)は EMA では解決しないという限界も明示されている。
詳細
背景と問題設定。従来の MCP 認可は消費者向け発想で、ユーザー個人が対話的同意で接続範囲を決めるモデルだった。企業展開では、全員が全サーバーを個別認可する手間、セキュリティチームが一貫ポリシーを強制できないこと、業務アカウントと個人アカウントの混在という3つの構造的課題がある。これはサービスアカウント・APIキー・OAuth アプリの野良化(NHI=非人間IDのガバナンス)が AI エージェントで再来したもの。Okta の整理では AI エージェントについて、どこにいるか・何に接続できるか・何ができるか、の3点を制御する必要があり、EMA が直接担うのは「何に接続できるか」。
認可フロー。ユーザーが MCP クライアント(Claude、Claude Code、Cowork、VS Code 等)に通常の SSO でログインし、IdP から ID Token を取得する。クライアントが OAuth Token Exchange で IdP に ID-JAG(署名付き短命の許可証 JWT)を要求し、IdP が管理者設定済みポリシー(どのグループがどのサーバーに到達してよいか)を評価して audience を限定した署名付きアサーションを発行する。クライアントがそれを MCP サーバーの認可サーバーに提示し、SSO の ID Token と同じ署名鍵で検証され、スコープ限定のアクセストークンが発行される。ユーザーにはリダイレクトも同意画面も表示されない。
標準化の経緯。XAA/ID-JAG は2025年9月に OAuth WG に採択され、2025年11月の MCP 仕様(2025-11-25版、SEP-990)に Enterprise-Managed Authorization として組み込まれた。ID-JAG はベンダー中立で、Okta 以外に Athenz(ベータ)・Keycloak(実装中)が実装を進めている。
ローンチ時対応状況。IdP は Okta(Early Access)、クライアントは Claude/Claude Code/Cowork(Anthropic)と VS Code(Microsoft)、サーバーは Asana・Atlassian・Canva・Figma・Granola・Linear・Supabase(Slack は進行中)。導入企業として HubSpot・Ramp・Webflow が挙がり、2,000名規模の従業員に Okta 経由で追加操作ゼロでプロビジョニングした顧客事例が紹介されている。
効果。誰がどの AI でどこにどの権限で接続しているかを IdP がログ化・一元可視化し、止めたいときは IdP 一箇所で失効すれば全体に波及する。SOC 2・HIPAA・GDPR 等の監査で一本の証跡を示せる。XAA 環境では原則同意画面が出ないため、同意画面が出ること自体を異常のサインにできフィッシング耐性が上がる。摩擦のないアクセス確認によりトークン短寿命化も実用化できる。
限界と誤解。EMA は接続時の認可を解決するが、接続後にエージェントが何をするか(プロンプトインジェクションや悪性 MCP サーバーの実行時リスク)は対象外。ユーザーが別の個人コネクタ/MCP を追加すること自体は EMA 単体では止まらず、その強制は配布統制という別レイヤーで行う。IdP が攻撃された場合の影響範囲は拡大する。
導入の実務。XAA は Okta の Early Access 機能で、Admin Console の Settings>Features>Early Access でセルフ有効化する。利用条件は要求側アプリと対象アプリが OIN に OIDC 登録され XAA 有効化、両アプリ間に OAuth 関係、両アプリが Okta を IdP として SSO していること。Claude EMA を使うには加えて Claude Team/Enterprise プランと Anthropic の EMA ベータ登録(claude.com/form/ema-waitlist)が別途必要。RBAC とのきめ細かい連携は Anthropic 側で coming soon とされ、当面はグループ/チーム単位のスコープが中心。
自社製 MCP の対応。MCP サーバーの認可サーバーで ID-JAG を検証し(JWKS で署名検証、aud・iss・有効期限確認、sub/email で account linking、scope を権限にマッピング)、認可メタデータで EMA 拡張を宣言する。自前実装が重ければ Stytch・Scalekit・Auth0(ベータ)・Keycloak(実装中)・WorkOS 等の ID-JAG 対応認可サーバーにオフロードできる。Okta 側では OIN に OIDC 登録し XAA Resource App として有効化、xaa.dev や motd.xaa.rocks で発行〜検証フローを試せる。
移行戦略。既存の OAuth 連携・APIキー・サービスアカウントをまず棚卸しし、XAA 対応コネクタは EMA へ寄せる。XAA 非対応の既存 OAuth アプリは Okta の Brokered Consent でブローカし、ポリシー管理と可視性を IdP 側に寄せる。個人利用コネクタは併存させ、全連携を一斉切替せず AI×機微データを扱う主要 SaaS のハイリスク連携から段階適用する。