Microsoft Entra アプリケーション プロキシ内の複雑なアプリケーションを理解する
アプリケーションは、多くの場合、複数の個別 Web アプリケーションで構成されます。 このような状況では、URL に異なる複数のドメイン サフィックスや異なる複数のポートまたはパスが使用されます。 個々の Web アプリケーション インスタンスは、個別の Microsoft Entra アプリケーション プロキシ アプリで発行する必要があります。 このような状況では、次の問題が発生する可能性があります。
- 事前認証: クライアントは、Microsoft Entra アプリケーション プロキシ アプリごとにアクセス トークンまたは Cookie を個別に取得する必要があります。 複数の取得により、
microsoftonline.com
へのサインイン時のリダイレクトが増えます。 - クロスオリジン リソース共有 (CORS):
OPTIONS
メソッドを使用した CORS 呼び出しは、呼び出し元 Web アプリとターゲット Web アプリの間の URL に対するアクセスを検証するために使用されます。 Microsoft Entra アプリケーション プロキシ クラウド サービスは、これらの呼び出しをブロックします。 ブロックが発生するのは、要求に認証情報を含めることができないためです。 - アプリ管理が不十分: プライベート アプリへのアクセスを可能にするために複数のエンタープライズ アプリが作成され、アプリ管理エクスペリエンスに摩擦が加わります。
次の図は、複雑なアプリケーション ドメイン構造の例を示しています。
Microsoft Entra アプリケーション プロキシでは、さまざまなドメインにまたがる複数の URL で構成される複雑なアプリケーション発行を使用して、この問題に対処できます。
複雑なアプリには複数のアプリ セグメントがあります。 各アプリ セグメントには、内部 URL と外部 URL があります。 1 つの条件付きアクセス ポリシーがアプリに関連付けられています。 外部 URL へのアクセスには、同じ一連のポリシーによる事前認証を使用できます。 これらのポリシーは、すべてのアプリ セグメントに適用されます。
複雑なアプリには、いくつかの利点があります。
- ユーザー認証
- CORS の問題の軽減
- 内部 URL での異なるドメイン サフィックスや異なるポートまたはパスへのアクセス
この記事では、ご利用の環境でワイルドカード アプリケーションの発行を構成する方法について説明します。
複雑なアプリケーションのアプリケーション セグメントの特性。
- アプリケーション セグメントは、ワイルドカード アプリケーションに対してのみ構成されます。
- 外部 URL と代替 URL は、それぞれアプリケーションのワイルドカード外部 URL ドメインと代替 URL ドメインに一致する必要があります。
- アプリケーション セグメント URL (内部と外部) は、複雑なアプリケーション間で一意性を維持する必要があります。
- CORS ルール (省略可能) は、アプリケーション セグメントごとに構成できます。
- アクセスは、複雑なアプリケーションの定義されたアプリケーション セグメントにのみ付与されます。
Note
すべてのアプリケーション セグメントが削除された場合、複雑なアプリケーションは、指定されたドメインによってすべての有効な URL へのアクセスを開くワイルドカード アプリケーションとして動作します。
- 内部 URL は、アプリケーション セグメントと通常のアプリケーションの両方として定義できます。
Note
通常のアプリケーションは、複雑なアプリ (ワイルドカード アプリケーション) よりも常に優先されます。
前提条件
- アプリケーション プロキシを有効にして、アプリケーションと通信できるコネクタをインストールします。 オンプレミス環境を準備し、コネクタのインストールと登録を行い、コネクタをテストする方法については、チュートリアル「アプリケーション プロキシを使用したリモート アクセスを行うためのオンプレス アプリケーションを追加する」を参照してください。
複雑なアプリケーションのアプリケーション セグメントを構成します。
Note
Microsoft Entra ID P1 or P2 サブスクリプションでは、複雑な分散型アプリケーションごとに 2 つのアプリケーション セグメントがサポートされています。
アプリケーション セグメントを使用して、アプリケーション プロキシを介して複雑な分散アプリを発行するには:
アプリケーション プロキシの基本設定ページで、[アプリケーション セグメントの追加] を選択します。
アプリケーション セグメントの管理と構成のページで、[+ アプリ セグメントの追加] を選択します。
内部 URL を 入力します。
[外部 URL] ドロップダウン リストからカスタム ドメインを選択します。
CORS ルールを追加します (省略可能)。 詳細については、「CORS ルールの構成」を参照してください。
[作成] を選択します
アプリケーションにユーザーを割り当てます。
アプリケーション セグメントを編集または更新するには、アプリケーション セグメントの管理と構成のページの一覧からそれぞれのアプリケーション セグメントを選択します。 必要に応じて、更新されたドメインの証明書をアップロードし、ドメイン ネーム システム (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 のアプリケーション プロキシを使用してリモート アクセスするためのオンプレミス アプリケーションを追加する」を参照してください。