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
- 残りの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 ゾーンサーバーを維持します。これは、既定で各 VM の起動時に Azure が 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ゾーンの所有権を検証するよう求めます。

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

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がパスワードで認証できることを確認してください。

StoreFront™がユーザーの資格情報なしで認証できるように、ControllerでSet-BrokerSite –TrustRequestsSentToTheXmlServicePort $true PowerShellコマンドレットを実行します。
フェデレーション認証サービスのインストール
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への単一の明示的なサインオンが必要になります)。
付録
AzureでVMをセットアップする際には、以下の標準オプションを構成する必要があります。
パブリックIPアドレスとDNSアドレスの提供
AzureはすべてのVMに内部サブネット(この例では10.*.*.*)上のIPアドレスを付与します。デフォルトでは、動的に更新されるDNSラベルによって参照できるパブリックIPアドレスも提供されます。

パブリック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認証サポートの有効化
- エンドツーエンドシステムの検証
- 付録
- 関連情報

