Azure ADの統合
はじめに
このドキュメントでは、Citrix環境をWindows 10のAzure AD機能と統合する方法について説明します。Windows 10で導入されたAzure ADは、ローミングラップトップが管理とシングルサインオンのためにインターネット経由で企業ドメインに参加できる新しいドメイン参加モデルです。
このドキュメントの展開例では、IT部門が新規ユーザーに、個人のWindows 10ラップトップ用の企業メールアドレスと登録コードを提供するシステムについて説明します。ユーザーは、設定パネルのシステム > バージョン情報 > Azure ADに参加オプションからこのコードにアクセスします。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-settings-join-azuread.png)
ラップトップが登録されると、Microsoft Edgeウェブブラウザは、Azure SaaSアプリケーションのウェブページを介して、会社のウェブサイトやCitrix公開アプリケーションに自動的にサインオンします。これには、Office 365などの他のAzureアプリケーションも含まれます。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-appls-access-page.png)
アーキテクチャ
このアーキテクチャは、従来の企業ネットワークをAzure内で完全に再現し、Azure ADやOffice 365などの最新のクラウドテクノロジーと統合します。エンドユーザーはすべてリモートワーカーと見なされ、オフィスイントラネット上にいるという概念はありません。
このモデルは、Azure AD Connect同期がインターネット経由でAzureにブリッジできるため、既存のオンプレミスシステムを持つ企業にも適用できます。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-architectures-azure-ad.png)
従来はファイアウォールで保護された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アプリケーションページを通じて照合されます。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 仮想配信エージェント (VDA)
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-create-windows-vms.png)
ドメインコントローラー
-
標準のActive Directory展開 (この例では citrixsamldemo.net) を作成するために、DNSサーバーとActive Directory ドメインサービスの役割を追加します。ドメイン昇格が完了したら、Active Directory 証明書サービスの役割を追加します。
-
テスト用の通常のユーザーアカウント (例: George@citrixsamldemo.net) を作成します。
-
このサーバーは内部DNSを実行するため、すべてのサーバーはDNS解決のためにこのサーバーを参照する必要があります。これは、Azure DNS設定ページから実行できます。(詳細については、このドキュメントの付録を参照してください。)
ADFSコントローラーとWebアプリケーションプロキシサーバー
-
ADFSサーバーをcitrixsamldemoドメインに参加させます。Webアプリケーションプロキシサーバーは隔離されたワークグループに残しておく必要があるため、AD DNSにDNSアドレスを手動で登録します。
-
これらのサーバーでEnable-PSRemoting –Forceコマンドレットを実行し、AzureAD Connectツールからのファイアウォールを介したPSリモート処理を許可します。
Citrix Virtual Desktops™ デリバリーコントローラーとVDA
-
残りの2台のcitrixsamldemoに参加しているWindowsサーバーに、Citrix Virtual AppsまたはCitrix Virtual Desktops デリバリーコントローラー™とVDAをインストールします。
内部DNSを構成する
ドメインコントローラーがインストールされた後、DNSサーバーを構成してcitrixsamldemo.netの内部ビューを処理し、外部DNSサーバー (例: 8.8.8.8) へのフォワーダーとして機能させます。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-config-internal-dns-dnsmanager.png)
静的レコードを追加します:
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サーバー証明書を発行します。
証明書を、パスワードで保護された秘密鍵を含めてpfxファイルにエクスポートします。
Azure ADをセットアップする
このセクションでは、新しいAzure ADインスタンスをセットアップし、Windows 10をAzure ADに参加させるために使用できるユーザーIDを作成するプロセスについて詳しく説明します。
新しいディレクトリを作成する
クラシックAzureポータルにログオンし、新しいディレクトリを作成します。
完了すると、概要ページが表示されます。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-summarypage.png)
グローバル管理者ユーザー (AzureAdmin) を作成する
Azure でグローバル管理者を作成し (この例では
AzureAdmin@citrixsamldemo.onmicrosoft.com)、新しいアカウントでログオンしてパスワードを設定します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/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/2311/media/fas-azure-setup-azure-adddomain.png)
Azure AD Connect をインストールする
Azure AD 構成 GUI のステップ 2 は、Azure AD Connect の Microsoft ダウンロードページにリダイレクトされます。これを ADFS VM にインストールします。ADFS オプションを利用できるように、簡易設定ではなくカスタムインストールを使用してください。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-installcomps.png)
AD FS とのフェデレーションシングルサインオンオプションを選択します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-usersignin.png)
以前作成した管理者アカウントでAzureに接続します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-connect.png)
内部ADフォレストを選択します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-connect-dirs.png)
すべてのレガシーActive DirectoryオブジェクトをAzure ADと同期します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-domain-ou-filter.png)
ディレクトリ構造が単純な場合は、ユーザー名が十分に一意であるため、ログオンするユーザーを識別できます。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-unique-id-users.png)
デフォルトのフィルタリングオプションを受け入れるか、ユーザーとデバイスを特定のグループセットに制限します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-filter-users-devices.png)
必要に応じて、Azure ADパスワードをActive Directoryと同期できます。これは通常、ADFSベースの認証には必要ありません。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-optional-features.png)
AD FSで使用する証明書PFXファイルを選択し、DNS名としてfs.citrixsamldemo.netを指定します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-setup-azure-adfs-farm.png)
プロキシサーバーの選択を求められたら、wap.citrixsamldemo.net サーバーのアドレスを入力します。Azure AD Connect が構成できるように、Web Application Proxy サーバーで管理者として Enable-PSRemoting –Force コマンドレットを実行する必要がある場合があります。
注:
この手順がリモート PowerShell の信頼性の問題により失敗した場合は、Web Application Proxy サーバーをドメインに参加させてみてください。
ウィザードの残りの手順では、標準の管理者パスワードを使用し、ADFS のサービスアカウントを作成します。その後、Azure AD Connect は DNS ゾーンの所有権を検証するよう求めます。
TXT レコードと MX レコードを Azure の DNS アドレスレコードに追加します。
Azure 管理コンソールで Verify をクリックします。
注:
この手順が失敗した場合は、Azure AD Connect を実行する前にドメインを検証できます。
完了すると、外部アドレス fs.citrixsamldemo.net がポート 443 経由で接続されます。
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がパスワードで認証できることを確認してください。
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管理ツールで、新しいアプリケーションを選択し、ギャラリーからアプリケーションを追加を選択します。
新しいカスタムアプリケーションをユーザー用に作成するには、CUSTOM > Add an unlisted application my organization is using を選択します。
アイコンの構成
サイズが215 x 215ピクセルの画像を作成し、アプリケーションのアイコンとして使用するためにCONFIGUREページにアップロードします。
SAML認証の構成
アプリケーションダッシュボードの概要ページに戻り、Configure Single sign-on を選択します。
この展開では、SAML 2.0認証を使用します。これは Microsoft Azure AD Single Sign-On に対応します。
Identifier は任意の文字列にできます(Citrix Gatewayに提供される構成と一致する必要があります)。この例では、Reply URL はCitrix Gatewayサーバー上の /cgi/samlauth です。
次のページには、Citrix GatewayをAzure ADへの証明書利用者として構成するために使用される情報が含まれています。
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」バージョンを使用します。
ユーザーが認証したときに指定された資格情報を使用して、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ポリシーを追加します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-enable-ns-saml-policy.png)
以前にAzure ADから取得した情報を使用して、新しいSAML IdPサーバーを構成します。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-enable-ns-saml-idp-server.png)
エンドツーエンドシステムを検証する
Azure ADに登録されているアカウントを使用して、Azure ADに参加しているWindows 10デスクトップにログオンします。Microsoft Edgeを起動し、
<https://myapps.microsoft.com>に接続します。
Webブラウザには、ユーザーのAzure ADアプリケーションが表示されるはずです。
ローカライズされた画像(/en-us/federated-authentication-service/2311/media/fas-azure-verify-end-to-end.png)
アイコンをクリックすると、認証されたStoreFrontサーバーにリダイレクトされることを確認します。
同様に、シングルサインオンURLを使用した直接接続と、Citrix Gatewayサイトへの直接接続がMicrosoft Azureにリダイレクトされ、元に戻ることを確認します。
最後に、Azure ADに参加していないマシンも同じURLで機能することを確認します(ただし、最初の接続ではAzure ADへの明示的なシングルサインオンが発生します)。
付録
AzureでVMをセットアップする際には、以下の標準オプションを構成する必要があります。
パブリックIPアドレスとDNSアドレスを提供する
Azureは、すべてのVMに内部サブネット(この例では10.*.*.*)上のIPアドレスを付与します。デフォルトでは、パブリック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を構成します。