Microsoft Entra アプリケーション プロキシ内の複雑なアプリケーションを理解する

アプリケーションは、多くの場合、複数の個別 Web アプリケーションで構成されます。 このような状況では、URL に異なる複数のドメイン サフィックスや異なる複数のポートまたはパスが使用されます。 個々の Web アプリケーション インスタンスは、個別の Microsoft Entra アプリケーション プロキシ アプリで発行する必要があります。 このような状況では、次の問題が発生する可能性があります。

  • 事前認証: クライアントは、Microsoft Entra アプリケーション プロキシ アプリごとにアクセス トークンまたは Cookie を個別に取得する必要があります。 複数の取得により、microsoftonline.com へのサインイン時のリダイレクトが増えます。
  • クロスオリジン リソース共有 (CORS):OPTIONS メソッドを使用した CORS 呼び出しは、呼び出し元 Web アプリとターゲット Web アプリの間の URL に対するアクセスを検証するために使用されます。 Microsoft Entra アプリケーション プロキシ クラウド サービスは、これらの呼び出しをブロックします。 ブロックが発生するのは、要求に認証情報を含めることができないためです。
  • アプリ管理が不十分: プライベート アプリへのアクセスを可能にするために複数のエンタープライズ アプリが作成され、アプリ管理エクスペリエンスに摩擦が加わります。

次の図は、複雑なアプリケーション ドメイン構造の例を示しています。

Diagram of domain structure for a complex application showing resource sharing between primary and secondary application.

Microsoft Entra アプリケーション プロキシでは、さまざまなドメインにまたがる複数の URL で構成される複雑なアプリケーション発行を使用して、この問題に対処できます。

Diagram of a Complex application with multiple application segments definition.

複雑なアプリには複数のアプリ セグメントがあります。 各アプリ セグメントには、内部 URL と外部 URL があります。 1 つの条件付きアクセス ポリシーがアプリに関連付けられています。 外部 URL へのアクセスには、同じ一連のポリシーによる事前認証を使用できます。 これらのポリシーは、すべてのアプリ セグメントに適用されます。

複雑なアプリには、いくつかの利点があります。

  • ユーザー認証
  • CORS の問題の軽減
  • 内部 URL での異なるドメイン サフィックスや異なるポートまたはパスへのアクセス

この記事では、ご利用の環境でワイルドカード アプリケーションの発行を構成する方法について説明します。

複雑なアプリケーションのアプリケーション セグメントの特性。

  • アプリケーション セグメントは、ワイルドカード アプリケーションに対してのみ構成されます。
  • 外部 URL と代替 URL は、それぞれアプリケーションのワイルドカード外部 URL ドメインと代替 URL ドメインに一致する必要があります。
  • アプリケーション セグメント URL (内部と外部) は、複雑なアプリケーション間で一意性を維持する必要があります。
  • CORS ルール (省略可能) は、アプリケーション セグメントごとに構成できます。
  • アクセスは、複雑なアプリケーションの定義されたアプリケーション セグメントにのみ付与されます。

    Note

    すべてのアプリケーション セグメントが削除された場合、複雑なアプリケーションは、指定されたドメインによってすべての有効な URL へのアクセスを開くワイルドカード アプリケーションとして動作します。

  • 内部 URL は、アプリケーション セグメントと通常のアプリケーションの両方として定義できます。

    Note

    通常のアプリケーションは、複雑なアプリ (ワイルドカード アプリケーション) よりも常に優先されます。

前提条件

複雑なアプリケーションのアプリケーション セグメントを構成します。

Note

Microsoft Entra ID P1 or P2 サブスクリプションでは、複雑な分散型アプリケーションごとに 2 つのアプリケーション セグメントがサポートされています。

アプリケーション セグメントを使用して、アプリケーション プロキシを介して複雑な分散アプリを発行するには:

  1. ワイルドカード アプリケーションを作成します。

  2. アプリケーション プロキシの基本設定ページで、[アプリケーション セグメントの追加] を選択します。

    Screenshot of link to add an application segment.

  3. アプリケーション セグメントの管理と構成のページで、[+ アプリ セグメントの追加] を選択します。

    Screenshot of Manage and configure application segment page.

  4. 内部 URL を 入力します

  5. [外部 URL] ドロップダウン リストからカスタム ドメインを選択します。

  6. CORS ルールを追加します (省略可能)。 詳細については、「CORS ルールの構成」を参照してください。

  7. [作成] を選択します

    Screenshot of add or edit application segment context plane.

  8. アプリケーションにユーザーを割り当てます。

アプリケーション セグメントを編集または更新するには、アプリケーション セグメントの管理と構成のページの一覧からそれぞれのアプリケーション セグメントを選択します。 必要に応じて、更新されたドメインの証明書をアップロードし、ドメイン ネーム システム (DNS) レコードを更新します。

シングル サインオン (SSO) の構成

Note

統合 Windows 認証 (IWA) シングル サインオンでは、ワイルドカード SPN の使用はサポートされていません。 たとえば、http/*.contoso.com のようなワイルドカードでは、すべてのセグメントに対して http/app.contoso.com のような単一の構成済み SPN が使用されます。

DNS の更新

カスタム ドメインを使用する場合は、外部 URL の CNAME レコードを含む DNS エントリを作成します。 たとえば、*.adventure-works.com がアプリケーション プロキシ エンドポイントの外部 URL を指すようにします。 ワイルドカード アプリケーションでは、CNAME レコードが関連する外部 URL を指すようにします: <yourAADTenantId>.tenant.runtime.msappproxy.net

または、個々のアプリケーション セグメントごとに CNAME レコードを含む専用 DNS エントリを次のように作成できます。

External URL of the application segment > <yourAADTenantId>.tenant.runtime.msappproxy.net

さらに、同じ DNS ゾーンにアプリケーション ID の CNAME レコードを追加する必要があります。

<yourAppId> > <yourAADTenantId>.tenant.runtime.msappproxy.net

複雑なアプリに割り当てられたコネクタ グループが既定のコネクタ グループのリージョンにない場合は、DNS エントリで次のいずれかのドメイン サフィックスを使用する必要があります。

コネクタの割り当て済みリージョン 外部 URL
アジア <yourAADTenantId>.asia.tenant.runtime.msappproxy.net
オーストラリア <yourAADTenantId>.aus.tenant.runtime.msappproxy.net
ヨーロッパ <yourAADTenantId>.eur.tenant.runtime.msappproxy.net
北米 <yourAADTenantId>.nam.tenant.runtime.msappproxy.net

アプリケーション プロキシの詳細な手順については、「チュートリアル: Microsoft Entra ID のアプリケーション プロキシを使用してリモート アクセスするためのオンプレミス アプリケーションを追加する」を参照してください。

次のステップ