コンテンツまでスキップ

【Okta】Cross App Access検証レポート AIエージェント連携の可能性と見通し【生成AIセキュリティ対策シリーズ】

はじめに

こんにちは、ネクストモード株式会社テクニカルサポート担当です。

Oktane 25で紹介されたOkta Cross App Accessについて検証したのでご紹介します。

セッションレポートは以下のOktane25レポートブログをご覧ください。

 

今回の検証では以下のドキュメントを参考にしながら進めました。

 

 

Cross App Accessの概要

Cross App Accessは、以下のイメージのようにAIエージェント(下図ではAgent0)がMCPサーバー(下図ではTodo0)などを利用する際に頻繁に発生する認証や認可を事前に定義できる機能です。これにより、AIエージェントを利用するユーザーの利便性が向上し、IT管理者は事前定義による一元管理が可能になります。

補足ですが、OktaではCross App Accessの略称としてXAAを使用しています。

Cross App Accessの概要図です。

引用元:https://www.youtube.com/watch?v=3VLzeT1EGrg

 

現時点では、Cross App Accessに対応したSaaSはまだ存在しません。そのため本検証では、ドキュメント内のOktaが公開しているGitHubレポジトリを活用します。このレポジトリには、Node.jsで作成されたTodoアプリとAIエージェントアプリのサンプルが含まれています。

これらのアプリを動作させるには、DockerやAmazon Bedrockが必要です。ただし、アプリ開発の要素が強いため、本記事では詳細を割愛します。

 

Oktaで行う設定

以下の流れで設定を行います。

  • EA機能の有効化
  • リソースアプリの設定
  • リクエストアプリの設定
  • 2アプリの接続設定

 

Early Access の有効化

はじめに Okta Admin Console > Settings > Features から Cross App Access を有効化します。

Early Access からCross App Accessを有効化しています。

 

サンプルアプリに対応するOINアプリを追加

以下の2つのアプリを追加します。略称のXAAで検索できます。

  • Agent0 - Cross App Access (XAA) Sample Requesting App
  • Todo0 - Cross App Access (XAA) Sample Resource App

サンプル用Cross App AccessアプリをOINで検索している画面です。

 

リクエストアプリ『Agent0』の設定

AIエージェントアプリ『Agent0』のAuthenticationタブからClient IDとClient secretを取得し、サンプルアプリのauthorization-server/.env.agentに記載します。

サンプルAIエージェントアプリのOpenID Connectの設定画面です。

 

ドキュメントに従い、Redirect URIも設定します。

サンプルAIエージェントアプリのRedirect URIを設定している画面です。

 

リソースアプリ『Todo0』の設定

リソースアプリ『Todo0』のAuthenticationタブからClient IDとClient secretを取得し、サンプルアプリのauthorization-server/.env.todoに記載します。

サンプルTodoアプリのOpenID Connectの設定画面です。

 

ドキュメントに従い、Redirect URIも設定します。

サンプルTodoアプリのRedirect URIを設定している画面です。

 

2アプリの接続設定

リクエストアプリ『Agent0』のManaged Connectionsタブを開き、Apps granted consent(同意を付与されたアプリ)セクションにあるAdd requesting appsをクリックします。

Managed Connectionsタブの設定前の画面です。

 

リソースアプリ『Todo0』を追加して保存します。

同意を付与されたアプリとして『Todo0』を追加している画面です。

 

同様に、Apps providing consent(同意を提供するアプリ)セクションからもリソースアプリ『Todo0』を追加します。

同意を提供するアプリとして『Todo0』を追加している画面です。

 

この設定が完了すると、リソースアプリ『Todo0』のManaged Connectionsタブにも設定が反映されていることが確認できます。

Managed Connectionsタブで設定が反映されいてることを確認している画面です。

 

これで、2つのアプリ間の事前連携設定が完了しました。

 

動作確認

ドキュメントに従って、テストユーザーの作成とアサイン、Amazon Bedrockなどの値の設定を完了したら、Node.jsアプリを起動して動作を確認します。

まず、Todoアプリにログインし、いくつかタスクを追加します。

タスクが追加されたTodoアプリの画面です。

 

次に、AIエージェントアプリを起動し、『Connect to IDP』をクリックして認証します。

 

認証後、「完了済のタスクは?」と質問すると、AIエージェントがTodoアプリを参照して回答します。このとき、2つのアプリ間では事前連携が完了しているため、追加の認証や認可は不要です。

 

また、読み取り以外にもタスクの追加のような作業も行えます。

 

まとめ

Cross App Accessは、AIエージェントが複数のアプリケーションを連携する際の認証フローを大幅に簡素化します。従来、ユーザーは各アプリケーションへのアクセスごとに個別の認証・認可が必要でしたが、この機能により、IT管理者が事前に定義した信頼関係に基づいてシームレスなアクセスが実現します。

IT管理者にとっては、アプリケーション間の連携を一元管理できるため、セキュリティポリシーの適用や監査が容易になり、ガバナンスの強化につながります。

今後の期待として、Cross App Accessに対応するSaaSの増加が挙げられます。実際、Oktaはパートナー(ISV)との協力を進めていることを表明しています。

 

また、今回のサンプルでは大まかな認可のみが事前定義可能でしたが、より細かいスコープ指定に対応することで、きめ細やかなアクセス制御が可能になると期待されます。

実際、以下のCross App Access紹介ページ内の動画では、詳細なスコープ指定ができる可能性が示唆されています。

 

以下は該当部分のスクリーンショットです。

Oktaが提供するCross App Access紹介ページ内の動画でScopeを設定しているイメージのスクリーンショットです。

 

Cross App Accessが洗練され広く導入されることで、AIエージェントを活用したワークフロー自動化がさらに加速し、業務効率の大幅な向上が期待できます。Oktaのこの新機能は、AIとIDaaSが融合した次世代の認証基盤として、今後の発展が注目されます。