BlogCloud-basiertes NAS mit Azure Files und Kerberos-Authentifizierung für Hybrid-Identitäten

Cloud-basiertes NAS mit Azure Files und Kerberos-Authentifizierung für Hybrid-Identitäten

Du möchtest deinem lokalen Datei-Server durch einen auf Basis von Azure Files ersetzen? Das funktioniert sehr einfach aus Basis von Azure Storage Files im Zusammenhang mit der Azure AD-Kerberos-Authentifizierung und hybrid im Azure AD eingebundenen Clients.

Für das Synchronisieren der lokalen Computer- und Benutzer-Konten verwendest du dann Azure AD Connect. Darüber hinaus benötigst du für den eigentlichen Zugriff einer „Sichtverbindung“ zu Azure Files, da Azure Files SMB-Anfragen erwartet. Dies bewerkstelligst du z. B. mit Hilfe einer VPN- oder Express-Route-Verbindung. Ich erkläre daher hier nicht, wie Azure AD Connect einzurichten ist, bzw. wie du ein VPN mit Azure betreibst, sondern verweise hierzu auf andere Beiträge in diesem Blog. Auch die grundsätzliche Funktionsweise von Azure Storage Files muss ich für diesen Beitrag voraussetzen. Dieser Beitrag konzentriert sich daher auf das Aktivieren/Ermöglichen der Kerberos-Authentifizierung für Hybrid-Benutzer für Azure Files.

In der Praxis umfasst das Thema allerdings deutlich mehr Aspekte. Hier steht meist die Migration eines bestehenden NAS-Systems oder Files-Servers zu Azure im Vordergrund. Ebenfalls geht es hier häufig auch um eine Optimierung der Performance beim Zugriff. Hierfür (also für die Migration UND einen performanten Zugriff) ist beispielsweise „Azure File Sync“ die perfekte Lösung. Azure Files Sync werde ich allerdings in einem künftigen Beitrag besprechen. Hier gehen wir davon aus, dass wir einen komplett neuen Dateiserver in der Cloud aufsetzen.

Diese Konfiguration erlaubt deinen Hybrid-Benutzern (also Benutzern, die sowohl in deinen Active Directory, als auch in deinem Azure Active Directory existieren) via Kerberos-Authentifizierung auf deine in Azure-Files gehosteten Dateifreigaben zuzugreifen. In folgendem Beispiel nutzt du Azure AD zum Ausstellen der benötigten Kerberos-Tickets für den Zugriff auf die Dateifreigabe via SMB. Damit könnten deine Endbenutzer theoretisch sogar ohne eine „Sichtverbindung“ zu deinen lokalen Domänen-Controllern über das Internet auf deine Azure-Dateifreigaben zugreifen. Möchtest du jedoch Windows-ACLs oder Berechtigungen auf Verzeichnis- und Dateiebene für einen Benutzer oder eine Gruppe konfigurieren, ist selbstverständlich eine Sichtverbindung zu einem lokalen Domänencontroller erforderlich. Du brauchst immer eine „Sicht-Verbindung“ zwischen deinem lokalen Netzwerk und Azure Files für den eigentlichen SMB-Zugriff, solange du diese Einschränkung nicht mit dem Dienst Azure File Sync umgehst, der das File-REST-Protokoll unterstützt. Dazu mehr in einem anderen Artikel.

Übrigens musst du dich in der Praxis für genau eine AD-Methode für eine identitätsbasierte Authentifizierung mit Azure Files entscheiden. Anstelle der Azure AD Kerberos-Authentifizierung für Hybrid-Identitäten könntest du optional auch eine lokale AD DS-Instanz oder die „Azure Active Directory Domain Services“ (ADDS) verwenden. Allerdings unterscheiden sich die Konfigurationsschritte und unterstützten Szenarien für die einzelnen Methoden voneinander. Klickst du in einer Azure Storage Dateifreigabe auf der „Übersichtsseite“ im Abschnitt „Active Directory auf den Link „Nicht konfiguriert“, siehst du die verschiedenen Optionen:

Drei verschiedene Optionen für die AD-basierte Authentifizierung.

Voraussetzungen

Wir konzentrieren uns hier auf die dritte Option. Was die „Client“-Seite betrifft musst du bedenken, dass die hier gezeigte Kerberos-Funktionalität von Azure AD für hybride Identitäten nur für Windows 11 in der Pro- oder Enterprise-Version zur Verfügung steht  sowie für Windows 10 Pro- oder Enterprise ab Version  2004 oder höher mit den neuesten kumulativen Updates installiert, insbesondere https://support.microsoft.com/topic/november-22-2021-kb5007254-os-build-20348-380-preview-9a960291-d62e-486a-adcc-6babe5ae6fc1 „KB5007253 – 2021-11“ (Vorschau für kumulatives Update für Windows 10).

Außerdem kannst du den Zugriff von einem Windows Server 2022 aus realisieren, wenn die neuesten kumulativen Updates installiert sind, insbesondere  https://support.microsoft.com/topic/november-22-2021-kb5007254-os-build-20348-380-preview-9a960291-d62e-486a-adcc-6babe5ae6fc1  „KB5007254““ – 2021-11“ (Vorschau für kumulatives Update für Microsoft Server-Betriebssystemversion 21H2).

Zudem müssen deine Clients für die Azure AD/Kerberos-basierte Authentifizierung hybrid in Azure AD eingebunden sein (hybrid joined), was letztlich eine Funktion von Azure AD Connect ist, denn Azure AD Kerberos unterstützt keine Clients, die „nur“ mit Azure AD DS oder nur mit dem ADDS verknüpft sind und das Feature unterstützt auch keine Benutzerkonten, die „nur“ im Azure AD erstellt wurden (Organisationskonten). Vielmehr müssen die Benutzerkonten genau wie die Geräte (Computer-Konten) hybride Benutzeridentitäten sein. Du kommst also um das Einrichten von Azure AD Connect (oder Azure AD Cloud Sync) nicht herum, um Benutzerkonten oder Gruppen  initial im ADDS erstellen und dann synchronisieren zu können, denn beim späteren Zuweisen von Azure RBAC-Berechtigungen für deine Azure-Dateifreigabe zu einem Benutzer oder einer Gruppe müssen diese Entitäten  vorher im  Active Directory erstellt und mit Azure AD synchronisiert worden sein.

Die drei möglichen Geräte-Stati im Azure AD: „Registered“ (BYOD), „AAD joined“ und „Hybrid AAD joined“.

Ferner darf MFA für die Azure-App, welches das Speicherkonto repräsentiert (der zugehörige Serviceprinzipal wird  automatisch erstellt) nicht aktiviert sein. Die Kerberos-Ticketverschlüsselung ist bei Azure AD Kerberos übrigens initial immer AES-256, du kannst aber die SMB-Kanalverschlüsselung deinen Anforderungen anpassen.

Bereitstellung der Azure AD Kerberos Authentifizierung

Klicke also in der o. e. Abbildung (Azure Storage Dateifreigabe / „Übersichtsseite“ / Abschnitt „Active Directory auf den Link) auf  „Nicht konfiguriert“ und wähle die Option „Azure AD Kerberos“. Aktivere die Funktion durch Setzen des Häkchens bei „Azure AD Kerberos“.

Die Funktion „Domänendienste“ im unteren Teil des Dialogs ist optional und wird benötigt, wenn du Berechtigungen auf Verzeichnis- und Dateiebene im Windows-Datei-Explorer konfigurieren möchtest. Dann musst du den Domänennamen und den global eindeutigen Bezeichner (GUID) der Domäne für deine lokale ADDS-Instanz hier eintragen.

Du kannst aber Berechtigungen auf Verzeichnis- und Dateiebene auch über icacls konfigurieren und den Schritt hier überspringen. Bei icacls braucht der Client jedoch eine Sichtverbindung zum lokalen Active Directory. Klicke dann auf „Speichern“.

Die Domänendienste sind optional.

Im Schritt 2 „Berechtigungen auf Freigabeebene festlegen“ musst du Berechtigungen auf Freigabeebene konfigurieren, um Zugriff auf deine Dateifreigaben zu ermöglichen. Dazu gibt es zwei Möglichkeiten: du kannst entweder allen „authentifizierten Identitäten“ eine Standardberechtigung auf Freigabeebene zuweisen (Default) oder du wählst ganz bestimmten Azure AD Benutzern/Benutzergruppen an dieser Stelle gezielt aus.

Alternativ könntest du auch im Azure Portal für die Dateifreigabe im Abschnitt „IAM“ manuell z. B. die Rolle „Mitwirkender für Speicherdateidaten-SMB-Freigabe“ zuweisen:

Die zur Azure-AD-Authentifizierung passenden RBAC-Rollen für Azure-Dateifreigaben-Zugriff.

Hast du die Azure AD Kerberos-Authentifizierung aktiviert, entsteht wie oben erwähnt automatisch eine neue Azure AD-Unternehmensanwendung stellvertretend für das Speicherkonto in deinem Azure AD-Mandanten mit Hilfe eines Dienstprinzipals, welches nicht für die Autorisierung für die Dateifreigabe genutzt wird. Allerdings musst du dem Dienstprinzipal explizit die Administratoreinwilligung geben.

Suche dazu im Azure Portal nach „App-Registrierungen“. Dort findest du den zugehörigen Dienstprinzipal (hier „[Storage Account] nasdemosa.file.core.windows.net“.

Der Serviceprinzipal benötigt Administratoreinwilligungen.

Wechsele „in“ deine App-Registrierung und dort zum Menü „API-Berechtigungen“.

Klicke auf „Administratorzustimmung für <Mandantenname>“. Damit erteilst du deine Zustimmung für die drei angeforderten API-Berechtigungen „openid“, „profile“ und „User.Read“ für alle Konten in diesem Verzeichnis. Der das Speicherkonto mit der Azure-Dateifreigabe repräsentierende Dienstprinzipal im Azure AD erlaubt dann für alle Benutzerkonten aus dem Azure AD eine Anmeldung bei Azure Stoage und kann das grundlegende Profil eines jeden Nutzers anzeigen.

Das Erteilen der Administratoreinwilligung.

Das Ergebnis sollte so aussehen:

Die passenden API-Berechtigungen können jederzeit widerrufen werden.

Beachte Folgendes: Derzeit erlaubt Azure AD Kerberos nicht das Verwenden von MFA für den Zugriff auf eine mit Azure AD Kerberos konfigurierte Azure-Dateifreigabe. Du musst deine Azure AD-App, bzw. den Dienstprinzipal, der das zugrunde liegende Speicherkonto repräsentiert aus deiner ggf. vorhandenen MFA-Richtlinie für bedingten Zugriff ausschließen. Dazu machst du im Azure AD unter „Sicherheit / Bedingter Zugriff“. Du kannst bei den für die Richtlinie konfigurierten Benutzer im Tab „Ausschließen“ den zugehörigen Dienstprinzipal ausschließen.

Berechtigungen auf Freigabeebene

Hast du wie gewünscht deine Berechtigungen auf Freigabeebene eingerichtet, kannst du optional deinen Benutzern oder Gruppen Berechtigungen auf Verzeichnis-/Dateiebene erteilen, wozu dein Client-Gerät wie oben erwähnt eine Sichtverbindung zu einem lokalen AD braucht. Du hast dann zwei Möglichkeiten, Berechtigungen auf Verzeichnis- und Dateiebene mit der Azure AD Kerberos-Authentifizierung zu konfigurieren: Mit der Option „Windows-Explorer“ muss der Client über die Domäne in das lokale ADDS eingebunden sein. Optional kannst du das Windows-Hilfsprogramm „icacls“ dazu nutzen. Dann muss der Client nicht in Domäne eingebunden sein, aber er braucht wie oben beschrieben trotzdem eine Sichtverbindung zum lokalen AD.

Kerberos-Support auf dem Client

Jetzt muss du nur noch die Azure AD-Kerberos-Funktionalität auf den Clients aktivieren, von dem aus du auf deine Azure-Files-Freigaben zugreifen möchtest. Das musst du natürlich auf jedem einzelnen Client tun. Du machst das wahlweise mit der lokalen Gruppenrichtlinie „Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon.“ oder (falls du deine lokalen Geräte bereits über Intune verwaltest) mit der Intune-Richtline CSP (Kryptografiedienstanbieter). Diese heißt https://learn.microsoft.com/de-de/windows/client-management/mdm/policy-csp-kerberos#kerberos-cloudkerberosticketretrievalenabled  Kerberos/CloudKerberosTicketRetrievalEnabled

Das Aktivieren der Client-Seitigen Azure-AD-Kerberos-Funktionalität per Group Policy.

Außerdem muss du einen neuen Registrierungsschlüssel in der Registry des Clients erstellen:

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

Du kannst nun deine Dateifreigabe mit Hilfe des im Azure-Portal unter dem Knopf „Verbinden“ für die betreffende Dateifreigabe automatisch erzeugten Powershell-Skriptes mit der Authentifizierungsmethode „Active Directory“ dauerhaft in deine virtuelle Client-Maschine einbinden:  

Das Azure-Portal generiert für die Dateifreigabe automatisch ein passendes PS-Skript zum Einbinden.

Statt via „New-PSDrive“ wie es das automatisch generierte Skript tut, kannst du die Freigabe am Client auch traditionell mit „net use“ und dem Speicherkontoschlüssel einbinden.

net use Z: "\nasdemosa.file.core.windows.net\incas-nas" /u:AZURE\nasdemosa <kontoschlüssel>

Prüfe ggf. vorher, ob der Port 445 für SMB am Client erreichbar ist:

Test-NetConnection -ComputerName nasdemosa.file.core.windows.net -Port 445

Die eigentlichen Zugriffberechtigungen hängen jetzt aber am jeweiligen ADDS/AD-User (Sync).

Ein erfolgreich eingebundene Cloud-basierte SMB-Freigabe als NAS-Ersatz.

Prüfe ggf. die aktuellen Dateisystemberechtigungen mit …

icacls Z:

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
Thomas M.
Aldi GmbH & Co. KG
star-participantstar-participantstar-participantstar-participantstar-participant
Lernen in einem sehr entspannten und angenehmen Klima. Prima!
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.
Kundenstimme männlich
Lucas F.
Fa. Feld Textil GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Kann man nur weiterempfehlen! In kürzestem Zeitraum lernt man alle Basisdaten konkret und ausführlich.