チュートリアル:Azure Active Directory のアプリケーション プロキシを使用してリモート アクセスするためのオンプレミス アプリケーションを追加する

Azure Active Directory (Azure AD) のアプリケーション プロキシ サービスを使用すると、ユーザーは Azure AD アカウントでサインインして、オンプレミスのアプリケーションにアクセスできます。 アプリケーション プロキシの詳細については、アプリ プロキシの概要に関する記事をご覧ください。 このチュートリアルでは、アプリケーション プロキシで使用できるように環境を準備します。 環境の準備ができたら、Azure portal を使用して Azure AD テナントにオンプレミス アプリケーションを追加します。

アプリケーション プロキシの概要図

作業を開始する前に、アプリの管理とシングル サインオン (SSO) の概念を理解しておいてください。 次のリンクを参照してください。

コネクタはアプリケーション プロキシの重要な一部です。 コネクタの詳細については、「Azure AD アプリケーション プロキシ コネクタを理解する」を参照してください。

このチュートリアルの内容:

  • アウトバウンド トラフィック用のポートを開き、特定の URL へのアクセスを許可します
  • Windows サーバーにコネクタをインストールし、アプリケーション プロキシに登録します
  • コネクタが正しくインストールおよび登録されていることを確認します
  • Azure AD テナントにオンプレミスのアプリケーションを追加します
  • テスト ユーザーが Azure AD アカウントを使用してアプリケーションにサインオンできることを確認します

前提条件

オンプレミスのアプリケーションを Azure AD に追加するには、次が必要です。

  • Microsoft Azure AD の Premium サブスクリプション
  • アプリケーション管理者アカウント
  • ユーザー ID をオンプレミス ディレクトリから同期するか、Azure AD テナント内に直接作成する必要があります。 ID 同期によって、Azure AD が、アプリケーション プロキシが発行したアプリケーションへのアクセス権をユーザーに付与する前にユーザーを事前に認証でき、シングル サインオン (SSO) を実行するために必要なユーザー ID 情報を得ることができます。

Windows サーバー

アプリケーション プロキシを使用するには、Windows Server 2012 R2 以降を実行している Windows サーバーが必要です。 アプリケーション プロキシ コネクタをサーバーにインストールしてください。 このコネクタ サーバーは、Azure 内のアプリケーション プロキシ サービスと、公開予定のオンプレミス アプリケーションに接続する必要があります。

運用環境を高可用性にするため、複数の Windows サーバーを使用することをお勧めします。 このチュートリアルでは、1 つの Windows サーバーで十分です。

重要

Windows Server 2019 にコネクタをインストールする場合は、Kerberos の制約付き委任が正しく動作するようにするために、WinHttp コンポーネントで HTTP2 プロトコルのサポートを無効にする必要があります。 それよりも前のバージョンのサポート対象オペレーティング システムでは、これが既定で無効になっています。 Windows Server 2019 では、次のレジストリ キーを追加してサーバーを再起動すれば無効になります。 これはマシン レベルのレジストリ キーであることに注意してください。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"EnableDefaultHTTP2"=dword:00000000

キーは、PowerShell で次のコマンドを使用して設定できます。

Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\' -Name EnableDefaultHTTP2 -Value 0

コネクタ サーバーの推奨事項

  1. コネクタとアプリケーション間のパフォーマンスを最適化するため、アプリケーション サーバーと物理的に近い場所にコネクタ サーバーを配置します。 詳細については、「Azure Active Directory アプリケーション プロキシを使用したトラフィック フローの最適化」を参照してください。
  2. コネクタ サーバーと Web アプリケーション サーバーは、同じ Active Directory ドメインに属しているか、または信頼する側のドメインの範囲である必要があります。 統合 Windows 認証 (IWA) および Kerberos 制約付き委任 (KCD) でのシングル サインオン (SSO) を使用するには、サーバーを同じドメインまたは信頼する側のドメインに配置する必要があります。 コネクタ サーバーと Web アプリケーション サーバーが別の Active Directory ドメイン内にある場合は、シングル サインオン用にリソースベースの委任を使用する必要があります。 詳しくは、「KCD for single sign-on with Application Proxy」 (アプリケーション プロキシを使用したシングル サインオンのための KCD) をご覧ください。

警告

Azure AD パスワード保護プロキシをデプロイした場合は、Azure AD アプリケーション プロキシと Azure AD パスワード保護プロキシを同じマシンに一緒にインストールすることは避けてください。 Azure AD アプリケーション プロキシと Azure AD パスワード保護プロキシでは、インストールされる Azure AD Connect Agent Updater サービスのバージョンが異なります。 両者を同じマシンに一緒にインストールした場合、バージョン間の不整合が生じます。

TLS の要件

アプリケーション プロキシ コネクタをインストールするには、Windows コネクタ サーバーで TLS 1.2 が有効になっている必要があります。

TLS 1.2 を有効にするには、次の手順に従います。

  1. 次のレジストリ キーを設定します。

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
    "SchUseStrongCrypto"=dword:00000001
    
  2. サーバーを再起動します。

注意

Microsoft では、異なるルート証明機関 (CA) のセットからの TLS 証明書を使用するように、Azure サービスが更新されています。 この変更は、現在の CA 証明書が CA/ブラウザー フォーラムのベースライン要件の 1 つに準拠していないため行われています。 詳細については、「Azure TLS 証明書の変更」を参照してください。

オンプレミスの環境を準備する

Azure AD アプリケーション プロキシの環境を準備するには、まず Azure データ センターへの通信を有効にします。 パスにファイアウォールがある場合、それが開かれていることを確認します。 ファイアウォールが開かれていることで、コネクタによるアプリケーション プロキシへの HTTPS (TCP) 要求が可能になります。

重要

Azure Government クラウドのコネクタをインストールする場合は、前提条件インストール手順に関する記事に従ってください。 これには、別の URL のセットへのアクセスを有効にし、インストールを実行するための追加のパラメーターが必要です。

ポートを開く

以下の各ポートをアウトバウンド トラフィックに対して開きます。

ポート番号 用途
80 TLS または SSL 証明書の検証時に証明書失効リスト (CRL) をダウンロードする
443 アプリケーション プロキシ サービスとのすべての送信通信

ファイアウォールが送信元ユーザーに応じてトラフィックを処理している場合は、ネットワーク サービスとして実行されている Windows サービスからのトラフィック用にポート 80 と 443 も開きます。

URL へのアクセスを許可する

次の URL へのアクセスを許可します。

URL Port 用途
*.msappproxy.net
*.servicebus.windows.net
443/HTTPS コネクタとアプリケーション プロキシ クラウド サービスの間の通信
crl3.digicert.com
crl4.digicert.com
ocsp.digicert.com
crl.microsoft.com
oneocsp.microsoft.com
ocsp.msocsp.com
80/HTTP コネクタでは、証明書の検証にこれらの URL が使用されます。
login.windows.net
secure.aadcdn.microsoftonline-p.com
*.microsoftonline.com
*.microsoftonline-p.com
*.msauth.net
*.msauthimages.net
*.msecnd.net
*.msftauth.net
*.msftauthimages.net
*.phonefactor.net
enterpriseregistration.windows.net
management.azure.com
policykeyservice.dc.ad.msft.net
ctldl.windowsupdate.com
www.microsoft.com/pkiops
443/HTTPS コネクタでは、登録プロセスの間にこれらの URL が使用されます。
ctldl.windowsupdate.com
www.microsoft.com/pkiops
80/HTTP コネクタでは、登録プロセスの間にこれらの URL が使用されます。

ファイアウォールまたはプロキシでドメインのサフィックスに基づいてアクセス規則を構成できる場合は、上記の *.msappproxy.net*.servicebus.windows.net、およびその他の URL への接続を許可できます。 そうでない場合は、Azure IP ranges and Service Tags - Public Cloud (Azure IP 範囲とサービス タグ - パブリック クラウド) へのアクセスを許可する必要があります。 これらの IP 範囲は毎週更新されます。

重要

Azure AD アプリケーション プロキシ コネクタと Azure AD アプリケーション プロキシ クラウド サービスの間の送信 TLS 通信に対しては、いかなる形式のインライン検査および終了も行わないでください。

Azure AD アプリケーション プロキシ エンドポイントの DNS 名前解決

Azure AD アプリケーション プロキシ エンドポイントのパブリック DNS レコードは、A レコードを指すチェーン CNAME レコードです。 これにより、フォールト トレランスと柔軟性が確保されます。 Azure AD アプリケーション プロキシ コネクタは、ドメイン サフィックス *.msappproxy.net または *.servicebus.windows.net が付いているホスト名に常にアクセスすることが保証されています。 ただし、名前解決の際に、CNAME レコードには、異なるホスト名やサフィックスが付いた DNS レコードが含まれる場合があります。 このため、デバイス (設定に応じて、コネクタ サーバー、ファイアウォール、アウトバウンド プロキシ) がチェーン内のすべてのレコードを解決し、解決された IP アドレスに確実に接続できるようにする必要があります。 チェーン内の DNS レコードは随時変更される可能性があるため、DNS レコードの一覧をご提供することはできません。

コネクタのインストールと登録

アプリケーション プロキシを使用するには、アプリケーション プロキシ サービスで使用している各 Windows サーバーにコネクタをインストールします。 コネクタは、オンプレミスのアプリケーション サーバーから Azure AD のアプリケーション プロキシへのアウトバウンド接続を管理するエージェントです。 コネクタをインストールするサーバーには、Azure AD Connect などの他の認証エージェントがインストールされていてもかまいません。

コネクタをインストールするには:

  1. アプリケーション プロキシを使用するディレクトリのアプリケーション管理者として、Azure portal にサインインします。 たとえば、テナントのドメインが contoso.com の場合、管理者は admin@contoso.com、またはそのドメイン上の他の管理者エイリアスであることが必要です。

  2. 右上隅で自分のユーザー名を選択します。 アプリケーション プロキシを使用するディレクトリにサインインしていることを確認します。 ディレクトリを変更する必要がある場合は、 [ディレクトリの切り替え] を選択し、アプリケーション プロキシを使用するディレクトリを選択します。

  3. 左側のナビゲーション パネルで、 [Azure Active Directory] を選択します。

  4. [管理] で、 [アプリケーション プロキシ] を選択します。

  5. [コネクタ サービスのダウンロード] を選択します。

    コネクタ サービスをダウンロードしてサービス使用条件を表示

  6. サービス利用規約を読みます。 準備ができたら、[規約に同意してダウンロード] を選択します。

  7. ウィンドウの下部で、 [実行] を選択してコネクタをインストールします。 インストール ウィザードが開きます。

  8. ウィザードの指示に従ってサービスをインストールします。 Azure AD テナントのアプリケーション プロキシにコネクタを登録するよう求められたら、アプリケーション管理者の資格情報を提供します。

    • Internet Explorer (IE) では、 [IE セキュリティ強化の構成][オン] に設定されていると、登録画面が表示されないことがあります。 アクセスするには、エラー メッセージに示された指示に従ってください。 [Internet Explorer セキュリティ強化の構成][オフ] に設定されていることを確認します。

一般的な注釈

以前にコネクタをインストールした場合は、再インストールして最新バージョンにします。 過去にリリースされたバージョンと変更履歴については、次を参照してください: アプリケーション プロキシのバージョン リリース履歴

オンプレミス アプリケーション用に複数の Windows サーバーを選択する場合は、サーバーごとにコネクタをインストールして登録する必要があります。 コネクタはコネクタ グループに整理できます。 詳しくは、コネクタ グループに関するページをご覧ください。

異なるリージョンにコネクタをインストールした場合は、各コネクタ グループで使用する、最も近いアプリケーション プロキシ クラウド サービスのリージョンを選択することで、トラフィックを最適化できます。「Azure Active Directory アプリケーション プロキシを使用したトラフィック フローの最適化」を参照してください。

お客様の組織がプロキシ サーバーを使用してインターネットに接続する場合は、それらをアプリケーション プロキシ用に構成する必要があります。 詳しくは、「既存のオンプレミス プロキシ サーバーと連携する」をご覧ください。

コネクタ、能力計画、コネクタを最新の状態に維持する方法については、「Azure AD アプリケーション プロキシ コネクタを理解する」をご覧ください。

コネクタが正しくインストールおよび登録されていることを確認する

Azure portal または Windows サーバーを使用して、新しいコネクタが正しくインストールされていることを確認できます。

Azure portal を介してインストールを確認する

コネクタが正しくインストールおよび登録されていることを確認するには:

  1. Azure portal でお使いのテナント ディレクトリにサインインします。

  2. 左側のナビゲーション パネルで、 [Azure Active Directory] を選択し、 [管理] セクションの [アプリケーション プロキシ] を選択します。 コネクタとコネクタ グループはすべてこのページに表示されます。

  3. 詳細を確認するコネクタを表示します。 コネクタは既定で展開されているはずです。 表示したいコネクタが展開されていない場合、そのコネクタを展開して詳細を表示します。 アクティブな緑色のラベルは、コネクタがサービスに接続できることを示します。 ただし、ラベルが緑色であっても、ネットワークの問題のためにコネクタがメッセージを受信できない可能性があります。

    Azure AD アプリケーション プロキシ コネクタ

コネクタのインストールの詳細については、アプリケーション プロキシ コネクタのインストール時の問題に関するページを参照してください。

Windows サーバーを介してインストールを確認する

コネクタが正しくインストールおよび登録されていることを確認するには:

  1. Windows キーをクリックして「services.msc」と入力し、Windows サービス マネージャーを開きます。

  2. 次の 2 つのサービスの状態が [実行中] であることを確認します。

    • Microsoft AAD アプリケーション プロキシ コネクタにより、接続が有効になります。

    • Microsoft AAD アプリケーション プロキシ コネクタ アップデーターは自動更新サービスです。 アップデーターはコネクタの新しいバージョンをチェックし、必要に応じてコネクタを更新します。

      App Proxy Connector services - screenshot

  3. サービスの状態が [実行中] でない場合は、各サービスを右クリックして選択し、 [開始] を選択します。

オンプレミス アプリを Azure AD に追加する

環境を準備してコネクタをインストールしたので、Azure AD にオンプレミス アプリケーションを追加する準備ができました。

  1. Azure Portal に管理者としてサインインします。

  2. 左側のナビゲーション パネルで、 [Azure Active Directory] を選択します。

  3. [エンタープライズ アプリケーション] を選択し、 [新しいアプリケーション] を選択します。

  4. [オンプレミスのアプリケーションの追加] ボタンを選択します。このボタンは、ページの上から半分のあたりにある [オンプレミスのアプリケーション] セクションに表示されます。 または、ページの上部にある [独自のアプリケーションの作成] を選択し、[オンプレミスのアプリケーションへのセキュリティで保護されたリモート アクセス用のアプリケーション プロキシを作成します] を選択することもできます。

  5. [独自のオンプレミスのアプリケーションの追加] セクションで、自分のアプリケーションについて次の情報を指定します。

    フィールド 説明
    名前 [マイ アプリ] および Azure portal に表示されるアプリケーションの名前。
    内部 URL プライベート ネットワークの内部からアプリケーションにアクセスするための URL。 バックエンド サーバー上の特定のパスを指定して発行できます。この場合、サーバーのそれ以外のパスは発行されません。 この方法では、同じサーバー上の複数のサイトを別々のアプリとして発行し、それぞれに独自の名前とアクセス規則を付与することができます。

    パスを発行する場合は、アプリケーションに必要な画像、スクリプト、スタイル シートが、すべてそのパスに含まれていることを確認してください。 たとえば、アプリが https://yourapp/app にあり、 https://yourapp/media にあるイメージを使用している場合、 https://yourapp/ をパスとして発行する必要があります。 この内部 URL は、ユーザーに表示されるランディング ページである必要はありません。 詳細については、「発行されたアプリのカスタム ホーム ページを設定する」を参照してください。
    外部 URL ユーザーがネットワークの外部からアプリにアクセスするためのアドレス。 既定のアプリケーション プロキシ ドメインを使用しない場合は、Azure AD アプリケーション プロキシのカスタム ドメインに関する記事を参照してください。
    事前認証 ユーザーにアプリケーションへのアクセス権を付与する前にアプリケーション プロキシがユーザーを認証する方法。

    Azure Active Directory - アプリケーション プロキシによってユーザーが Azure AD のサインイン ページにリダイレクトされます。これにより、ディレクトリとアプリケーションに対するユーザーのアクセス許可が認証されます。 このオプションは、条件付きアクセスや Multi-Factor Authentication など、Azure AD のセキュリティ機能を活用できるように、既定のままにしておくことをお勧めします。 Microsoft Defender for Cloud Apps を使用してアプリケーションを監視するには、Azure Active Directory が必要です。

    パススルー - アプリケーションにアクセスするための Azure AD に対するユーザーの認証は必要ありません。 ただし、バックエンドで認証要件を設定できます。
    コネクタ グループ コネクタは、アプリケーションへのリモート アクセスを処理します。コネクタ グループを使用して、コネクタとアプリをリージョン、ネットワーク、または目的別に整理できます。 まだコネクタ グループを作成していない場合、アプリは [既定] グループに割り当てられます。

    アプリケーションで接続に Websocket を使用する場合は、グループ内のすべてのコネクタがバージョン 1.5.612.0 以降である必要があります。
  6. 必要に応じて、追加設定を構成します。 ほとんどのアプリケーションでは、これらの設定は既定の状態のままにしてください。

    フィールド 説明
    バックエンド アプリケーションのタイムアウト アプリケーションの認証と接続に時間がかかる場合のみ、この値を [遅い] に設定します。 既定では、バックエンド アプリケーションのタイムアウトは 85 秒です。 [Long](長) に設定すると、バックエンドのタイムアウトは 180 秒に増加します。
    HTTP 専用 Cookie を使用する アプリケーション プロキシ Cookie に HTTP 応答ヘッダーの HTTPOnly フラグを含めるには、この値を [はい] に設定します。 リモート デスクトップ サービスを使用している場合は、この値を [いいえ] に設定します。
    セキュリティで保護された Cookie を使用します 暗号化された HTTPS 要求などのセキュリティ保護されたチャネル経由で Cookie を送信するために、この値を [はい] に設定します。
    永続 Cookie を使用 この値は、 [いいえ] のままにしておきます。 この設定は、プロセス間で Cookie を共有できないアプリケーションにのみ使用してください。 Cookie の設定の詳細については、「Azure Active Directory でオンプレミスのアプリケーションにアクセスするための Cookie 設定」を参照してください。
    ヘッダーの URL を変換する 認証要求でアプリケーションの元のホスト ヘッダーが必要でない場合を除き、この値は [はい] のままにします。
    Translate URLs in Application Body (アプリケーションの本文内の URL を変換する) 他のオンプレミス アプリケーションへのハードコーディングされた HTML リンクがあり、カスタム ドメインを使用しない場合を除き、この値は [いいえ] のままにします。 詳細については、Azure AD アプリケーション プロキシを使用したリンクの変換に関する記事を参照してください。

    このアプリケーションを Microsoft Defender for Cloud Apps を使用して監視する場合は、この値を [はい] に設定します。 詳細については、「Microsoft Defender for Cloud Apps と Azure Active Directory を使用してリアルタイムでのアプリケーション アクセスの監視を構成する」を参照してください。
  7. [追加] を選択します。

アプリケーションをテストする

アプリケーションが正しく追加されることをテストする準備ができました。 次の手順で、アプリケーションにユーザー アカウントを追加し、サインインしてみます。

テスト用のユーザーを追加する

アプリケーションにユーザーを追加する前に、企業ネットワーク内からアプリケーションにアクセスするためのアクセス許可がユーザー アカウントに既にあることを確認します。

テスト ユーザーを追加するには:

  1. [エンタープライズ アプリケーション] を選択し、テストしたいアプリケーションを選択します。
  2. [はじめに] を選択し、次に [テスト用のユーザーを割り当てる] を選択します。
  3. [ユーザーとグループ] で、 [ユーザーの追加] を選択します。
  4. [割り当ての追加] で、 [ユーザーとグループ] を選択します。 [ユーザーとグループ] セクションが表示されます。
  5. 追加したいアカウントを選択します。
  6. [選択] を選択し、 [割り当て] を選択します。

サインオンをテストする

アプリケーションへのサインオンをテストするには:

  1. テストするアプリケーションから [アプリケーション プロキシ] を選択します。
  2. ページの上部にある [アプリケーションをテストする] を選択してアプリケーションのテストを実行し、構成の問題がないか確認します。
  3. 最初にアプリケーションを起動して、アプリケーションへのサインインをテストし、その後、診断レポートをダウンロードして、問題が検出されれば、その解決のガイダンスを確認します。

トラブルシューティングについては、「アプリケーション プロキシの問題とエラー メッセージのトラブルシューティング」をご覧ください。

リソースをクリーンアップする

このチュートリアルで作成したリソースは、不要になったら削除してください。

次のステップ

このチュートリアルでは、オンプレミス環境をアプリケーション プロキシで動作するように準備した後、アプリケーション プロキシ コネクタをインストールして登録しました。 次に、Azure AD テナントにアプリケーションを追加しました。 ユーザーが Azure AD アカウントを使用してアプリケーションにサインオンできることを確認しました。

以下のことを行いました。

  • アウトバウンド トラフィック用のポートを開き、特定の URL へのアクセスを許可しした
  • Windows サーバーにコネクタをインストールし、アプリケーション プロキシに登録しました
  • コネクタが正しくインストールおよび登録されていることを確認しました
  • Azure AD テナントにオンプレミスのアプリケーションを追加しました
  • テスト ユーザーが Azure AD アカウントを使用してアプリケーションにサインオンできることを確認しました

シングル サインオン用にアプリケーションを構成する準備が整いました。 次のリンクを使用してシングル サインオンの方法を選択し、シングル サインオンのチュートリアルを見つけてください。