BlogAVD Teil  4  – FSLogix-Profil-Container auf Azure Files

AVD Teil  4  – FSLogix-Profil-Container auf Azure Files

Nachdem wir in Teil zwei und drei unserer Azure Virtual Desktop-Serie zahlreiche Varianten der FSLogix-Integration-, Bereitstellung und Konfiguration im Allgemeinen vorgestellt haben, zeigt dieser abschließende Beitrag zur Serie konkret, wie du FSLogix-Profil-Container mit Azure Files nutzt, wenn deine Session-Hosts EntraID-Joined sind und du die Entra-ID-Kerberos-Authentifizierung nutzen möchtest.

Zur kompletten Azure Virtual Desktop Beitragsreihe:

Da die Funktion, Azure-Files mit auf Entra-ID-basierendem identitätsbasierten Zugriff zu nutzen, auch im Allgemeinen von Interesse ist, trennen wir die allgemeine Funktionalität vom Use-Case AVD/FSLogix.

Zunächst zur allgemeinen Verwendung: Hier geht es darum, dass du mit Windows-10/11-Clients, die zwar Mitglieder deines Unternehmens und damit deiner ADDS-Domäne sind, mit denen du aber meist mobil unterwegs bist über das Internet identitätsbasierend auf eines Azure-Dateifreigabe zugreifen kannst. Die benötigten Kerberos-Tickets stellt dann das Entra ID aus. Das klappt allerdings nur mit hybriden Benutzern und Geräten, d. h. du brauchst den Directory Sync mit Azure AD Connect. Folgende Abbildung von Microsoft verdeutlicht den Use Case:

Die Architektur von Azure Files mit Entra-ID-Kerberos

Das funktioniert im „mobilen“ Internet-Szenario mit gewöhnlichen Freigabeberechtigungen. Hat dein Client (im Unternehmen) trotzdem eine Sichtverbindung zum lokalen ADDS, kannst du Berechtigungen auch über Windows-ACLs steuern.

Zur Erinnerung: Möchtest du Azure-Dateifreigabe zentral bereitstellen, gibt es drei Möglichkeiten, SMB mit identitätsbasiertem Zugriff mit passenden Berechtigungen auf NTFS-Ebene einzurichten:

  • Lokale Active Directory Domain Services (AD DS)
  • Microsoft Entra Domain Services
  • Microsoft Entra ID

Welche du davon verwendest, hängt davon ab, wo deine zentrale Benutzerverwaltung stattfindet (ADDS versus EntraID) und welchem „Verzeichnis“ deine Clients beigetreten sind. Letztere können, wenn es sich um Windows-10/11-Clients handelt, durchaus auch „nur“ einem Entra-ID-Verzeichnis betreten (im Falle von FSLogix). Deine Nutzer müssten dann natürlich trotzdem hybrid sein.

Wir haben im zweiten und dritten Teil bereits auf die Möglichkeit der Entra-ID-Kerberos-Authentifizierung hingewiesen: Hierbei stellt Entra ID die benötigte Kerberos-Tickets für den Zugriff auf die Dateifreigabe mit dem SMB-Protokoll aus. Deine Nutzer können dann ohne eine „Sichtverbindung“ zu einem Domänencontroller über das Internet auf Azure-Dateifreigaben zugreifen. Mit der zugewiesenen Berechtigung auf Freigabeebene kann die gewährte Identität allerdings erstmal ausschließlich auf die Freigabe zugreifen, nicht jedoch auf andere Elemente – auch nicht auf das Stammverzeichnis.

Möchtest du Windows-Zugriffssteuerungslisten (Access Control Lists, ACLs) bzw. Berechtigungen auf Verzeichnis- und Dateiebene für deine Benutzer oder Gruppe konfigurieren, brauchst du dennoch eine Sichtverbindung zu einem lokalen Domänencontroller. Per Default erzwingen Azure-Dateifreigaben nämlich standardmäßige Windows-Zugriffssteuerungslisten sowohl auf der Verzeichnis- als auch der Dateiebene (einschließlich des Stammverzeichnisses). Die Konfiguration von Berechtigungen auf Verzeichnis- oder Dateiebene ist über SMB und REST möglich. Bindest du die gewünschte Dateifreigabe in deinen Client ein, kannst du Berechtigungen mit dem Datei-Explorer unter Windows, mit Windows-icacls oder mit dem Befehl Set-ACL konfigurieren.

Werfen wir zunächst einen detaillierten Blick auf die erforderlichen Schritte im Detail, wenn du einen Windows-Client für den Zugriff auf Azure-Files mit identitätsbasiertem Zugriff konfigurieren möchtest.

1. Stelle sicher, dass du die Voraussetzungen für die Microsoft Entra Kerberos-Authentifizierung für hybride Identitäten erfüllst. Zu Erinnerung:

  • Deine Azure-Dateifreigabe muss die identitätsbasierte Authentifizierung über SMB unterstützen. Das klappt mit Standard-Dateifreigaben (GPv2), LRS/ZRS oder GRS/GZRS und Premium-Dateifreigaben (FileStorage), LRS/ZRS.
  • Deine Clients (oder später deine „Sessionhosts“) müssen Microsoft Entra Hybrid Joined oder Microsoft Entra Joined sein (im FSLogix-Szenario) und nutzen Windows 11 Enterprise/Pro oder Windows 10 Enterprise/Pro Version 2004 oder höher mit den neuesten kumulativen Updates.
  • Deine hybriden Benutzer-Identitäten sind lokale AD DS-Identitäten, die mit Microsoft Entra ID synchronisiert sind, denn reine Cloud-Only-Identitäten werden nicht unterstützt.
  • Achte darauf, dass deine Azure-Dateifreigabe nicht schon mit einer anderen AD-Methode wie AD DS oder Microsoft Entra Domain Services authentifiziert ist, denn du kannst nur eine AD-Methode für die identitätsbasierte Authentifizierung mit Azure Files verwenden.

2. Aktiviere die Microsoft Entra Kerberos-Authentifizierung für hybride Benutzerkonten in deinem Speicherkonto, das die Azure-Dateifreigabe hostet. Wir haben das im Teil 2 dieser Workshop-Serie ausführlich demonstriert:

  • Navigiere im Azure-Portal zu deinem Speicherkonto und dort in deine Azure-Dateifreigabe.
  • Klicke sofern noch nicht erledigt im Tab „Eigenschaften“ bei „Identitätsbasierter Zugriff“ bei „Verzeichnisdienst“ auf „Konfigurieren“.
  • Klicke dann bei „Microsoft Entra Kerberos“ auf „Konfigurieren“, setze den Haken bei „Microsoft Entra Kerberos“ und trage ggf. bei „Domänenname“ den Namen deiner Active-Directory-Domäne ein und darunter die zugehörige „Domänen-GUID“, wenn Du mit Windows-ACLs arbeiten möchtest.
Die EntraID-Kerberos-Authentifizierung
Die EntraID-Kerberos-Authentifizierung

Diese ermittelst du z. B. mit „repadmin /showreps <Name DC>“. Möchtest du die Berechtigungen auf Verzeichnis- und Dateiebene stattdessen lieber mithilfe von icacls konfigurieren, kannst du den Schritt auch überspringen. Für icacls benötigt der Client aber eine Sichtverbindung zum lokalen AD. Klicke auf „Speichern“. Alternativ wählst du bei „Schritt 2: Berechtigungen auf Freigabeebene festlegen“ wie schon in Teil 3 gezeigt bei „Standardberechtigungen auf Freigabeebene“ lediglich die Option „Berechtigungen für alle authentifizierten Benutzer und Gruppen aktivieren“ und dann die RBAC-Rolle „Mitwirkender für Speicherdateidaten-SMB-Freigabe“.

Die Berechtigungen auf Freigabeebene
Die Berechtigungen auf Freigabeebene

3. Nachdem du die Microsoft Entra-ID-Kerberos-Authentifizierung aktiviert hast, entsteht in deinem Entra ID eine neue Microsoft Entra-ID-„Anwendung“ mit der zugehörigen App-Registrierung in deinem Microsoft Entra-ID-Mandanten. Dieser musst du explizit die Administratoreinwilligung erteilen. Der Dienstprinzipal wird zwar automatisch generiert, aber nicht für die Autorisierung für die Dateifreigabe genutzt. Gehe dazu wie folgt vor:

  • Suche in deinem Entra ID die betreffende App-Registrierung. Diese hört auf den Namen „[Storage-Account-Name].file-core.windows.net“.
  • Wähle links den Menüeintrag „API-Berechtigungen“ und klicke dort auf „Administratorberechtigungen für <Unternehmensname> erteilen“.
Administrator-Berechtigungen für die App-Registrierung
Die Administrator-Berechtigungen für die App-Registrierung

4. Microsoft Entra-ID-Kerberos unterstützt leider nicht die Verwendung von MFA für den Zugriff auf Azure-Dateifreigaben, die mit Microsoft Entra Kerberos konfiguriert sind. Daher musst du noch die Microsoft Entra-App, die dein Speicherkonto repräsentiert, aus deinen möglicherweise vorhandenen MFA-Richtlinien für bedingten Zugriff ausschließen, falls Diese für alle Apps gelten.

  • Klicke dazu in deiner Conditional-Access-Richtlinie im Abschnitt „Zielressourcen“ im Tab „Ausschließen“ auf „Ausgeschlossene Cloud-Apps auswählen“ und suche nach „[Speicherkonto] <your-storage-account-name>.file.core.windows.net.“
Storage-Account-Identität aus einer Conditional-Access-Policy ausschließen
Du musst die Storage-Account-Identität aus einer Conditional-Access-Policy ausschließen
  • Schließt du nämlich die Speicherkonto-App nicht in deiner MFA-Richtlinie aus, kannst du nicht auf die Dateifreigabe zugreifen. Versuchst du sie mit „net use“ zuzuordnen, wird es zu einer Fehlermeldung kommen.

5. Wie oben beschrieben kannst du bei aktiviertem identitätsbasiertem Zugriff für jede Freigabe festlegen, welche Benutzer und Gruppen auf Diese zugreifen können. Sind Benutzer für eine Freigabe zugelassen, gelten die Windows-Zugriffssteuerungslisten („ACLs“ oder auch „NTFS-Berechtigungen“ genannt) für einzelne Dateien und Ordner, sodass sich die Berechtigungen wie bei einer gewöhnlichen SMB-Freigabe eines Windows-Servers präzise steuern lassen.

Zum Konfigurieren der Windows-Zugriffssteuerungslisten (ACLs) für deine Azure-Dateifreigabe zum Festlegen der Berechtigungen für deine hybriden Benutzer hast du die zwei oben erwähnten Möglichkeiten:

  • Windows-Datei-Explorer: Für diese Option muss dein Client über die Domäne in das lokale AD eingebunden sein.
  • icacls-Tool: Mit dieser Option muss der Client nicht in Domäne eingebunden sein, braucht aber eine Sichtverbindung zum lokalen AD.

Möchtest du Berechtigungen auf Verzeichnis- und Dateiebene im Windows-Datei-Explorer konfigurieren, musst du wie erwähnt den Domänennamen und die Domänen-GUID für deine lokale AD-Instanz angeben.

Azure-Files mit identitätsbasiertem Zugriff und FSLogix

Nach diesen allgemeinen Erläuterungen kommen wir nun zu unserem FSLogix-Szenario, indem der oben erwähnt „Client“ quasi unser Sitzungshost ist, d. h. du kannst die oben beschriebene Funktion auch verwenden, um FSLogix-Profile auf Azure-Dateifreigaben für in Microsoft Entra eingebundene VMs zu speichern. Der Sitzungshost ist dann „nur“ dem Entra-ID beigetreten und hat selbst keine Identität im ADDS. Du brauchst aber bei Kerberos trotzdem hybride Nutzerkonten, also ein funktionierende Entra-ID-Connect-Synchronisation.

Bei Verwendung für FSLogix-Profile in Azure Virtual Desktop müssen deine Sessionhosts ebenfalls nicht zwingend über eine Sichtverbindung zu einem Domänencontroller (DC) verfügen. Eine Solche ist aber erforderlich, um die Berechtigungen für die Azure Files-Freigabe zu konfigurieren.

Wie erwähnt nutzt FSLogix SMB-Speicher, um Profile- oder ODFC-Container zu speichern. Wir haben auch schon erklärt, dass SMB-Berechtigungen für Azure Files auf gewöhnlichen NTFS-ACLs basieren, die auf Datei- oder Ordnerebenen angewendet werden. Dann musst du bei Azure Files eines Active Directory-Quelle (AD) aktivieren. Du kannst der Ressource aber auch lediglich Berechtigungen auf Freigabeebene zuweisen. Dazu weist du im oben erwähnten Dialog „Standardberechtigungen auf Freigabeebene“ allen authentifizierten Identitäten dieser Standardberechtigung auf Freigabeebene die IAM-Rolle „Mitwirkender für Speicherdaten-SMB-Freigabe“ zu. Möchtest Du aber Windows-ACLs verwenden, was für FSLogix empfehlenswert ist, darfst du lediglich  ausgewählten Entra-ID-Nutzern (deinen AVD-Usern) die Rolle „SMB-Freigabe mit erhöhten Mitwirkenden für Speicherdateidaten“ zuweisen. Das machst Du im Abschnitt „IAM“ deines Speicherkontos:

Erhöhte SMB-Freigaberechte für ausgewählte AVD-User
Erhöhte SMB-Freigaberechte für deine ausgewählten AVD-User

Schließlich solltest du beim Konfigurieren der Berechtigungen auf Verzeichnis- und Dateiebene die empfohlene Liste der Berechtigungen für FSLogix-Profile berücksichtigen, denn ohne passende Berechtigungen auf Verzeichnisebene kann ein Benutzer das Benutzerprofil löschen oder auf die personenbezogenen Informationen eines anderen Benutzers zugreifen. Details dazu findest du im entsprechenden Abschnitt unten.

Sitzungshost konfigurieren

Wichtiger ist für den Moment, deine Sitzungshosts so zu konfigurieren, dass sie von einer in Microsoft Entra eingebundenen VM (dem Sessionhost) auf in Azure-Dateifreigaben gespeicherte FSLogix-Profile zugreifen können. Dazu gibt es theoretisch mehrere Methoden:

  • Du könntest theoretisch in Intune einen Richtlinien-CSP auf den Sitzungshost anwenden: Dieser hieße „Kerberos/CloudKerberosTicketRetrievalEnabled.“ Allerdings unterstützen die Windows Multisession-Clientbetriebssysteme keinen Richtlinien-CSP, sondern lediglich den Einstellungskatalog von Intune.
  • Alternativ aktivierst du eine Gruppenrichtlinie auf den Sitzungshosts.

-Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon

  • Oder du erstellst einfach den folgenden Registrierungswert auf deinen Sitzungshosts, sofern es nur Wenige sind mit Regedit.

reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters /v CloudKerberosTicketRetrievalEnabled /t REG_DWORD /d 1.

Registrierungseinstellung auf dem Sessionhost
Entscheidend ist auf dem Sessionhost diese Registrierungseinstellung
  • Zudem müssen die Anmeldeinformationsschlüssel in der Anmeldeinformationsverwaltung zu dem Profil gehören, das gerade geladen wird, damit du dein Profil schließlich auf verschiedenen VMs laden kannst. Auch das erreichst Du mit einem neuen Registrierungswert

reg add HKLM\Software\Policies\Microsoft\AzureADAccount /v LoadCredKeyFromProfile /t REG_DWORD /d 1

Registrierungseinstellungen auf dem Sessionhost lassen sich per PS setzen
Die erforderlichen Registrierungseinstellungen auf dem Sessionhost lassen sich per PS setzen

FSLogix ausprobieren

Teste nun deine FSLogix-Bereitstellung, indem du dich mit einem passenden hybriden Benutzerkonto anmeldest, welches in der Anwendungsgruppe deines Hostpools eine entsprechende Zuweisung hat. Das Konto muss die beschriebenen Berechtigungen zur Verwendung der Dateifreigabe haben (RBAC-Rollenzuweisung im Speicherkonto).

Allerdings wird zu diesem Zeitpunkt vermutlich das Problem bestehen, dass sich dein Benutzer schon vor der FSLogix-Installation und Konfiguration beim Sessionhost angemeldet hat. In diesem Fall hat er auch bereits ein lokales Profil und das Einbinden des FSLogix-Profils schlägt fehl.

Erstelle daher zum Ausprobieren von FSLogix beispielsweise erst ein komplett neues hybrides Benutzerkonto. Optional kannst Du dich auch mit einem administrativen Konto am Sessionhost anmelden und dort in Regedit folgende Registrierungseinstellung hinzufügen:

DeleteLocalProfileWhenVHDShouldApply.

In diesem Fall wird ein eventuell vorhandenes gleichnamiges lokales Profil sofort gelöscht, wenn eine FSLogix-VHD angehängt werden soll.

Regedit-Key (Dword 64Bit) Erstellung
Erstelle manuell dieses Regedit-Key (Dword 64Bit), wenn Du ein vorhandenes lokales Profil automatisch löschen lassen möchtest

Ist alles erledigt, kannst du dich mit einem passenden Benutzer am an Azure Virtual Desktop anmelden. Der Windows-Anmeldevorgang sollte Dich dann über das Einbinden eines FSLogix-Profils informieren.

Einbinden eines FSLogix-Profilcontainers
Das erfolgreiche Einbinden eins FSLogix-Profilcontainers

Außerdem kannst du im Azure-Portal zu deiner FSLogix-Dateifreigabe navigieren und solltest dort für jeden angemeldeten Benutzer ein Verzeichnis mit dessen Namen in der Form: „<user SID>_<username>“ und darin die zugehörige VHD sehen:

Profil-VHD
Die zum FSLogix-Profil gehörige Profil-VHD

Selbstverständlich sieht der Benutzer das gleiche Verzeichnis mit seinem Profil auch in seiner Session:

Profildisk auf der FSLogix-Freigabe in der Session
Die Profildisk auf der FSLogix-Freigabe in der Session

Empfohlene Liste der Berechtigungen für FSLogix-Profile

Für eine praxisgerechte und sichere Konfiguration deiner FSLogix-Dateifreigaben auf Azure-Files sind die Windows-ACLs enorm wichtig, damit nur der Benutzer selbst (CREATOR OWNER) Zugriff auf sein Profilverzeichnis oder seine VHD(X)-Datei hat. Du musst außerdem sicherstellen, dass alle übrigen administrativen Gruppen aus „betrieblichen Gründen“ immer “Vollzugriff” haben, der so genannte „benutzerbasierte Zugriff“, was auch die empfohlene Konfiguration von Microsoft ist.

Für eine auf Azure-Files gehostete SMB-Dateifreigabe würde ein passender Standard-ACL-Satz so aussehen, wie in folgender Abbildung:

Standardberechtigungen auf deiner Dateifreigabe
Die empfohlenen Standardberechtigungen auf deiner Dateifreigabe

Kontakt

Dein INCAS Team
Akkordion öffnen
telephone-icon-contact-coaching-box
0800 4772466
email-icon-contact-coaching-box
info@incas-training.de

*“ zeigt erforderliche Felder an

Hidden
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Schulungen die dich interessieren könnten

Bewertungen

Kundenstimme männlich
Markus H.
CARAT Dreieich
star-participantstar-participantstar-participantstar-participantstar-participant
Der Trainer machte einen sehr netten und kompetenten Eindruck und ging auf unsere Wünsche und Anregungen sehr praxisorientiert ein .
Kundenstimme männlich
Dimitri B.
HSBC Trinkaus
star-participantstar-participantstar-participantstar-participantstar-participant
Sehr informativ und in der Praxis wiederverwendbar.
Kundenstimme männlich
Mausolf B.
Struers GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Tolle Schulung - kompetenter Trainer, der geduldig auf alle Fragen einging, diese beantworten konnte und darüber hinaus viele neue Anregungen mit auf den Weg gab. Die Schulung hat Spaß gemacht.
Kundenstimme männlich
Wolfgang N.
ThyssenKrupp Nirosta
star-participantstar-participantstar-participantstar-participantstar-participant
Eine gute Adresse für das Erlernen scheinbar schwieriger und trockener Themen, die hier gut aufbereitet werden.