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

ラップトップが登録されると、Microsoft Edgeウェブブラウザーは、Azure SaaSアプリケーションのウェブページを介して、会社のウェブサイトや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を使用して実行できます。
ユーザーが従来のアプリケーションを起動すると、Citrix Virtual Apps and Desktops™公開アプリケーションを使用してアクセスされます。さまざまな種類のアプリケーションは、Microsoft Edgeのシングルサインオン機能を使用して、ユーザーのAzureアプリケーションページを通じて照合されます。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アプリケーションプロキシサーバーを参照する「fs.citrixsamldemo.net」エントリを追加します。これは、このゾーンのフェデレーションサービスです。
クラウドサービスの作成
この例では、Azureで実行されているADFSサーバーを含むAD環境を含むCitrix環境を構成します。「citrixsamldemo」という名前のクラウドサービスが作成されます。
Windows仮想マシンの作成
クラウドサービスで実行される5つのWindows VMを作成します。
- ドメインコントローラー (domaincontrol)
- Azure Connect ADFSサーバー (adfs)
- ADFSウェブアクセスプロキシ (Web Application Proxy、ドメイン参加なし)
- Citrix Virtual Apps and Desktops Delivery Controller
- Citrix Virtual Apps and Desktops Virtual Delivery Agent (VDA)

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

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

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

この例では、domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com という DNS アドレスをドメインコントローラーに割り当てます。
リモート構成が完了すると、Web アプリケーションプロキシと Citrix Gateway VM のみがパブリック IP アドレスを有効にする必要があることに注意してください。(構成中、パブリック IP アドレスは環境への RDP アクセスに使用されます)。
セキュリティグループの構成
Azure クラウドは、セキュリティグループを使用して、インターネットから VM への TCP/UDP アクセスのファイアウォールルールを管理します。デフォルトでは、すべての VM で RDP アクセスが許可されています。Citrix Gateway および Web アプリケーションプロキシサーバーも、ポート 443 で TLS を許可する必要があります。

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

証明書を、パスワードで保護された秘密キーを含めて pfx ファイルにエクスポートします。
Azure AD のセットアップ
このセクションでは、新しい Azure AD インスタンスをセットアップし、Windows 10 を Azure AD に参加させるために使用できるユーザー ID を作成するプロセスについて詳しく説明します。
新しいディレクトリの作成
従来の Azure ポータルにログオンし、新しいディレクトリを作成します。

完了すると、概要ページが表示されます。

グローバル管理者ユーザー (AzureAdmin) の作成
Azure でグローバル管理者を作成し (この例では AzureAdmin@citrixsamldemo.onmicrosoft.com)、新しいアカウントでログオンしてパスワードを設定します。

ドメインの Azure AD への登録
デフォルトでは、ユーザーは <user.name>@<company>.onmicrosoft.com の形式のメールアドレスで識別されます。
これは追加の構成なしでも機能しますが、標準形式のメールアドレス、できればエンドユーザーのメールアカウントと一致する <user.name>@<company>.com の形式がより適切です。
ドメインの追加アクションは、実際の会社のドメインからのリダイレクトを構成します。この例では citrixsamldemo.net を使用しています。
シングルサインオンのために ADFS をセットアップする場合は、チェックボックスを有効にします。

Azure AD Connect のインストール
Azure AD 構成 GUI のステップ 2 は、Azure AD Connect の Microsoft ダウンロードページにリダイレクトされます。これを ADFS VM にインストールします。ADFS オプションを利用できるように、簡易設定ではなくカスタムインストールを使用してください。

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アプリケーションプロキシサーバーを構成できるように、管理者としてWebアプリケーションプロキシサーバーでEnable-PSRemoting –Forceコマンドレットを実行する必要がある場合があります。

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

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

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

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

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

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

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



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

ユーザーの資格情報なしでStoreFront™が認証できるように、ControllerでSet-BrokerSite –TrustRequestsSentToTheXmlServicePort $true PowerShellコマンドレットを実行します。
フェデレーション認証サービスのインストール
ADFSサーバーにFASをインストールし、Delivery Controllerが信頼されたStoreFrontとして機能するためのルールを構成します(この例では、StoreFrontはDelivery Controllerと同じVMにインストールされているため)。詳細については、「インストールと構成」を参照してください。
StoreFrontの構成
デリバリーコントローラーのコンピューター証明書を要求し、ポート443のIISバインディングを設定してIISとStoreFrontがHTTPSを使用するように構成し、StoreFrontのベースアドレスをhttps:に変更します。

StoreFrontがFASサーバーを使用するように構成し(インストールと構成のPowerShellスクリプトを使用)、Azure内で内部的にテストして、FASサーバーのイベントビューアーを確認することでログオンがFASを使用していることを確認します。

StoreFrontでのCitrix Gatewayの使用構成
StoreFront管理コンソールの[認証方法の管理] GUIを使用して、StoreFrontがCitrix Gatewayを使用して認証を実行するように構成します。

Citrix Gateway認証オプションを統合するには、Secure Ticket Authority (STA) を構成し、Citrix Gatewayアドレスを構成します。

StoreFrontへのシングルサインオンのための新しいAzure ADアプリケーションの構成
このセクションでは、現在Azure Active Directory Premiumサブスクリプションを必要とするAzure AD SAML 2.0シングルサインオン機能を使用します。Azure AD管理ツールで、[新しいアプリケーション] を選択し、[ギャラリーからアプリケーションを追加] を選択します。

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

この展開では、Microsoft Azure ADシングルサインオンに対応するSAML 2.0認証を使用します。

[識別子] は任意の文字列にできます(Citrix Gatewayに提供される構成と一致する必要があります)。この例では、[応答URL] はCitrix Gatewayサーバー上の /cgi/samlauth です。

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

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

MyAppsページ
アプリケーションが構成されると、ユーザーが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によって以前に構成されたCitrix Gateway cgi/samlauth Webページにリダイレクトされることを確認します。これは、割り当てられたユーザーのみに機能し、Windows 10 Azure AD参加済みログオンセッションのみにシングルサインオンを提供します。(他のユーザーはAzure AD資格情報の入力を求められます。)
Citrix Gatewayのインストールと構成
展開にリモートアクセスするために、この例ではNetScaler(現在のCitrix Gateway)を実行する別のVMを使用します。これはAzureストアから購入できます。この例では、NetScaler 11.0の「Bring your own License」バージョンを使用します。
NetScaler® VMにログオンし、Webブラウザーを内部IPアドレスに向け、ユーザーが認証されたときに指定された資格情報を使用します。Azure AD VMでは、nsrootユーザーのパスワードを変更する必要があることに注意してください。
ライセンスを追加し、各ライセンスファイルが追加された後に再起動を選択し、DNSリゾルバーをMicrosoftドメインコントローラーに向けます。
Citrix Virtual Apps and Desktops セットアップウィザードの実行
この例では、SAML を使用しないシンプルな StoreFront 統合の構成から始めます。その展開が機能した後、SAML ログオンポリシーを追加します。

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

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

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

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

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

Citrix Gateway 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 を使用した直接接続と、Citrix Gateway サイトへの直接接続が Microsoft Azure にリダイレクトされ、元に戻ることを確認します。
最後に、Azure AD に参加していないマシンでも同じ URL で機能することを確認します(ただし、最初の接続では Azure AD への明示的なシングルサインオンが 1 回発生します)。
付録
Azure で VM をセットアップする際には、以下の標準オプションを構成する必要があります。
パブリック IP アドレスと DNS アドレスの提供
Azure はすべての VM に内部サブネット(この例では 10.*.*.*)上の IP アドレスを付与します。デフォルトでは、動的に更新される DNS ラベルで参照できるパブリック IP アドレスも提供されます。

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

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

関連情報
この記事の概要
- はじめに
- アーキテクチャ
- DNSゾーンの作成
- クラウドサービスの作成
- Windows仮想マシンの作成
- 内部DNSの構成
- 外部 DNS アドレスの構成
- セキュリティグループの構成
- ADFS 証明書の作成
- Azure AD のセットアップ
- Azure AD参加の有効化
- Citrix Virtual AppsまたはCitrix Virtual Desktopsのインストール
- StoreFrontへのシングルサインオンのための新しいAzure ADアプリケーションの構成
- Citrix Gatewayのインストールと構成
- StoreFront アドレスの構成
- Citrix Gateway SAML 認証サポートの有効化
- エンドツーエンドシステムの検証
- 付録
- 関連情報
