フェデレーテッド認証サービス Azure AD 統合
はじめに
このドキュメントでは、Citrix®環境をWindows 10 Azure AD機能と統合する方法について説明します。
Windows 10ではAzure ADが導入されました。これは、管理とシングルサインオンを目的として、ローミング中のラップトップをインターネット経由で企業ドメインに参加させることができる新しいドメイン参加モデルです。
このドキュメントの展開例では、IT部門が新規ユーザーに企業メールアドレスと、個人のWindows 10ラップトップ用の登録コードを提供するシステムについて説明しています。ユーザーは、設定パネルのシステム > バージョン情報 > Azure ADに参加オプションからこのコードにアクセスします。

ラップトップが登録されると、Microsoft Edge Webブラウザーは、Azure SaaSアプリケーションのWebページを介して、会社のWebサイトおよびCitrix公開アプリケーションに自動的にサインオンします。これには、Office 365などの他のAzureアプリケーションも含まれます。

アーキテクチャ
このアーキテクチャは、従来の企業ネットワークをAzure内に完全に複製し、Azure ADやOffice 365などの最新のクラウドテクノロジーと統合します。エンドユーザーはすべてリモートワーカーと見なされ、オフィスイントラネット上にいるという概念はありません。
このモデルは、既存のオンプレミスシステムを持つ企業にも適用できます。Azure AD Connect同期はインターネット経由でAzureにブリッジできるためです。

このアーキテクチャでは、従来ファイアウォールで保護されたLANとKerberos/NTLM認証であったセキュアな接続とシングルサインオンが、AzureへのTLS接続とSAMLに置き換えられます。新しいサービスは、Azure ADに参加するAzureアプリケーションとして構築されます。Active Directoryを必要とする既存のアプリケーション(SQL Serverデータベースなど)は、Azure Cloud ServiceのIAAS部分で標準のActive Directory Server VMを使用して実行できます。
ユーザーが従来のアプリケーションを起動すると、XenAppおよびXenDesktop®公開アプリケーションを使用してアクセスされます。さまざまな種類のアプリケーションは、Microsoft Edgeのシングルサインオン機能を使用して、ユーザーのAzure Applicationsページを通じて照合されます。Microsoftは、Azureアプリケーションを列挙して起動できるAndroidおよびiOSアプリも提供しています。
DNSゾーンを作成する
Azure ADは、管理者がパブリックDNSアドレスを登録し、ドメイン名サフィックスの委任ゾーンを制御することを要求します。これを行うには、管理者はAzure DNSゾーン機能を使用できます。
この例では、DNSゾーン名「citrixsamldemo.net」を使用します。

コンソールには、Azure DNSネームサーバーの名前が表示されます。これらは、ゾーンのDNSレジストラのNSエントリで参照される必要があります(例:citrixsamldemo.net. NS n1-01.azure-dns.com)。
Azureで実行されているVMへの参照を追加する場合、VMのAzure管理DNSレコードへのCNAMEポインターを使用するのが最も簡単です。VMのIPアドレスが変更されても、DNSゾーンファイルを手動で更新する必要はありません。
この展開では、内部と外部の両方のDNSアドレスサフィックスが一致します。ドメインはcitrixsamldemo.netで、スプリットDNS(内部的には10.0.0.*)を使用します。
Web Application Proxyサーバーを参照する「fs.citrixsamldemo.net」エントリを追加します。これは、このゾーンのフェデレーションサービスです。
クラウドサービスを作成する
この例では、Azureで実行されているADFSサーバーを含むAD環境を含むCitrix環境を構成します。「citrixsamldemo」という名前のクラウドサービスが作成されます。

Windows仮想マシンを作成する
クラウドサービスで実行されている5つのWindows VMを作成します。
- ドメインコントローラー (domaincontrol)
- アジュール コネクト ADFSサーバー (adfs)
- ADFS Webアクセスプロキシ (Webアプリケーションプロキシ、ドメイン参加なし)
- シトリックス XenDesktop デリバリーコントローラー™ (ddc)
- Citrix XenDesktop バーチャルデリバリーエージェント (vda)

ドメインコントローラー
- 標準的なActive Directory展開(この例ではcitrixsamldemo.net)を作成するために、DNSサーバーとActive Directoryドメインサービスの役割を追加します。ドメイン昇格が完了したら、Active Directory証明書サービスの役割を追加します。
- テスト用の通常のユーザーアカウント(例: George@citrixsamldemo.net)を作成します。
- このサーバーは内部DNSを実行するため、すべてのサーバーはDNS解決のためにこのサーバーを参照する必要があります。これはAzure DNS設定ページから行うことができます。(詳細については、このドキュメントの付録を参照してください。)
ADFSコントローラーとWebアプリケーションプロキシサーバー
- ADFSサーバーをcitrixsamldemoドメインに参加させます。Webアプリケーションプロキシサーバーは分離されたワークグループに留まる必要があるため、AD DNSにDNSアドレスを手動で登録します。
- AzureAD Connectツールからのファイアウォールを介したPSリモート処理を許可するために、これらのサーバーでEnable-PSRemoting –Forceコマンドレットを実行します。
XenDesktop デリバリーコントローラーとVDA
- citrixsamldemoに参加している残りの2台のWindowsサーバーに、XenApp®またはXenDesktop デリバリーコントローラーとVDAをインストールします。
内部DNSの構成
ドメインコントローラーのインストール後、DNSサーバーを構成して、citrixsamldemo.netの内部ビューを処理し、外部DNSサーバー(例: 8.8.8.8)へのフォワーダーとして機能させます。

以下の静的レコードを追加します。
- wap.citrixsamldemo.net [Web アプリケーションプロキシ VM はドメインに参加しません]
- fs.citrixsamldemo.net [内部フェデレーションサーバーアドレス]
- enterpriseregistration.citrixsaml.net [same as fs.citrixsamldemo.net]
Azure で実行されているすべての VM は、この DNS サーバーのみを使用するように構成する必要があります。これは、ネットワークインターフェイスの GUI を介して行うことができます。

デフォルトでは、内部 IP (10.0.0.9) アドレスは動的に割り当てられます。IP アドレス設定を使用して、IP アドレスを永続的に割り当てることができます。これは、Web Application Proxy サーバーとドメインコントローラーに対して行う必要があります。
外部 DNS アドレスを構成する
VM が実行されている場合、Azure は VM に割り当てられた現在のパブリック IP アドレスを指す独自の DNS ゾーンサーバーを維持します。これは、Azure がデフォルトで各 VM の起動時に IP アドレスを割り当てるため、有効にするのに便利な機能です。

This example assigns a DNS address of domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com to the domain controller.
リモート構成が完了すると、Web Application Proxy と NetScaler® VM のみがパブリック IP アドレスを有効にする必要があることに注意してください。(構成中、パブリック IP アドレスは環境への RDP アクセスに使用されます)。
セキュリティグループを構成する
Azure クラウドは、セキュリティグループを使用して、インターネットから VM への TCP/UDP アクセスに対するファイアウォールルールを管理します。デフォルトでは、すべての VM で RDP アクセスが許可されています。NetScaler および Web Application Proxy サーバーもポート 443 で TLS を許可する必要があります。

ADFS証明書を作成する
Microsoft証明機関 (CA) でWebサーバー証明書テンプレートを有効にします。これにより、カスタムDNSアドレスを持つ証明書を作成し、pfxファイルにエクスポート(秘密キーを含む)できるようになります。この証明書はADFSサーバーとWebアプリケーションプロキシサーバーの両方にインストールする必要があるため、PFXファイルが推奨されるオプションです。
以下のサブジェクト名でWebサーバー証明書を発行します。
- コモンネーム:
- adfs.citrixsamldemo.net [name of computer]
- サブジェクト代替名:
- *.citrixsamldemo.net [name of zone]
- fs.citrixsamldemo. net [entry in DNS]
- enterpriseregistration.citrixsamldemo.net

証明書をパスワードで保護された秘密キーを含めてpfxファイルにエクスポートします。
Azure ADをセットアップする
このセクションでは、新しいAzure ADインスタンスをセットアップし、Windows 10をAzure ADに参加させるために使用できるユーザーIDを作成するプロセスについて詳しく説明します。
新しいディレクトリを作成する
クラシックAzureポータルにログオンし、新しいディレクトリを作成します。
「ローカライズされた画像」(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-setup-azure-createdir.png)
完了すると、概要ページが表示されます。
「ローカライズされた画像」(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-setup-azure-summarypage.png)
グローバル管理者ユーザー (AzureAdmin) を作成する
Azure でグローバル管理者を作成し (この例では、AzureAdmin@citrixsamldemo.onmicrosoft.com)、新しいアカウントでログオンしてパスワードを設定します。
「ローカライズされた画像」(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-setup-azure-userprofile.png)
Azure AD にドメインを登録する
既定では、ユーザーは次の形式のメールアドレスで識別されます: <user.name>@<company>.onmicrosoft.com.
これでも追加の構成なしで機能しますが、標準形式のメールアドレスの方が望ましく、ユーザーのメールアカウントと一致するものが好ましいです: <user.name>@<company>.com
ドメインの追加アクションは、実際の会社のドメインからのリダイレクトを構成します。この例では、citrixsamldemo.net を使用しています。
シングルサインオンのためにADFSをセットアップしている場合は、チェックボックスを有効にします。
「ローカライズされた画像」(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-setup-azure-adddomain.png)
アジュール AD コネクト をインストールする
Azure AD 構成 GUI の手順 2 は、Azure AD Connect の Microsoft ダウンロードページにリダイレクトされます。これを ADFS VM にインストールします。ADFS オプションを利用できるように、簡易設定ではなくカスタムインストールを使用してください。
「ローカライズされた画像」(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-setup-azure-installcomps.png)
「AD FS とのフェデレーション シングルサインオン」オプションを選択します。

以前作成した管理者アカウントで Azure に接続します。

内部 AD フォレストを選択します。

すべてのレガシー Active Directory オブジェクトを Azure AD と同期します。

ディレクトリ構造が単純な場合、ログオンするユーザーを識別するために、ユーザー名が十分に一意であることに依存できます。

デフォルトのフィルタリングオプションを受け入れるか、ユーザーとデバイスを特定のグループセットに制限します。

必要に応じて、Azure AD パスワードを Active Directory と同期できます。これは通常、ADFS ベースの認証には必要ありません。

AD FS で使用する証明書 PFX ファイルを選択し、DNS 名として fs.citrixsamldemo.net を指定します。

プロキシサーバーの選択を求められたら、wap.citrixsamldemo.net サーバーのアドレスを入力します。Azure AD Connect が構成できるように、Web Application Proxy サーバーで管理者として Enable-PSRemoting –Force コマンドレットを実行する必要がある場合があります。

注: この手順がリモート PowerShell の信頼性の問題で失敗した場合は、Web Application Proxy サーバーをドメインに参加させてみてください。
ウィザードの残りの手順では、標準の管理者パスワードを使用し、ADFS のサービスアカウントを作成します。その後、Azure AD Connect は DNS ゾーンの所有権を検証するように求めます。

TXT レコードと MX レコードを Azure の DNS アドレスレコードに追加します。

Azure 管理コンソールで [検証] をクリックします。

注: この手順が失敗した場合は、Azure AD Connect を実行する前にドメインを検証できます。
完了すると、外部アドレス fs.citrixsamldemo.net がポート 443 経由で接続されます。

Azure AD 参加を有効にする
ユーザーがメールアドレスを入力して Windows 10 が Azure AD Join を実行できるようにすると、DNS サフィックスを使用して ADFS を指す CNAME DNS レコード (enterpriseregistration.<upnsuffix>) が構築されます。
この例では、そのアドレスはfs.citrixsamldemo.netです。

パブリックCAを使用していない場合は、WindowsがADFSサーバーを信頼するように、ADFSルート証明書がWindows 10コンピューターにインストールされていることを確認してください。以前に生成した標準ユーザーアカウントを使用して、Azure ADドメイン参加を実行します。

UPNは、ADFSドメインコントローラーによって認識されるUPNと一致する必要があることに注意してください。



マシンを再起動し、ユーザーのメールアドレスを使用してログオンすることで、Azure AD参加が成功したことを確認します。ログオンしたら、Microsoft Edgeを起動し、https://myapps.microsoft.comに接続します。Webサイトは自動的にシングルサインオンを使用するはずです。
XenAppまたはXenDesktopをインストールする
通常の方法で、XenAppまたはXenDesktopのISOから直接、AzureにDelivery ControllerおよびVDA仮想マシンをインストールできます。
この例では、StoreFrontはDelivery Controllerと同じサーバーにインストールされています。VDAは、Machine Creation Servicesと統合せずに(オプションで構成可能ですが)、スタンドアロンのWindows 2012 R2 RDSワーカーとしてインストールされます。続行する前に、ユーザーGeorge@citrixsamldemo.netがパスワードで認証できることを確認してください。

コントローラー上で、Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true PowerShell コマンドレットを実行してください。これにより、StoreFront™ はユーザーの資格情報を使用することなく認証できるようになります。
フェデレーション認証サービスをインストールする
ADFSサーバーにフェデレーション認証サービス (FAS) コンポーネントをインストールし、Controllerが信頼されたStoreFrontとして機能するようにルールを構成します。
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-install-fas.png)
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-config-fas.png)
ストアフロントを構成する
Delivery Controllerのコンピューター証明書を要求し、ポート443のIISバインディングを設定し、StoreFrontのベースアドレスをhttps:に変更することで、IISとStoreFrontがHTTPSを使用するように構成します。
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-config-sf.png)
StoreFrontがFASサーバーを使用するように構成します (Federated Authentication Serviceの記事にあるPowerShellスクリプトを使用します)。そしてAzure内で内部的にテストし、FASサーバーのイベントビューアーを確認して、ログオンがFASを使用していることを確認します。
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-config-sf-eventviewer.png)
StoreFrontがNetScalerを使用するように構成する
StoreFront管理コンソールで認証方法の管理 GUIを使用して、StoreFrontがNetScalerを使用して認証を実行するように構成します。
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-config-sf-use-ns.png)
NetScaler 認証オプションを統合するには、Secure Ticket Authority (STA) を構成し、NetScaler Gateway アドレスも構成する必要があります。
ローカライズされた画像(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/media/fas-azure-config-sf-use-ns-address.png)
StoreFrontへのシングルサインオン用に新しいAzure ADアプリケーションを構成する
このセクションでは、Azure Active Directory Premiumサブスクリプションを現在必要とするAzure AD SAML 2.0シングルサインオン機能を使用します。Azure AD管理ツールで、新しいアプリケーションを選択し、ギャラリーからアプリケーションを追加を選択します。

「カスタム > 組織が使用している未登録のアプリケーションを追加」を選択して、ユーザー向けの新しいカスタムアプリケーションを作成します。
アイコンの構成
215 x 215ピクセルの画像を作成し、CONFIGUREページにアップロードして、アプリケーションのアイコンとして使用します。
![]()
SAML認証の構成
アプリケーションダッシュボードの概要ページに戻り、「Configure Single sign-on」を選択します。

この展開ではSAML 2.0認証を使用します。これはMicrosoft Azure AD Single Sign-Onに対応します。

Identifierは任意の文字列にすることができます(NetScalerに提供される構成と一致する必要があります)。この例では、Reply URLはNetScalerサーバー上の/cgi/samlauthです。

次のページには、NetScalerをAzure ADへの証明書利用者として構成するために使用される情報が含まれています。

Base 64信頼済み署名証明書をダウンロードし、サインオンURLとサインアウトURLをコピーします。これらは後でNetScalerの構成画面に貼り付けます。
アプリケーションをユーザーに割り当てる
最後のステップは、アプリケーションを有効にして、ユーザーの「myapps.microsoft.com」コントロールページに表示されるようにすることです。これは、[ユーザーとグループ] ページで行います。Azure AD Connect によって同期されたドメインユーザーアカウントにアクセスを割り当てます。他のアカウントも使用できますが、それらは <user>@<domain> パターンに準拠していないため、明示的にマッピングする必要があります。

マイアプリ ページ
アプリケーションが構成されると、ユーザーがhttps://myapps.microsoft.comにアクセスしたときに、Azureアプリケーションのリストに表示されます。

Azure ADに参加している場合、Windows 10は、ログオンするユーザーに対してAzureアプリケーションへのシングルサインオンをサポートします。アイコンをクリックすると、ブラウザは以前に構成されたSAML cgi/samlauth Webページに移動します。
シングルサインオンURL
Azure ADダッシュボードでアプリケーションに戻ります。アプリケーションのシングルサインオンURLが利用可能になりました。このURLは、Webブラウザリンクを提供したり、ユーザーをStoreFrontに直接誘導するスタートメニューショートカットを作成したりするために使用されます。

このURLをWebブラウザに貼り付けて、Azure ADによって以前に構成されたNetScaler cgi/samlauth Webページにリダイレクトされることを確認します。これは、割り当てられたユーザーにのみ機能し、Windows 10 Azure AD参加済みログオンセッションに対してのみシングルサインオンを提供します。(他のユーザーはAzure AD資格情報の入力を求められます。)
ネットスケーラー ゲートウェイ のインストールと構成
展開にリモートアクセスするために、この例ではNetScalerを実行する別のVMを使用します。これはAzureストアから購入できます。この例では、NetScaler 11.0の「Bring your own License」バージョンを使用します。

NetScaler VMにログオンするには、ユーザーが認証したときに指定された資格情報を使用して、Webブラウザを内部IPアドレスに向けます。Azure AD VMでは、nsrootユーザーのパスワードを変更する必要があることに注意してください。
ライセンスを追加し、各ライセンスファイルが追加された後に再起動を選択し、DNSリゾルバーをMicrosoftドメインコントローラーに指定します。
XenAppおよびXenDesktopセットアップウィザードを実行する
この例では、SAMLなしでシンプルなStoreFront統合を構成することから始めます。その展開が機能した後、SAMLログオンポリシーを追加します。

標準のNetScaler StoreFront設定を選択します。Microsoft Azureで使用する場合、この例ではポート443ではなくポート4433を構成します。または、NetScaler管理Webサイトをポート転送または再マッピングすることもできます。

簡素化のため、この例ではファイルに保存されている既存のサーバー証明書と秘密キーをアップロードします。

ADアカウント管理のためにドメインコントローラーを構成する
ドメインコントローラーはアカウント解決に使用されるため、そのIPアドレスをプライマリ認証方法に追加します。ダイアログボックスの各フィールドで期待される形式に注意してください。

StoreFrontアドレスを構成する
この例では、StoreFrontはHTTPSを使用して構成されているため、SSLプロトコルオプションを選択します。

NetScalerの展開を確認する
NetScalerに接続し、ユーザー名とパスワードで認証と起動が成功することを確認します。

NetScaler SAML認証サポートを有効にする
StoreFrontでSAMLを使用する方法は、他のWebサイトでSAMLを使用する方法と似ています。式をNS_TRUEとして、新しいSAMLポリシーを追加します。

以前にAzure ADから取得した情報を使用して、新しいSAML IdPサーバーを構成します。

エンドツーエンドシステムを確認する
Azure ADに登録されているアカウントを使用して、Azure ADに参加しているWindows 10デスクトップにログオンします。Microsoft Edgeを起動し、https://myapps.microsoft.comに接続します。
WebブラウザーにユーザーのAzure ADアプリケーションが表示されるはずです。

アイコンをクリックすると、認証されたStoreFrontサーバーにリダイレクトされることを確認します。
同様に、シングルサインオンURLを使用した直接接続とNetScalerサイトへの直接接続で、Microsoft Azureにリダイレクトされて戻ってくることを確認します。
最後に、Azure ADに参加していないマシンも同じURLで機能することを確認します(ただし、最初の接続ではAzure ADへの明示的なシングルサインオンが発生します)。
付録
AzureでVMをセットアップする際には、いくつかの標準オプションを構成する必要があります。
パブリックIPアドレスとDNSアドレスを提供する
Azureは、すべてのVMに内部サブネット(この例では10.*.*.*)上のIPアドレスを割り当てます。デフォルトでは、パブリックIPアドレスも提供され、これは動的に更新されるDNSラベルによって参照できます。

パブリックIPアドレス/DNS名ラベルの構成を選択します。VMのパブリックDNSアドレスを選択します。これは、他のDNSゾーンファイルでCNAME参照に使用でき、IPアドレスが再割り当てされた場合でも、すべてのDNSレコードがVMを正しく指し続けることを保証します。

ファイアウォールルール(セキュリティグループ)を設定する
クラウド内の各VMには、セキュリティグループとして知られる一連のファイアウォールルールが自動的に適用されます。セキュリティグループは、パブリックIPアドレスからプライベートIPアドレスに転送されるトラフィックを制御します。デフォルトでは、AzureはすべてのVMへのRDP転送を許可します。NetScalerおよびADFSサーバーもTLSトラフィック(443)を転送する必要があります。
VMのネットワークインターフェイスを開き、ネットワークセキュリティグループラベルをクリックします。適切なネットワークトラフィックを許可するように受信セキュリティルールを構成します。

関連する情報
- Federated Authentication Serviceの記事は、FASのインストールと構成に関する主要なリファレンスです。
- 一般的なFAS展開については、Federated Authentication Serviceアーキテクチャの概要の記事にまとめられています。
- 「ハウツー」記事は、Federated Authentication Serviceの構成と管理の記事で紹介されています。
この記事の概要
- はじめに
- アーキテクチャ
- DNSゾーンを作成する
- クラウドサービスを作成する
- Windows仮想マシンを作成する
- 内部DNSの構成
- 外部 DNS アドレスを構成する
- セキュリティグループを構成する
- ADFS証明書を作成する
- Azure ADをセットアップする
- Azure AD 参加を有効にする
- XenAppまたはXenDesktopをインストールする
- StoreFrontへのシングルサインオン用に新しいAzure ADアプリケーションを構成する
- ネットスケーラー ゲートウェイ のインストールと構成
- StoreFrontアドレスを構成する
- NetScaler SAML認証サポートを有効にする
- エンドツーエンドシステムを確認する
- 付録
- 関連する情報