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クラウドサービスのIAAS部分で標準のActive Directoryサーバー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アクセスプロキシ(Webアプリケーションプロキシ、ドメイン参加なし)
- Citrix Virtual Apps and Desktops Delivery Controller
- Citrix Virtual Apps and Desktops Virtual Delivery Agent (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コマンドレットを実行します。
Citrix Virtual Desktops™ Delivery ControllerとVDA
- Citrix Virtual AppsまたはCitrix Virtual Desktops Delivery Controller™とVDAを、citrixsamldemoに参加している残りの2つのWindowsサーバーにインストールします。
内部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 Application Proxyサーバーとドメインコントローラーに対して行う必要があります。
外部DNSアドレスの構成
VMが実行されている場合、AzureはVMに割り当てられた現在のパブリックIPアドレスを指す独自のDNSゾーンサーバーを維持します。Azureは既定で各VMの起動時にIPアドレスを割り当てるため、これは有効にすると便利な機能です。

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

ADFS証明書の作成
Microsoft証明機関でWebサーバー証明書テンプレートを有効にします。これにより、カスタムDNSアドレスを持つ証明書を作成し、(秘密キーを含めて) pfxファイルにエクスポートできます。この証明書はADFSサーバーとWeb Application Proxyサーバーの両方にインストールする必要があるため、PFXファイルが推奨されるオプションです。
次のサブジェクト名でWebサーバー証明書を発行します。
- Commonname:
-
adfs.citrixsamldemo.net[コンピューター名]
-
- SubjectAltname:
-
*.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 Application Proxyサーバーを構成できるように、Web Application Proxyサーバーで管理者としてEnable-PSRemoting –Forceコマンドレットを実行する必要がある場合があります。

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

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

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

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

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

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

UPNは、ADFSドメインコントローラーによって認識されるUPNと一致する必要があります。



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

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

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

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 Store から購入できます。この例では、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 に内部サブネットの IP アドレス(この例では 10.*.*.*)を割り当てます。デフォルトでは、パブリック IP アドレスも提供され、動的に更新される DNS ラベルによって参照できます。

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

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

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