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アプリケーションプロキシサーバーとドメインコントローラーに対して実行する必要があります。
外部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に接続します。Webサイトは自動的にシングルサインオンを使用するはずです。
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™がユーザーの資格情報なしで認証できるようにします。
フェデレーション認証サービスのインストール
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 Store から購入できます。この例では、NetScaler 11.0 の「Bring your own License」バージョンを使用します。
Web ブラウザーを内部 IP アドレスに向け、ユーザーが認証したときに指定された資格情報を使用して、NetScaler® VM にログオンします。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への明示的なシングルサインオンが発生します)。
付録
AzureでVMをセットアップする際には、以下の標準オプションを構成する必要があります。
パブリックIPアドレスとDNSアドレスの提供
AzureはすべてのVMに内部サブネット(この例では10.*.*.*)上のIPアドレスを付与します。デフォルトではパブリックIPアドレスも提供され、これは動的に更新されるDNSラベルによって参照できます。

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

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

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