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

ノートPCが登録されると、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を使用して実行できます。
ユーザーが従来のアプリケーションを起動すると、Citrix Virtual Apps and Desktops™公開アプリケーションを使用してアクセスされます。さまざまな種類のアプリケーションは、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)
- Azure Connect ADFSサーバー(adfs)
- ADFS Webアクセスプロキシ(Web Application Proxy、ドメイン参加なし)
- 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 Application Proxyサーバー
-
ADFSサーバーをcitrixsamldemoドメインに参加させます。Web Application Proxyサーバーは分離されたワークグループに残しておく必要があるため、AD DNSにDNSアドレスを手動で登録します。
- AzureAD Connectツールからのファイアウォール経由のPSリモート処理を許可するために、これらのサーバーでEnable-PSRemoting –Forceコマンドレットを実行します。
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 Application Proxy 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サーバー証明書を発行します。
- 共通名:
-
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がパスワードで認証できることを確認してください。

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

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 ストアから購入できます。この例では、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 アドレスを付与します。デフォルトでは、パブリック 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参加の有効化
- Citrix Virtual AppsまたはCitrix Virtual Desktopsのインストール
- StoreFront へのシングルサインオンのための新しい Azure AD アプリケーションの構成
- Citrix Gateway のインストールと構成
- StoreFront アドレスの構成
- Citrix Gateway SAML 認証サポートの有効化
- エンドツーエンドシステムの検証
- 付録
- 関連情報
