Azure AD 統合
はじめに
このドキュメントでは、Citrix環境をWindows 10のAzure AD機能と統合する方法について説明します。Windows 10で導入されたAzure ADは、ローミング中のノートPCをインターネット経由で企業ドメインに参加させ、管理とシングルサインオンを可能にする新しいドメイン参加モデルです。
このドキュメントの展開例では、IT部門が新規ユーザーに企業メールアドレスと、個人のWindows 10ノートPC用の登録コードを提供するシステムについて説明します。ユーザーは、設定パネルのシステム > バージョン情報 > Azure ADに参加オプションからこのコードにアクセスします。
ノートPCが登録されると、Microsoft Edgeウェブブラウザは、Azure SaaSアプリケーションのウェブページを介して、Office 365などの他のAzureアプリケーションとともに、会社のウェブサイトやCitrix公開アプリケーションに自動的にサインオンします。
アーキテクチャ
このアーキテクチャは、従来の企業ネットワークを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)
-
アジュール コネクト ADFS サーバー (adfs)
-
ADFS Webアクセスプロキシ (Web Application Proxy、ドメイン参加なし)
-
Citrix Virtual Apps and Desktops デリバリーコントローラー
-
Citrix Virtual Apps and Desktops バーチャル デリバリー エージェント (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™ デリバリーコントローラーおよびVDA
-
残りの2台のcitrixsamldemoに参加しているWindowsサーバーに、Citrix Virtual AppsまたはCitrix Virtual Desktops Delivery Controller™とVDAをインストールします。
内部DNSを構成する
ドメインコントローラーのインストール後、DNSサーバーを構成してcitrixsamldemo.netの内部ビューを処理し、外部DNSサーバー(例: 8.8.8.8)へのフォワーダーとして機能させます。
以下の静的レコードを追加します。
Azureで実行されているすべてのVMは、このDNSサーバーのみを使用するように構成する必要があります。これは、ネットワークインターフェイスGUIから実行できます。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-config-internal-dns-dnsservers.png)
デフォルトでは、内部IPアドレス (10.0.0.9) は動的に割り当てられます。IPアドレス設定を使用して、IPアドレスを永続的に割り当てることができます。これは、Webアプリケーションプロキシサーバーとドメインコントローラーに対して行う必要があります。
外部DNSアドレスを構成する
VMが実行されている場合、AzureはVMに割り当てられた現在のパブリックIPアドレスを指す独自のDNSゾーンサーバーを維持します。これは、Azureがデフォルトで各VMの起動時にIPアドレスを割り当てるため、有効にすると便利な機能です。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-config-external-dns-configuration.png)
この例では、ドメインコントローラーに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を許可する必要があります。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-config-security-groups.png)
ADFS証明書を作成する
Microsoft 証明機関でWebサーバー証明書テンプレートを有効にします。これにより、カスタムDNSアドレスを持つ証明書を作成し、pfxファイルにエクスポート(秘密鍵を含む)できるようになります。この証明書はADFSサーバーとWebアプリケーションプロキシサーバーの両方にインストールする必要があるため、PFXファイルが推奨されるオプションです。
以下のサブジェクト名でWebサーバー証明書を発行します。
証明書をパスワードで保護された秘密鍵を含めてpfxファイルにエクスポートします。
Azure ADをセットアップする
このセクションでは、新しいAzure ADインスタンスをセットアップし、Windows 10をAzure ADに参加させるために使用できるユーザーIDを作成するプロセスについて詳しく説明します。
新しいディレクトリを作成する
クラシックAzureポータルにログオンし、新しいディレクトリを作成します。
完了すると、概要ページが表示されます。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-summarypage.png)
グローバル管理者ユーザー (AzureAdmin) を作成する
Azure でグローバル管理者 (この例では
AzureAdmin@citrixsamldemo.onmicrosoft.com) を作成し、新しいアカウントでログオンしてパスワードを設定します。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-userprofile.png)
ドメインを Azure AD に登録する
デフォルトでは、ユーザーは
<user.name>@<company>.onmicrosoft.com の形式のメールアドレスで識別されます。
これでも追加設定なしで機能しますが、標準形式のメールアドレス、できればエンドユーザーのメールアカウントと一致するものがより適切です:
<user.name>@<company>.com。
ドメインの追加アクションは、実際の会社のドメインからのリダイレクトを設定します。この例では
citrixsamldemo.net を使用します。
シングルサインオンのために ADFS を設定する場合は、チェックボックスを有効にします。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-adddomain.png)
Azure AD Connect をインストールする
Azure AD 構成 GUI のステップ 2 は、Azure AD Connect の Microsoft ダウンロードページにリダイレクトされます。これを ADFS VM にインストールします。ADFS オプションが利用可能になるように、Express Settings ではなく、Custom install を使用してください。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-installcomps.png)
AD FS とのフェデレーション シングルサインオンオプションを選択します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-usersignin.png)
以前作成した管理者アカウントでAzureに接続します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-connect.png)
内部ADフォレストを選択します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-connect-dirs.png)
すべてのレガシーActive DirectoryオブジェクトをAzure ADと同期します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-domain-ou-filter.png)
ディレクトリ構造が単純な場合、ログオンするユーザーを識別するために、ユーザー名が十分に一意であることに依存できます。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-unique-id-users.png)
デフォルトのフィルタリングオプションを受け入れるか、ユーザーとデバイスを特定のグループセットに制限します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-filter-users-devices.png)
必要に応じて、Azure ADパスワードをActive Directoryと同期できます。これは通常、ADFSベースの認証には必要ありません。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-optional-features.png)
AD FSで使用する証明書PFXファイルを選択し、DNS名としてfs.citrixsamldemo.netを指定します。
「ローカライズされた画像」(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-adfs-farm.png)
プロキシサーバーの選択を求められたら、wap.citrixsamldemo.netサーバーのアドレスを入力します。Azure AD Connectが構成できるように、Webアプリケーションプロキシサーバーで管理者としてEnable-PSRemoting –Forceコマンドレットを実行する必要がある場合があります。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-wap-servers.png)
注:
リモートPowerShellの信頼性の問題によりこの手順が失敗した場合は、Webアプリケーションプロキシサーバーをドメインに参加させてみてください。
ウィザードの残りの手順では、標準の管理者パスワードを使用し、ADFSのサービスアカウントを作成します。その後、Azure AD ConnectはDNSゾーンの所有権を検証するよう求めます。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-azure-ad-domain.png)
AzureのDNSアドレスレコードにTXTおよびMXレコードを追加します。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-txt-mx.png)
Azure Management ConsoleでVerifyをクリックします。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-verify.png)
注:
この手順が失敗した場合は、Azure AD Connectを実行する前にドメインを検証できます。
完了すると、外部アドレスfs.citrixsamldemo.netがポート443経由で接続されます。
ローカライズされた画像(/en-us/federated-authentication-service/2308/media/fas-azure-setup-azure-install-complete.png)
Azure AD Joinを有効にする
ユーザーがメールアドレスを入力して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がパスワードで認証できることを確認してください。
ユーザーの資格情報なしで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管理ツールで、新しいアプリケーションを選択し、ギャラリーからアプリケーションを追加を選択します。
SAML認証の構成
この展開では、Microsoft Azure AD シングルサインオンに対応する SAML 2.0 認証を使用します。
識別子は任意の文字列にできます(Citrix Gateway に提供される構成と一致する必要があります)。この例では、応答URLは Citrix Gateway サーバー上の /cgi/samlauth です。
次のページには、Citrix Gateway を Azure AD の証明書利用者として構成するために使用される情報が含まれています。
Base 64 信頼済み署名証明書をダウンロードし、サインオンおよびサインアウト URL をコピーします。これらは後で Citrix Gateway の構成画面に貼り付けます。
アプリケーションをユーザーに割り当てる
最後のステップは、アプリケーションを有効にして、ユーザーの「myapps.microsoft.com」コントロールページに表示されるようにすることです。これは「USERS AND GROUPS」ページで行います。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に内部サブネット上の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を設定します。