> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

> Resource App のエンドツーエンドのテスト環境を設定する方法を学びます。

# Cross App Access (XAA) 用テスト環境のセットアップ

<Warning>
  Cross App Access (XAA) は現在ベータ版です。この機能を使用することにより、お客様は Okta の [Master Subscription Agreement](https://www.okta.com/legal) に定められた、該当する無料トライアル条件に同意したものとみなされます。Auth0 のプロダクトリリースサイクルの詳細については、[Product Release Stages](/docs/ja-JP/troubleshoot/product-lifecycle/product-release-stages) を参照してください。本プログラムに参加するには、[Auth0 Support](https://support.auth0.com/) またはお客様担当の Technical Account Manager までお問い合わせください。
</Warning>

このセクションでは、Resource App のエンドツーエンドのテスト環境を設定する方法について説明します。Auth0 テナントを Resource App 認可サーバーとして構成することで、コードの変更を一切行うことなく、SaaS アプリケーションが受信した ID-JAG リクエストを受け付けられるようになります。これにより、SaaS API はこれらのリクエストに応じてアクセストークンを生成できるようになり、AI エージェントやその他のアプリケーションがシームレスに API を利用できるようになります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  このガイドでは、Okta をエンタープライズのアイデンティティ プロバイダー (IdP) として使用し、テストに利用できる Okta テナントに対する管理者アクセス権を持っていることを前提としています。お持ちでない場合は、[Create and configure your Okta tenant](#create-and-configure-your-okta-tenant) を参照してください。
</Callout>

Resource App 用のエンドツーエンドのテスト環境を設定するには、次の手順を実行します。

* Resource App を構成および登録する: これには、Auth0 テナントの構成と、SaaS アプリケーションを Okta に Resource App として登録する作業が含まれます。詳細については、[Resource App setup](#resource-app-setup) を参照してください。
* エンドツーエンドをテストするための Requesting App を構成する: これには、Auth0 テナントにテスト用の Requesting App を登録し、それを Resource App と関連付けるよう Okta の設定を更新する作業が含まれます。詳細については、[Requesting App setup](#requesting-app-setup) を参照してください。
* Auth0 テナントが顧客のエンタープライズ IdP とフェデレーションする方法を構成する: テスト環境では、エンタープライズ IdP は、エンタープライズ顧客の 1 社を表す Okta のテストテナントになります。詳細については、[Federate with the enterprise IdP and Organization configuration](#federate-with-the-enterprise-idp-and-organization-configuration) を参照してください。
* Okta で Cross App Access を管理する: Okta 管理コンソールで、エージェントからアプリ、およびアプリ間の接続を構成します。詳細については、[Manage Cross App Access in Okta](/docs/ja-JP/secure/call-apis-on-users-behalf/xaa/manage-xaa-in-okta) を参照してください。

次の画像は、本番環境対応の XAA フローにおいて、さまざまなペルソナが担う責任範囲を示したものです。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_persona_responsibilities.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=8a778393a2e8173e5b266f264b87289a" alt="" width="1356" height="1044" data-path="docs/images/xaa/xaa_persona_responsibilities.png" />
</Frame>

<div id="create-and-configure-your-okta-tenant">
  ## Okta テナントを作成して設定する
</div>

Resource App 用のエンドツーエンドのテスト環境をセットアップするには、Cross App Access を利用するための Okta テナントを作成して設定する必要があります。

* [Okta Developer サイト](https://developer.okta.com/signup/)で Okta Integrator Free Plan にサインアップします。サインアップが完了すると、新しい Okta テナントにリダイレクトされます。
* Okta Admin Console で **Settings > Features** に移動します。［Early access features］セクションで **Cross App Access** を有効にします。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/okta_enable_xaa.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=1e3716d04439ba9ae242f0dbd2c07e21" alt="" width="1370" height="170" data-path="docs/images/xaa/okta_enable_xaa.png" />
</Frame>

<div id="resource-app-setup">
  ## Resource App のセットアップ
</div>

Resource App をセットアップするには、次の作業を行います。

* [Auth0 で API を作成する](#create-the-api-in-auth0)
* [Auth0 で Resource App を作成する](#create-the-resource-app-in-auth0)
* [Okta に Resource App を登録する](#register-the-resource-app-in-okta)

<div id="create-the-api-in-auth0">
  ### Auth0 で API を作成する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  すでにカスタム API を Auth0 テナントに作成済みの場合は、このセクションはスキップできます。
</Callout>

Auth0 Dashboard で、Auth0 テナント内の SaaS API を表す[カスタム API を登録](/docs/ja-JP/get-started/auth0-overview/set-up-apis)します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_register_api.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=ad38118480ffae20e29677ea8ca7bac2" alt="" width="500" height="602" data-path="docs/images/xaa/xaa_register_api.png" />
</Frame>

API を作成したら、[Tenant Settings](/docs/ja-JP/get-started/tenant-settings) で、その API のオーディエンスを Auth0 テナントの **Default Audience** として設定することもできます。

また、[API Access Policies for Applications](/docs/ja-JP/get-started/apis/api-access-policies-for-applications) を使用して、どのアプリケーションにどのスコープで API へのアクセスを許可するかを細かく制御できます。

<div id="create-the-resource-app-in-auth0">
  ### Auth0 で Resource App を作成する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 テナントに、SaaS アプリケーションへのログインに使用できるアプリケーションがすでに 1 つ以上作成済みであれば、このセクションはスキップできます。
</Callout>

Auth0 Dashboard で [アプリケーションを作成](/docs/ja-JP/get-started/auth0-overview/create-applications)します。一般的な Web アプリ、SPA、またはネイティブ アプリなど、エンドユーザーが SaaS アプリケーションの機能にアクセスするための主要なインターフェースとなるものを作成します。

<div id="register-the-resource-app-in-okta">
  ### Okta に Resource App を登録する
</div>

SaaS アプリケーションを有効な Resource App として扱うには、Okta Integration Network (OIN) に登録する必要があります。

SaaS アプリケーションを Okta で Resource App として登録するには、次の 2 つの方法があります。

* 簡単なテスト用セットアップには、すでに OIN に登録されている Todo0 アプリケーションを使用することを推奨します。Okta 管理コンソールで **Applications > Applications > Browse App Catalog** に移動し、`Todo0` を検索します。選択して連携を追加します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_browse_todo0_in_oin.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=5b49fc5937efd79eec6f34e49497856a" alt="" width="1370" height="636" data-path="docs/images/xaa/xaa_browse_todo0_in_oin.png" />
</Frame>

* また、Okta テナントから OIN への新しいアプリケーションの登録を申請することもできます。詳細については、[SSO および SCIM 統合の申請プロセス](https://developer.okta.com/docs/guides/submit-app-overview/#submission-process-for-sso-and-scim-integrations) を参照してください。登録プロセスを迅速化するには、Auth0 または Okta の担当者にお問い合わせください。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  本番環境では、エンタープライズ顧客は IdP のセットアップ時に OIN カタログからあなたの SaaS アプリケーションをインストールします。
</Callout>

さらに、Resource App に関連付けられている Auth0 テナントの issuer URL を Okta に提供する必要があります。Requesting App は、この issuer URL を使用して Resource App への接続をリクエストします。詳細については、[Test the end-to-end XAA flow](/docs/ja-JP/secure/call-apis-on-users-behalf/xaa/test-xaa-flow) を参照してください。

<div id="requesting-app-setup">
  ## Requesting App のセットアップ
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  本番環境では、各 Requesting App を一度構成すれば、Resource App との接続が有効になります。
</Callout>

Requesting App をセットアップするには、次の作業が必要です。

* [Auth0 で Requesting App を作成する](#create-the-requesting-app-in-auth0)
* [Okta に Requesting App を登録する](#register-the-requesting-app-in-okta)

<div id="create-the-requesting-app-in-auth0">
  ### Auth0 で Requesting App を作成する
</div>

エンドツーエンドの環境をテストするには、Requesting App として動作するアプリケーションを作成して登録します。アプリケーションは、Web アプリケーションのようにクライアントシークレットを保存できる機密クライアントである必要があります。

Auth0 テナント内で Requesting App を表す[アプリケーションを作成する](/docs/ja-JP/get-started/auth0-overview/create-applications)には、次のようにします。

* **Applications > Applications** に移動し、**Create Application** を選択します。
* 名前を入力し、**Regular Web Application** を選択します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_create_regular_web_app.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=9a7891637d0c79888cc2a2636c7972ff" alt="" width="992" height="876" data-path="docs/images/xaa/xaa_create_regular_web_app.png" />
</Frame>

* アプリケーションを作成したら、**Settings** までスクロールし、**Cross App Access** のトグルを有効にします。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/allow_xaa_auth0_app.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=992a4c084cba09aa49dadadd00e22e6d" alt="" width="1364" height="278" data-path="docs/images/xaa/allow_xaa_auth0_app.png" />
</Frame>

アプリケーションを作成して構成したら、Okta にアプリケーションの `client_id` と Auth0 テナントの issuer URL を渡す必要があります。これにより、`client_id` で識別される Requesting App と、issuer URL で識別される Resource App 間の接続が確立されます。詳細については、[エンドツーエンドの XAA フローをテストする](/docs/ja-JP/secure/call-apis-on-users-behalf/xaa/test-xaa-flow)を参照してください。

<div id="register-the-requesting-app-in-okta">
  ### Okta で Requesting App を登録する
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  本番環境では、Requesting App の開発者が Okta Integration Network (OIN) に Requesting App を登録します。エンタープライズ顧客は、IdP のセットアップ中に OIN カタログから Requesting App をインストールします。
</Callout>

Okta をエンタープライズ IdP として使用する場合、XAA Requesting App として有効と見なされるには、そのアプリケーションを Okta Integration Network (OIN) に登録する必要があります。

Requesting App を Okta に登録するには、次の 2 つの方法があります。

* 簡単なテスト環境をすぐに用意するには、すでに OIN に登録されている Agent0 アプリケーションを使用することを推奨します。Okta Admin Console で **Applications > Applications > Browse App Catalog** に移動し、`Agent0` を検索します。それを選択してインテグレーションを追加します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_select_agent0_in_oin.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=391f30a2da3f4ccb09633a8356aaab08" alt="" width="1368" height="646" data-path="docs/images/xaa/xaa_select_agent0_in_oin.png" />
</Frame>

* OIN に新しいアプリケーションの登録を依頼することもできます。詳細については、[Submission process for SSO and SCIM integrations](https://developer.okta.com/docs/guides/submit-app-overview/#submission-process-for-sso-and-scim-integrations) を参照してください。登録プロセスを迅速化するには、Auth0 または Okta の担当者に連絡してください。

Requesting App は Okta を使ってエンタープライズ従業員を認証するため、Okta でアプリケーションの [sign-on policy](https://help.okta.com/en-us/content/topics/security/policies/policies-home.htm) を構成する必要があります。

1. **Applications > Applications** に移動し、アプリケーション (例: Agent0) を選択します。
2. **Sign On** で **Edit** を選択し、**Redirect URI** フィールドに Requesting App のコールバック URL を追加します。使用するテストアプリケーションに応じて Redirect URI の値を調整します。詳細については、[Test the end-to-end XAA flow](/docs/ja-JP/secure/call-apis-on-users-behalf/xaa/test-xaa-flow) を参照してください。
3. **Save** を選択します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/agent0_sign_on_policy.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=162a839e6a18b53b51e6ccf5bb1aed0d" alt="" width="606" height="861" data-path="docs/images/xaa/agent0_sign_on_policy.png" />
</Frame>

最後に、テストユーザーが Okta 上の Requesting App にログインできるようにします。

Okta Admin Console で:

1. **Applications** に移動し、アプリケーション (例: Agent0) を選択します。
2. **Assign > Assign to People** を選択し、テストユーザーを選択します。
3. **Save** を選択します。

<div id="federate-with-the-enterprise-idp-and-organization-configuration">
  ## エンタープライズ IdP と組織設定のフェデレーション
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  本番環境では、各エンタープライズ顧客ごとに 1 回だけ設定を行い、その顧客を Auth0 テナントとフェデレーションします。Auth0 は今後のバージョンで [Self-Service SSO](/docs/ja-JP/authenticate/enterprise-connections/self-service-SSO) をサポートする予定であり、これにより SSO セットアップの一環として、XAA 設定をエンタープライズ顧客側に委任できるようになります。
</Callout>

Resource App の認可サーバーとして動作する Auth0 テナントを、エンタープライズ顧客の Okta テナントとフェデレーションする必要があります。このフェデレーションにより暗号学的な信頼が確立され、アプリケーションは顧客の IdP から発行される署名付きアサーション（ID-JAGs）を検証して受け入れられるようになります。

Resource App に接続されている複数のエンタープライズ顧客に対するエンドツーエンドの XAA フローをテストするには、このセクションの手順を、Auth0 テナント内の複数の Okta Workforce Enterprise Connection に対して繰り返します。各 Connection は別々の Okta テストテナントにマッピングされ、各テナントが異なるエンタープライズ顧客を表します。

<div id="configure-an-okta-workforce-enterprise-connection">
  ### Okta Workforce Enterprise 接続を構成する
</div>

Resource App の `client_id` と `client_secret` を使用して、Auth0 テナント内に [Okta Workforce Enterprise 接続を作成](/docs/ja-JP/authenticate/identity-providers/enterprise-identity-providers/okta) します。

Okta Workforce Enterprise 接続を作成する際は、**Cross App Access - Resource Application** ロールを有効化します。これにより、その接続に関連付けられたエンタープライズ IdP（アイデンティティプロバイダー）が発行する ID-JAG を Resource App が受け入れられるようになります。この場合は、Okta テナントが該当します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_new_okta_workforce_connection.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=63863ad7bc21b7916591d59c44af20df" alt="" width="683" height="809" data-path="docs/images/xaa/xaa_new_okta_workforce_connection.png" />
</Frame>

Okta Workforce Enterprise 接続を作成したら、接続の設定に表示される Auth0 提供のコールバック URL をコピーします。Resource App のサインオンポリシーを Okta テナントで構成する際に、このコールバック URL が必要になります。

Okta Admin Console で次の操作を行います。

1. **Applications > Applications** に移動し、アプリケーション（例: Todo0）を選択します。
2. **Sign On** 設定で **Edit** を選択し、**Redirect URI** フィールドにコールバック URL を追加します。
3. **Save** を選択します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_advanced_sign_on_settings.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=5161660b8a432a4cd9dc5ce35f3f72d6" alt="" width="1374" height="302" data-path="docs/images/xaa/xaa_advanced_sign_on_settings.png" />
</Frame>

Okta Workforce Enterprise 接続をテストするには、テストユーザーを作成し、そのユーザーに Requesting App へのログイン権限を付与します。

Okta Admin Console で次の操作を行います。

* **Applications** に移動し、アプリケーション（例: Agent0）を選択します。
* **Assign > Assign to People** を選択し、テストユーザーを選択します。
* **Save** を選択します。

Auth0 Dashboard で次の操作を行います。

* **Authentication > Enterprise > Okta Workforce** に移動します。
  * 作成した Okta Workforce Enterprise 接続を選択し、**Applications** タブを開きます。そこで、この接続用に作成した Requesting App を有効化します。
  * Okta Workforce 接続の一覧に戻ります。対象の接続の右側にある三点アイコンを選択し、**Try** を選択します。Okta テナントで認証を行う画面にリダイレクトされるので、テストユーザーでログインしてフローを完了します。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_create_okta_workforce_connection.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=2ec1a0f72f130d65be6868b504b0b03e" alt="" width="1300" height="464" data-path="docs/images/xaa/xaa_create_okta_workforce_connection.png" />
</Frame>

<div id="configure-an-organization">
  ### 組織を設定する
</div>

必要に応じて、エンタープライズ顧客に Organizations を使用させたい場合は、その顧客用の[組織を作成](/docs/ja-JP/manage-users/organizations/configure-organizations/create-organizations)し、その組織に対して [Okta Workforce Enterprise 接続を有効化](/docs/ja-JP/manage-users/organizations/configure-organizations/enable-connections)します。これにより、この接続のスコープ内で XAA を使用して生成されたアクセストークンは、対象ユーザーがその組織のメンバーである場合、自動的に対応する `org_id` に関連付けられます。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_enable_connection.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=f7c56fdc759838c8e7eccaf3fb4e6af9" alt="" width="1316" height="584" data-path="docs/images/xaa/xaa_enable_connection.png" />
</Frame>

また、Requesting App の [Organization の動作](/docs/ja-JP/manage-users/organizations/configure-organizations/define-organization-behavior)を構成して、そのアプリで Organizations の使用を必須にするか、任意とするかを設定できます。まずは **Both** を選択してテストを開始することを推奨します。これにより、ユーザーは組織メンバーとしてログインすることも、個人アカウントでサインアップすることもできます。

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/78hG6sVmUVcUqk59/docs/images/xaa/xaa_organizations_both.png?fit=max&auto=format&n=78hG6sVmUVcUqk59&q=85&s=af7368417ef0f46c8f39a82f17ce228f" alt="" width="1348" height="1036" data-path="docs/images/xaa/xaa_organizations_both.png" />
</Frame>
