SSO für Azure Virtual Desktop mit AD Benutzer

In meinem Lab habe ich nun für Active Directory User SSO aktiviert. Ich hatte bereits eine Konfiguration, welche es Benutzern ermöglichte, sich anzumelden. Die Benutzer und die Session Hosts sind bereits Hybrid. Nun können sich die Benutzer sich ohne zusätzliche Eingabe von Passwort anmelden.

Um das zu realisieren habe ich mich an die Dokumentation von Microsoft gehalten:
Konfigurieren von einmaligem Anmelden für Azure Virtual Desktop mit Microsoft Entra-Authentifizierung

Darin werden die Schritte beschrieben, die durchgeführt werden müssen, um einmaliges Anmelden zu aktivieren. Beachten sollte man auch den Hinweis wegen dem Sperren der Sitzung! Die Realisation habe ich in folgender Reihenfolge durchgeführt:

  • Erstellen einer Gruppe in Microsoft Entra ID, welche alle AVD Zielgeräte enthalten
  • Konfigurieren von Microsoft Entra ID Tenant
    • Aktivieren der Microsoft Entra-Authentifizierung für RDP
    • Konfigurieren der Gruppe mit den Zielgeräten
  • Erstellen eines Kerberos-Serverobjekts
  • Überprüfen der Richtlinien für Conditional Access
  • Aktivieren einmaliges Anmelden auf dem Hostpool

Erstellen einer Gruppe in Microsoft Entra ID

Als erstes habe ich eine Gruppe erstellt, welche dann dynamisch alle Computer Accounts enthalten wird. Theoretisch könnte man auch verschiedene Gruppen verwenden, jedoch sind nur 10 Gruppen in der Konfiguration möglich! Daher habe ich mich für eine einzelne Gruppe entschieden.

Konfigurieren von Microsoft Entra ID Tenant

Die Schritte „Aktivieren der Microsoft Entra-Authentifizierung für RDP“ und „Konfigurieren der Gruppe mit den Zielgeräten“ habe ich in einem Schritte realisiert. Dazu habe ich mir ein Script erstellt, welche ich hier nun gerne teile. Haftungsausschluss: Das Script ist wie es ist, ich überneheme keine Garantie für die Funktion des Scriptes!

Update

Kurz nach der Veröffentlichung dieses Artikels informierte mich ein befreundeter Mitarbeiter von Microsoft, der auch als Mitwirkender an den Artikel-Updates beteiligt ist, dass ein Update mit PowerShell-Modulen bevorstehe.

In der Zwischenzeit wurde eine aktualisierte Version des Skripts entwickelt, welche die neuesten PowerShell-Module von MSGraph voraussetzt (nähere Informationen dazu sind im Microsoft-Artikel zu finden). Des Weiteren wurden Skripte erstellt, die entweder die Konfiguration rückgängig machen oder diese lediglich anzeigen.

Aktivieren der Single-Sign-On Konfiguration

Entfernen der Single-Sign-On Konfiguration

Überprüfen der Single-Sign-On Konfiguration

Erstellen eines Kerberos-Serverobjekts

Hier habe ich mich wieder an die Dokumentation von Microsoft gehalten, welche man unter folgendem Link findet:
Erstellen eines Kerberos-Serverobjekts

Ich habe das Beispiel 4 auf dem Microsoft Entra Connect Server ausgeführt, da ich dort noch ein GUI habe, und mich im Lab dort meist mit einem Domain Admin anmelde.

Conditional Access

Ich habe eine Conditional Access Richtlinie, die für meine AVD Tests ist. Dies habe ich wie folgt konfiguriert:

Mit diesen Einstellungen sind die Conditional Access Policies vorbereitet. Zum testen habe ich mein Benutzer hinzugefügt. Hier sollte man die Gruppe verwenden, welche für die Desktops verwendet wird, oder entsprechend den Vorgaben der Firma.

Es ist zu beachten, dass wenn SSO auch mit Microsoft Entra ID Only Benutzer und Host Pools umgesetzt werden soll, müssen die Service Principals der Storage Accounts welche in Microsoft Entra ID gejonit sind, unter Cloud Apps ausgeschlossen werden.

Aktivieren einmaliges Anmelden auf dem Hostpool

Nun ist es eigentlich geschafft. Für die Bereitstellung und Verwaltung von Azure Virtual Desktop verwende ich Nerdio Manager for Enterprise. Darin habe ich RDP Profile die ich dann den entsprechenden Hostpools zuweisen kann. Das sieht dann wie folgt aus:

Im Profil wird nach enablerdsaadauth gesucht und aktiviert.

In den Eigenschaften des Hostpools kann nun unter RDP Settings das Profil gewechselt werden.

Abschluss

Nach dem nun alle Einstellungen vorgenommen sind, kann der Login getestet werden. Vorgängig sollte jedoch der Feed im Azure Virtual Desktop Client aktualisiert werden, damit alle Änderungen übernommen werden.

Ich hoffe diese Artikel, und besonders das PowerShell Script kann dem einen oder anderen Helfen, und wünsche viel Spass beim Testen.