こんにちは。SB C&Sの石井です。
VMware製品のプリセールスSEチームに所属しています。
Microsoft 365を筆頭にクラウドサービスの利用が増え、オンプレミスのActive Directoryだけでなく、Azure ADを併用して利用しているケースが多くなってきたかと思います。Azure ADは、Microsoft 365利用時のユーザー認証機能を担うだけでなく、様々なアプリケーションと連携してユーザー認証を行うことができます。
VMware Horizonでも、Azure ADとの連携ができます。具体的には、Horizonのセキュリティゲートウェイの機能を提供するUnified Access Gateway(UAG)が、Azure ADとのSAML連携機能を提供しています。Horizonアクセス時に従来のActive Directoryユーザー認証だけでなく、さらにAzure ADの認証機能を組み合わせることが可能になり、セキュリティを高めることができます。今回は、Azure ADとUAGのSAML連携設定について紹介します。
全体イメージ
今回使用する環境イメージは、下図です。Horizon環境の基本的なコンポーネントは、大きく変わりません。Azure AD とUnified Access Gateway(UAG)間でSAMLの連携設定は行いますが、従来通りオンプレミスのActive Directoryも必要になります。
下図は、SAML連携時の認証のクライアント動作イメージになります。
①Horizon Clientをインストールしたクライアント端末から、Horizonの接続先URL(UAGのFQDN)にアクセス
②Azure ADにリダイレクトされるため、Azure ADアカウントによる認証
③再度、Horizonの接続先URL(UAGのFQDN)にリダイレクトされ、Connection Serverにアクセスし、オンプレミスADアカウントで認証
それでは、SAML連携設定の手順を紹介します。
Azure ADの設定
まずは、Azure AD側の設定から紹介します。
Azure Portalを開き、左ペインの [Azure Active Directory] をクリックし、管理画面に移動します。次に、左ペインの [エンタープライズ アプリケーション] をクリックします。
[新しいアプリケーション] をクリックし、アプリケーションの追加画面に移動します。
検索タブで [Horizon] と入力します。[VMware Horizon - Unified Access Gateway] が検索結果として表示されるためクリックします。クリックすると右画面にウィザードが表示されるため、任意の名前を入力し、[作成] をクリックします。
作成するとUnified Access Gatewayの設定ページが表示されます。まず、Horizonを利用させたいユーザーを、 [1。ユーザーとグループの割り当て] をクリックして追加してください。その後、[2。シングル サインオンの設定] をクリックします。
シングル サインオン方式の選択で、[SAML] をクリックします。
SAMLによるシングル サインオンのセットアップ画面が表示されます。基本的なSAML 構成の右にある [編集] をクリックし、SAMLの構成を行います。
SAML構成画面が表示されます。構成に必要な以下の情報を入力し、[保存] をクリックします。
※<>でくくった部分はご自身の企業/組織の環境情報を入力します。
入力欄 | 設定値 | 用途 |
---|---|---|
識別子 (エンティティ ID) |
https://<UAGのFQDN>/portal | UAGを一意に識別するための値 |
応答 URL | https://<UAGのFQDN>/portal/samlsso | UAGがトークンを受け取るための場所を 指定する値 |
サインオン URL | https://<UAGのFQDN> | ユーザーがHorizonにアクセスする際の 接続先URL(SP-initiatedの動作に必要) |
セットアップ画面に戻り、[基本的な SAML 構成] で設定した値の確認をします。UAG側の設定で使用するため、フェデレーション メタデータ XMLの右にある [ダウンロード] をクリックし、メタデータをダウンロードします。
以上で、Azure AD側で行う設定は終了です。
Unified Access Gateway(UAG)の設定
続いてUnified Access Gateway(UAG)の設定をします。
UAGの管理コンソールにログインします。手動構成の下にある [選択] をクリックします。
UAGの構成画面が表示されます。ID プロバイダ メタデータのアップロード横にある歯車マークをクリックします。
アップロード画面が表示されたら、IDP メタデータの [選択] をクリックし、Azure ADの設定時にダウンロードしたメタデータを選択します。メタデータの選択後、[保存] をクリックします。
UAGの構成画面に戻り、全般設定に移動します。Edge サービスの設定にあるトグルボタンをクリックします。次に、Horizonの設定の右にある歯車マークをクリックします。
認証方法で、[SAMLおよびパススルー] を選択します。[SAMLおよびパススルー] に変更すると、IDプロバイダが"http://sts.windows.net"から始まるURLに変更されます。
以上で、SAMLの連携設定は完了です。
認証確認
それでは、Horizon Clientから接続確認を行います。
Horizon Clientを起動し、Horizonの接続先URL(UAGのFQDN)をクリックします。クリックすると、ブラウザが自動で開き、Microsoftのサインインページが表示されます。Azure ADのユーザー名とパスワードを入力し、[サインイン] をクリックします。
サインインすると、ブラウザで下記のポップアップが表示されます。[VMware Horizon Client 32-bitを開く] をクリックします。
Horizon Clientの画面に遷移されます。Active Directoryのユーザー名とパスワードを入力し、ログインすることにより、ユーザーが接続できるデスクトップが表示されます。
今回はAzure ADアカウントの認証後に、オンプレミス ADアカウントの認証処理が発生していますが、オンプレミス ADの認証を省略してシングルサインオンでアクセスすることも可能です。省略するためには、True SSOと呼ばれる機能を構成する必要があります。
詳細は、下記URLをご確認ください。
https://docs.vmware.com/jp/VMware-Horizon/2111/horizon-console-administration/GUID-920C70D6-90B6-44A1-95E4-6A87E791C97F.html
まとめ
Unified Access Gateway(UAG)とAzure ADのSAML連携設定について紹介しました。
リモートワークでHorizonの仮想デスクトップを活用している場合、インターネットからの接続先ゲートウェイとして、UAGを活用しているケースは多いかと思います。UAG経由で仮想デスクトップに接続する場合は、内部から接続する場合よりセキュリティを気にかける必要があります。Azure ADとUAG間でSAML連携設定をすることにより、ID、パスワード認証にプラスしてMicrosoft Authenticator アプリを組み合わせた2要素認証が行えます。別途、認証に必要なサーバー等を構築する必要がないので、コストを欠けずセキュリティを強化できるのではないでしょうか。
今後もHorizonの情報を発信していく予定ですので、ご確認いただければ幸いです。
SB C&S が提案する仮想化ソリューションについての情報はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
石井 基久 - Motohisa Ishii -
VMware vExpert