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 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アプリケーションプロキシサーバーで管理者として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がパスワードで認証できることを確認してください。

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 AD SAML 2.0 シングルサインオン機能を使用します。この機能には現在、Azure Active Directory Premium サブスクリプションが必要です。Azure AD 管理ツールで、[新しいアプリケーション] を選択し、[ギャラリーからアプリケーションを追加] を選択します。

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

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

[識別子] は任意の文字列にできます (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に内部サブネット(この例では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認証サポートの有効化
- エンドツーエンドシステムの検証
- 付録
- 関連情報
