Microsoft Entra アプリケーション プロキシを使用したオンプレミス アプリのヘッダーベース シングル サインオン

Microsoft Entra アプリケーション プロキシでは、認証のためにヘッダーを使用するアプリケーションに対するシングル サインオン アクセスがネイティブにサポートされます。 Microsoft Entra ID で、お使いのアプリケーションに必要なヘッダー値を構成できます。 ヘッダー値は、アプリケーション プロキシを介してアプリケーションに送信されます。 以下に、アプリケーション プロキシを使用したヘッダーベースの認証のためにネイティブ サポートを利用することの利点の一部を示します。

  • オンプレミスのアプリへのリモート アクセスの提供が簡素化される - アプリ プロキシを使用すると、既存のリモート アクセス アーキテクチャを簡素化できます。 これらのアプリへの VPN アクセスを置き換えることができます。 オンプレミスの認証用 ID ソリューションへの依存状態も解消できます。 ユーザーは、会社のアプリケーションを使用するためにサインインするときに、何かが違うとは一切気付きません。 ユーザーはいつもどおり、任意のデバイスでどこからでも作業を行うことができます。

  • アプリに対する追加のソフトウェアや変更がない - 既存のアプリケーション プロキシ コネクタを使用でき、追加のソフトウェアをインストールする必要はありません。

  • 使用できる属性と変換の範囲が広い - 使用できるすべてのヘッダー値は、Microsoft Entra ID によって発行される標準の要求に基づいています。 SAML または OIDC アプリケーションの要求を構成するために使用できる属性と変換はすべて、ヘッダー値としても使用できます。

前提条件

ヘッダーベースの認証アプリでのシングル サインオンの使用を開始する前に、実際の環境が以下の設定と構成に対応していることを確認してください。

サポートされる機能

次の表は、アプリケーション プロキシでサポートされるヘッダーベースの認証アプリケーションに必要な一般的な機能を示しています。

要件 説明
フェデレーション SSO 事前認証モードでは、すべてのアプリケーションが Microsoft Entra 認証によって保護され、ユーザーはシングル サインオンを使用できるようになります。
リモート アクセス アプリケーション プロキシを使用すると、アプリへのリモート アクセスが可能になります。 ユーザーは、外部 URL を使用して、インターネットから任意のブラウザーでアプリケーションにアクセスできます。 アプリケーション プロキシは、企業アクセス用途を意図したものではありません。
ヘッダーベースの統合 アプリケーション プロキシでは、Microsoft Entra ID との SSO 統合を行ってから、ID またはその他のアプリケーション データが、HTTP ヘッダーとしてアプリケーションに渡されます。
アプリケーション認証 一般的なポリシーは、アクセスされるアプリケーション、ユーザーのグループ メンバーシップ、その他のポリシーに基づいて指定できます。 Microsoft Entra ID では、ポリシーは条件付きアクセスを使用して実装されます。 アプリケーション認可ポリシーは、最初の認証要求にのみ適用されます。
認証を設定する ポリシーは、たとえば機密性の高いリソースにアクセスするために、追加の認証を強制するように定義できます。
きめ細かな認可 URL レベルでのアクセス制御を提供します。 追加されたポリシーは、アクセス対象の URL に基づいて適用できます。 そのアプリ用に構成される内部 URL では、ポリシーの適用対象となるアプリのスコープを定義します。 最もきめ細かなパスに対して構成されているポリシーが適用されます。

Note

この記事では、アプリケーション プロキシを使用してヘッダーベースの認証アプリケーションを Microsoft Entra ID に接続することをテーマとしており、これがお勧めのパターンです。 別の方法として、Microsoft Entra ID と共に PingAccess を使用してヘッダーベースの認証を有効にする統合パターンもあります。 詳細については、「アプリケーション プロキシと PingAccess を使用したシングル サインオン用のヘッダーベースの認証」を参照してください。

動作方法

How header-based single sign-on works with Application Proxy.

  1. 管理者は、Microsoft Entra 管理センターで、アプリケーションが必要とする属性マッピングをカスタマイズします。
  2. ユーザーがアプリにアクセスすると、アプリケーション プロキシによって、Microsoft Entra ID によるユーザーの認証が確実に行われます
  3. アプリケーション プロキシのクラウド サービスでは、必要とされる属性が認識されます。 そのためサービスでは、認証時に受信した ID トークンから、対応する要求がフェッチされます。 サービスでは次に、コネクタに対する要求の一部として、値が、必要な HTTP ヘッダーに変換されます。
  4. 要求は、その後コネクタに渡されます。それが次に、バックエンド アプリケーションに渡されます。
  5. アプリケーションでは、ヘッダーを受信し、必要に応じてこれらのヘッダーを使用できます。

アプリケーション プロキシを使用してアプリケーションを発行する

  1. アプリケーション プロキシを使用したアプリケーションの発行」で説明されている手順に従って、アプリケーションを発行します。

    • 内部 URL 値によってアプリケーションのスコープが決まります。 アプリケーションのルート パスで内部 URL 値を構成すると、ルートの下にあるすべてのサブ パスが、同じヘッダー構成とその他のアプリケーション構成を受け取ることになります。
    • 新しいアプリケーションを作成し、構成したアプリケーションよりもきめ細かなパスに対して、異なるヘッダー構成またはユーザー割り当てを設定します。 新しいアプリケーションでは、必要な特定のパスを含む内部 URL を構成してから、この URL に必要な特定のヘッダーを構成します。 アプリケーション プロキシでは常に、構成設定が、アプリケーション用に設定された最もきめ細かなパスに一致されます。
  2. 事前認証方法として [Microsoft Entra ID] を選択します。

  3. [ユーザーとグループ] に移動し、適切なユーザーとグループを割り当てることで、テスト ユーザーを割り当てます。

  4. ブラウザーを開き、[アプリケーション プロキシ] 設定から [外部 URL] に移動します。

  5. アプリケーションに接続できることを確認します。 接続できる場合でも、ヘッダーが構成されていないため、まだアプリにはアクセスできません。

Configure single sign-on

ヘッダーベースのアプリケーションのシングル サインオンの使用を開始する前に、アプリケーション プロキシ コネクタを事前にインストールし、コネクタが対象アプリケーションにアクセスできるようにする必要があります。 そうでない場合は、Microsoft Entra アプリケーション プロキシに関するチュートリアルの手順に従った後、この記事に戻ってください。

  1. アプリケーションがエンタープライズ アプリケーションの一覧に表示されたら、それを選択して [シングル サインオン] を選択します。
  2. シングル サインオン モードを [ヘッダーベース] に設定します。
  3. [基本構成] では、Microsoft Entra ID が既定値として選択されます。
  4. [ヘッダー] で、編集の鉛筆を選択して、アプリケーションに送信するヘッダーを構成します。
  5. [新しいヘッダーの追加] を選択します。 ヘッダーの名前を指定し、 [属性] または [変換] のいずれかを選択して、ドロップダウンから、アプリケーションで必要なヘッダーを選択します。
  6. [保存] を選択します。

アプリをテストする

これらの手順すべてを完了すると、アプリが稼働し、使用可能になっているはずです。 アプリをテストするには:

  1. 新しいブラウザーまたはプライベート ブラウザー ウィンドウを開いて、以前にキャッシュされたヘッダーがクリアされていることを確認します。 次に、[アプリケーション プロキシ] 設定から [外部 URL] に移動します。
  2. サインインには、アプリに割り当てたテスト アカウントを使用します。 SSO を使用してアプリケーションの読み込みとサインインが可能な場合は、正しくできています。

考慮事項

  • アプリケーション プロキシは、オンプレミスまたはプライベート クラウド上のアプリへのリモート アクセスを提供するために使用されます。 アプリケーション プロキシは、企業ネットワークから内部向けに送信されるトラフィックを処理するためには推奨されません。
  • ヘッダーベースの認証アプリケーションへのアクセスは、コネクタまたはその他の許可されたヘッダーベースの認証ソリューションからのトラフィックのみに制限する必要があります。 攻撃者への露出を回避するために、通常、これは、ファイアウォールまたはアプリケーション サーバーの IP 制限を使用して、アプリケーションへのネットワーク アクセスを制限することで行います。

次のステップ