Engineering

Azure Virtual Desktop の展開方法(EnraID Join + SSO+シングルセッション)

Azure Virtual Desktop の展開方法(EnraID Join + SSO+シングルセッション)の環境構築を解説します。

想定構成

Azure Virtual Desktop
Windows 11 24H2 (シングルセッション)
Microsoft Entra ID (EntraID Join)
ハイブリッドADや、マルチセッションには対応しておりません。
Windows11のイメージは下記で作成。
Azure Virtual Desktopの日本語イメージ作成方法(Windows 11 24H2シングルセッション向け) | さとりファクトリ

前提条件

AVDのシングルサインオンのためには下記条件を前提としています。設計時に考慮してください。
・セッションホストをリソースプールに所属させる。例では「rg-azurevirtualdesktop-prod」を利用しています。
・EntraIDの動的メンバーシップ ルールを使用してグループに所属させる。例では「GRP_AVD_PCs 」に所属させています。
・EntraIDでAVDに接続できるユーザをグループに登録する。例では「GRP_AVD_Users」に所属させています。

Azure Virutal Desktop構築時の設定

ホストプール作成時に、「参加するドメインで」「Microsoft ENtra ID」を選択してプールを作成します。

リソースグループへの設定

セッションホストが所属するリソースグループの「アクセス制御」から役割ロール「仮想マシンのユーザログイン」に対してAVDを利用するユーザグループである「GRP_AVD_Users」に権限を付与します。

AVDのRDPプロパティの設定

Azure VIrtual Desktopのホストプールの「RDPプロパティ」で、「Microsoft Entraシングルサインオン」で「接続はMicorosft Entra 認証を使用してシングルサインオンを提供します」を選択する。

RDP の Microsoft Entra 認証

まず、Microsoft Entra テナントで Windows の Microsoft Entra 認証を許可します。Microsoft リモート デスクトップ、Windows クラウド ログインでRDP認証を許可します。

詳細は下記をご確認ください。
Microsoft Entra ID を使用して Azure Virtual Desktop に対するシングル サインオンを構成する | Microsoft Learn

Microsoft Graph PowerShell SDKを使用してPowershellから作業をします。
Microsoft Graphインストールしてない場合は下記コマンドでインストールしてください。
Install the Microsoft Graph PowerShell SDK | Microsoft Learn

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force

作業したいテナントに接続してください。-tenantid部分はご自身の環境に変更してください。

Import-Module Microsoft.Graph.Authentication
Import-Module Microsoft.Graph.Applications

Connect-MgGraph -tenantid <xxxxxxxxxxxxxxxxxxxxxx> -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"

次のコマンドを実行して、Microsoft リモート デスクトップ、Windows クラウド ログインの プリンシパルのオブジェクト ID を取得し、変数をTrunに変更します。

$MSRDspId = (Get-MgServicePrincipal -Filter "AppId eq 'a4a365df-50f1-4397-bc59-1a1564b8bb9c'").Id
$WCLspId = (Get-MgServicePrincipal -Filter "AppId eq '270efc09-cd0d-444b-a71f-39af4910ec45'").Id

If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId) -ne $true) {
    Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId -IsRemoteDesktopProtocolEnabled
}

If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId) -ne $true) {
    Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId -IsRemoteDesktopProtocolEnabled
}

変更結果を確認してください。

Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId
Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId

下記出力になれば成功です。

Id IsRemoteDesktopProtocolEnabled
-- ------------------------------
id True

同意プロンプト ダイアログを非表示

ユーザがAVDへ初回ログインするときに、認証許可のダイアログが出ますが、こちらを設定することでその表示を抑制することができ、ユーザビリティを向上させることができます。

詳細はこちら
Microsoft Entra ID を使用して Azure Virtual Desktop に対するシングル サインオンを構成する | Microsoft Learn

Microsoft Entra ID に、ダイアログを非表示にするセッション ホストを含む動的グループを作成します。今回は 「GRP_AVD_PCs 」を作成してあります。そのグループのオブジェクト ID をメモしておきます。
EntraIDのグループ画面から取得できます。


一つ前の手順で使用したMicrosoft Graphから下記をコマンドを実行して targetDeviceGroup オブジェクトを作成し、 Group object IDとGroup display nameを上記の値に置き換えます

$tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
$tdg.Id = "<Group object ID>"
$tdg.DisplayName = "<Group display name>"

次のコマンドを実行して、targetDeviceGroup オブジェクトにグループを追加します。

New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -BodyParameter $tdg
New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -BodyParameter $tdg

次の出力になれば完了です。

Id                                   DisplayName
--                                   -----------
12345678-abcd-1234-abcd-1234567890ab Contoso-session-hosts

シングルサインオンのテスト

ここまでの作業でSSOができるようになっています。
「WindowsApp」アプリでログインをしてみてください。
下記の最初のサインインのみID、パスワードが求められます。その後はパスワードを求められずに仮想マインまでログインが可能です。

条件付きアクセスの設定

Windows Appのサインイン時のみ、2要素認証を要求し、その後は2要素認証無しで接続するには、下記のように条件付きアクセスを設定します。

条件付きアクセスを使用して Azure Virtual Desktop に Microsoft Entra 多要素認証を適用する – Azure | Microsoft Learn

①すべてのアプリケーションに対して2要素などの条件を適用します。

②対象外に下記アプリケーションを登録します。

AVDの費用感を知りたい方へ

AVDの導入を検討しているけれど、費用イメージがつかない、、とお困りの方に向けて、簡易的ではありますが参考費用を算出していただけるExcelシートをリリースいたしました!

AVD利用人数、1人当たりのスペック、利用時間、Microsoftライセンスの有無をご記入もしくはご選択いただくと、月額費用を算出していただけます。

ちょっと参考費用を知りたい、という方はぜひご活用ください!

必要に応じてもっと詳細をお伺いしたうえで精緻なお見積りをさせていただくことも可能です。
その際はこちらよりお気軽にお問い合わせくださいませ。

     

関連記事

コメント

この記事へのコメントはありません。

TOP