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 を使用します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-create-dns-zone.png)
コンソールには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」という名前のクラウドサービスが作成されます。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-create-cloud-svc.png)
Windows仮想マシンの作成
クラウドサービスで実行される5つのWindows VMを作成します。
-
ドメインコントローラー (domaincontrol)
-
アジュール コネクト ADFS サーバー (adfs)
-
ADFS Webアクセスプロキシ (Web Application Proxy、ドメイン参加なし)
-
Citrix Virtual Apps and Desktops デリバリーコントローラー
-
シトリックス仮想アプリおよびデスクトップ 仮想デリバリーエージェント (VDA)
ドメインコントローラー
-
標準のActive Directory展開(この例ではcitrixsamldemo.net)を作成するには、DNSサーバーとActive Directory Domain Servicesの役割を追加します。ドメイン昇格が完了したら、Active Directory Certification Servicesの役割を追加します。
-
テスト用の通常のユーザーアカウントを作成します(例: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™ デリバリーコントローラーおよびVDA
-
残りの2台のWindowsサーバー(citrixsamldemoに参加済み)にCitrix Virtual AppsまたはCitrix Virtual Desktops Delivery Controller™とVDAをインストールします。
内部DNSの構成
ドメインコントローラーのインストール後、DNSサーバーを構成して、citrixsamldemo.netの内部ビューを処理し、外部DNSサーバー(例:8.8.8.8)へのフォワーダーとして機能させます。
次の静的レコードを追加します。
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 Server 証明書テンプレートを有効にします。これにより、カスタム DNS アドレスを持つ証明書を作成し、(秘密鍵を含めて) pfx ファイルにエクスポートできます。この証明書は ADFS サーバーと Web Application Proxy サーバーの両方にインストールする必要があるため、PFX ファイルが推奨されるオプションです。
以下のサブジェクト名でWebサーバー証明書を発行します。
パスワードで保護された秘密鍵を含め、証明書を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 オプションが利用できるように、Express Settings ではなく、Custom install を使用してください。
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 Application Proxy サーバーで管理者として Enable-PSRemoting –Force コマンドレットを実行する必要がある場合があります。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-setup-azure-wap-servers.png)
注:
この手順がリモート PowerShell の信頼性の問題で失敗した場合は、Web Application Proxy サーバーをドメインに参加させてみてください。
ウィザードの残りの手順では、標準の管理者パスワードを使用し、ADFS のサービスアカウントを作成します。その後、Azure AD Connect は DNS ゾーンの所有権を検証するよう求めます。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-setup-azure-azure-ad-domain.png)
Azure の DNS アドレスレコードに TXT レコードと MX レコードを追加します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-setup-azure-txt-mx.png)
Azure 管理コンソールで Verify をクリックします。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-setup-azure-verify.png)
注:
この手順が失敗した場合は、Azure AD Connect を実行する前にドメインを検証できます。
完了すると、外部アドレス fs.citrixsamldemo.net がポート 443 経由で接続されます。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-setup-azure-install-complete.png)
Azure AD Join を有効にする
ユーザーがメールアドレスを入力してWindows 10がAzure AD参加を実行できるようにすると、DNSサフィックスがCNAME DNSレコードを構築するために使用されます。このレコードはADFS: enterpriseregistration.\<upnsuffix>を指す必要があります。
この例では、これは
fs.citrixsamldemo.netです。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-enable-azureadjoin-cname.png)
パブリック証明機関を使用していない場合は、WindowsがADFSサーバーを信頼するように、ADFSルート証明書がWindows 10コンピューターにインストールされていることを確認してください。以前に生成された標準ユーザーアカウントを使用して、Azure ADドメイン参加を実行します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-enable-azureadjoin-signin.png)
UPNは、ADFSドメインコントローラーによって認識されるUPNと一致する必要があることに注意してください。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-enable-azureadjoin-upn1.png)
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-enable-azureadjoin-upn2.png)
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-enable-azureadjoin-finish.png)
マシンを再起動し、ユーザーのメールアドレスを使用してログオンすることで、Azure AD参加が成功したことを確認します。ログオンしたら、Microsoft Edgeを起動し、
<http://myapps.microsoft.com>に接続します。ウェブサイトは自動的にシングルサインオンを使用するはずです。
Citrix Virtual AppsまたはCitrix Virtual Desktopsをインストールする
Delivery ControllerとVDA仮想マシンは、Citrix Virtual AppsまたはCitrix Virtual DesktopsのISOから、通常の方法でAzureに直接インストールできます。
この例では、StoreFrontはDelivery Controllerと同じサーバーにインストールされています。VDAは、Machine Creation Servicesと統合せずに(オプションで構成可能ですが)、スタンドアロンのWindows 2012 R2 RDSワーカーとしてインストールされます。続行する前に、ユーザー George@citrixsamldemo.net がパスワードで認証できることを確認してください。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-installl-xaxd-sf.png)
Controllerで Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true PowerShell コマンドレットを実行して、StoreFront™がユーザーの資格情報なしで認証できるようにします。
フェデレーション認証サービスをインストールする
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認証の構成
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-config-app-add-configsso.png)
この展開では、Microsoft Azure AD Single Sign-On に対応する SAML 2.0 認証を使用します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-config-app-add-ad-sso.png)
識別子は任意の文字列にできます(Citrix Gateway に提供される構成と一致する必要があります)。この例では、応答URLは Citrix Gateway サーバー上の /cgi/samlauth です。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-config-app-add-id-replyurl.png)
次のページには、Citrix Gateway を Azure AD の証明書利用者として構成するために使用される情報が含まれています。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-config-app-add-relyparty.png)
Base 64 信頼済み署名証明書をダウンロードし、サインオン URL とサインアウト 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 に内部サブネット (この例では 10.*.*.*) 上の IP アドレスを割り当てます。デフォルトでは、パブリック IP アドレスも提供され、動的に更新される DNS ラベルで参照できます。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-vm-options-public-ip-dns-adds.png)
Public IP address/DNS name label の Configuration を選択します。VM のパブリック DNS アドレスを選択します。これは、他の DNS ゾーンファイルでの CNAME 参照に使用でき、IP アドレスが再割り当てされた場合でも、すべての DNS レコードが VM を正しく指し続けることを保証します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-vm-options-public-ip-dns-label.png)
ファイアウォールルール (セキュリティグループ) を設定する
クラウド内の各 VM には、セキュリティグループとして知られる一連のファイアウォールルールが自動的に適用されます。セキュリティグループは、パブリック IP アドレスからプライベート IP アドレスに転送されるトラフィックを制御します。デフォルトでは、Azure は RDP をすべての VM に転送することを許可します。Citrix Gateway および ADFS サーバーも TLS トラフィック (443) を転送する必要があります。
VM の Network Interfaces を開き、Network Security Group ラベルをクリックします。適切なネットワークトラフィックを許可するように Inbound security rules を構成します。
ローカライズされた画像(/en-us/federated-authentication-service/2206/media/fas-azure-vm-options-inbound-sec-rules.png)