Aktivieren Microsoft Entra Kerberos-Authentifizierung für Azure Files unter macOS mit Plattform-SSO (Vorschau)

Gilt für: ✔️ SMB-Dateifreigaben

In diesem Artikel wird erläutert, wie Sie Microsoft Entra Kerberos-Authentifizierung für Azure Files auf macOS-Geräten mithilfe von macOS Platform Single Sign-On (PSSO) (Vorschau) konfigurieren. Mithilfe dieser Konfiguration können mit Microsoft Entra verbundene macOS-Geräte nahtlos auf Azure-Dateifreigaben über SMB zugreifen, indem sie cloudbasierte Kerberos Ticket Granting Tickets (TGTs) verwenden, ohne dass Benutzer zur Eingabe von Anmeldeinformationen aufgefordert werden.

MacOS Platform SSO integriert Mac-Geräte in Microsoft Entra ID und ermöglicht Benutzern die Anmeldung mit ihren Microsoft Entra ID Anmeldeinformationen mithilfe eines hardwaregebundenen Schlüssels, einer Smartcard oder Microsoft Entra ID Kennworts. Zusätzlich zum Platform SSO Primary Refresh Token (PRT) stellt Microsoft Entra ID ein Cloud-Kerberos-TGT aus, das mithilfe der TGT-Zuordnung in PSSO mit dem nativen macOS-Kerberos-Stack gemeinsam genutzt wird. Lokale Kerberos-TGTs können auch bezogen werden, wenn der Client so konfiguriert ist (beispielsweise über Intune), dass lokale Domänencontroller abgefragt werden. Diese Konfiguration ermöglicht ein nahtloses einmaliges Anmelden, um Azure Files, ohne Benutzer zur Eingabe interaktiver Anmeldeinformationen aufzufordern.

Weitere Informationen zu Microsoft Entra Kerberos-Authentifizierung für Azure Files finden Sie unter Übersicht über Azure Files identitätsbasierte Authentifizierungsoptionen für den SMB-Zugriff.

Voraussetzungen

Bevor Sie Azure Files Zugriff auf macOS mithilfe von Platform SSO konfigurieren, führen Sie die folgenden Voraussetzungen aus.

MacOS-Geräteanforderungen

  • macOS Tahoe 26.5 oder höher mit den neuesten Updates installiert.
  • Microsoft Intune Unternehmensportal Version 5.2408.0 oder höher auf dem Gerät installiert.
  • Das macOS-Gerät muss in einer MDM-Lösung (Mobile Device Management) registriert werden.
  • macOS Platform SSO muss bereits konfiguriert und auf Geräten bereitgestellt werden. Falls Sie Platform SSO nicht konfiguriert haben, sehen Sie sich die Platform SSO-Dokumentation für allgemeine Informationen an oder die Intune-Bereitstellungsanleitung für Schritt-für-Schritt-Anweisungen an, bevor Sie weitermachen.

Azure Files Anforderungen

Berechtigungen und Toolanforderungen

Zum Ausführen des in diesem Artikel beschriebenen Skripts für die App-Registrierung benötigen Sie Folgendes:

  • PowerShell 5.1 oder PowerShell 7.x.
  • Die Microsoft. Graph.Applications PowerShell-Modul. Wenn Sie dieses Modul nicht installiert haben, führen Sie den Befehl aus Install-Module Microsoft.Graph.Applications -Scope CurrentUser.
  • Entweder die Microsoft Entra-Rolle Anwendungsadministrator oder Globaler Administrator mit der Microsoft Graph-API-Berechtigung Application.ReadWrite.All.

Aktualisieren des App-Registrierungs-ID-URI

Dieser Schritt ist nur erforderlich, wenn Sie über vorhandene Dateifreigaben im Speicherkonto verfügen. Sie gilt nicht für neu erstellte Dateifreigaben. Wenn im Speicherkonto keine Dateifreigaben vorhanden sind, können Sie diesen Schritt überspringen.

Damit macOS-Clients auf vorhandene Azure-Dateifreigaben zugreifen können, wenn sie Microsoft Entra Kerberos mit Plattform-SSO verwenden, müssen Sie die CIFS-Bezeichner-URI auf Kleinbuchstaben cifs aktualisieren, andernfalls schlägt die Einbindung der Dateifreigabe fehl.

Wenn Sie ein Speicherkonto für Microsoft Entra Kerberos-Authentifizierung aktivieren, registriert das System automatisch eine Microsoft Entra Anwendung mit Bezeichner-URIs, die ein CIFS/<storageaccount>.file.core.windows.net Präfix enthalten. macOS erfordert, dass das cifs-Präfix beim Einbinden einer SMB-Dateifreigabe mit Kerberos kleingeschrieben ist. Wenn ein Bezeichner-URI das CIFS-Großbuchstabenpräfix enthält, können macOS-Clients die Freigabe nicht authentifizieren und bereitstellen.

Verwenden Sie zum Aktualisieren des Bezeichner-URI das im Repository mit Azure Files-Beispielen bereitgestellte PowerShell-Skript. Das Skript aktualisiert bezeichner-URIs in App-Registrierungen von CIFS/<storageaccount>.file.core.windows.net zu cifs/<storageaccount>.file.core.windows.net. Sie unterstützt sowohl Einzel-App- als auch Massenaktualisierungen über eine CSV-Datei und erstellt ein Überwachungsprotokoll aller Änderungen.

Tip

Führen Sie das Skript zuerst mit dem Parameter -WhatIf aus, um eine Vorschau der Änderungen anzuzeigen, ohne sie anzuwenden.

Aktualisieren einer einzelnen App-Registrierung

Ersetzen Sie <app-registration-id> durch die App-Registrierungs-ID für Ihr Speicherkonto. Um diese ID zu finden, wechseln Sie zu Microsoft Entra ID>App-Registrierungen>Alle Anwendungen, und suchen Sie nach Ihrem Speicherkontonamen.

.\updateappmanifestazurefiles.ps1 -AppId "<app-registration-id>"

Um ein Überwachungsprotokoll zu generieren, geben Sie den -OutputFile Parameter an:

.\updateappmanifestazurefiles.ps1 -AppId "<app-registration-id>" -OutputFile "C:\audit\output.csv"

Aktualisieren mehrerer App-Registrierungen

Erstellen Sie eine CSV-Datei mit einer AppId Spaltenüberschrift, die die App-Registrierungs-IDs für jedes Speicherkonto enthält, das Sie aktualisieren möchten. Beispiel:

AppId
12345678-1234-1234-1234-123456789012
87654321-4321-4321-4321-210987654321

Führen Sie dann das Skript mit dem -CsvFilePath Parameter aus:

$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$outputFile = "C:\audit\production_update_$timestamp.csv"
.\updateappmanifestazurefiles.ps1 -CsvFilePath "C:\apps.csv" -OutputFile $outputFile

Hinweis

Das Skript verarbeitet Apps in Batches von 50, mit einer Verzögerung von 100 ms zwischen Apps und einer 2-Sekunden-Verzögerung zwischen Batches. Es funktioniert mit bis zu 20.000 Apps. Bei großen Durchläufen testen Sie zunächst mit einer kleinen Teilmenge und überprüfen Sie das Audit-Protokoll, bevor Sie den Vorgang im großen Maßstab ausführen.

Überprüfen Sie die Aktualisierung der Bezeichner-URI

Überprüfen Sie nach dem Ausführen des Skripts, ob der URI des Bezeichners erfolgreich aktualisiert wurde.

  1. Öffnen Sie im Azure-PortalMicrosoft Entra ID.
  2. Wählen Sie unter "Verwalten" App-Registrierungen>Alle Anwendungen aus.
  3. Suchen Sie nach Ihrem Speicherkontonamen, und wählen Sie die entsprechende Anwendung aus.
  4. Wählen Sie unter "Verwalten"die Option "Manifest" aus.
  5. Vergewissern Sie sich, dass der Bezeichner-URI jetzt in Kleinbuchstaben angezeigt wird cifs/<storageaccount>.file.core.windows.net .

Konfigurieren von Kerberos-SSO-MDM-Profilen unter macOS

Um Kerberos-SSO für Azure Files unter macOS zu aktivieren, stellen Sie ein Kerberos-SSO-MDM-Profil bereit, das macOS auf den Microsoft Entra ID Cloud Kerberos-Bereich verweist. Wenn Ihre Nutzer auch über Kerberos auf lokales Active Directory-Ressourcen zugreifen müssen, bereiten Sie ein separates Profil für den lokalen AD-Bereich bereit.

Hinweis

Wenn Sie planen, sowohl Microsoft Entra ID Cloud Kerberos als auch lokales Active Directory Bereiche zu verwenden, stellen Sie das lokales Active Directory Profil vor dem Microsoft Entra ID Cloud Kerberos-Profil bereit.

Konfigurieren des Microsoft Entra ID Cloud Kerberos-Profils

Verwenden Sie die folgenden Einstellungen, um das Microsoft Entra ID Cloud Kerberos MDM-Profil zu konfigurieren. Ersetzen Sie alle Platzhalterwerte durch die richtigen Werte für Ihren Mandanten.

Konfigurationsschlüssel Empfohlener Wert Hinweis
preferredKDCs kkdcp://login.microsoftonline.com/<tenantId>/kerberos Ersetzen Sie <tenantId> durch Ihre Microsoft Entra-Mandanten-ID. Sie finden diesen Wert auf der Seite "Übersicht" der Microsoft Entra Admin Center.
PayloadOrganization Name Ihrer Organisation
Hosts .windows.net und windows.net
Realm KERBEROS.MICROSOFTONLINE.COM Er darf nur Großbuchstaben enthalten.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>ExtensionData</key>
            <dict>
                <key>usePlatformSSOTGT</key>
                <true/>
                <key>performKerberosOnly</key>
                <true/>
                <key>preferredKDCs</key>
                <array>
                    <string>kkdcp://login.microsoftonline.com/<tenantId>/kerberos</string>
                </array>
            </dict>
            <key>ExtensionIdentifier</key>
            <string>com.apple.AppSSOKerberos.KerberosExtension</string>
            <key>Hosts</key>
            <array>
                <string>windows.net</string>
                <string>.windows.net</string>
            </array>
            <key>Realm</key>
            <string>KERBEROS.MICROSOFTONLINE.COM</string>
            <key>PayloadDisplayName</key>
            <string>Single Sign-On Extensions Payload for Microsoft Entra ID Cloud Kerberos</string>
            <key>PayloadIdentifier</key>
            <string>com.apple.extensiblesso.00aa00aa-bb11-cc22-dd33-44ee44ee44ee</string>
            <key>PayloadType</key>
            <string>com.apple.extensiblesso</string>
            <key>PayloadUUID</key>
            <string>00aa00aa-bb11-cc22-dd33-44ee44ee44ee</string>
            <key>TeamIdentifier</key>
            <string>apple</string>
            <key>Type</key>
            <string>Credential</string>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string></string>
    <key>PayloadDisplayName</key>
    <string>Kerberos SSO Extension for macOS for Microsoft Entra ID Cloud Kerberos</string>
    <key>PayloadEnabled</key>
    <true/>
    <key>PayloadIdentifier</key>
    <string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
    <key>PayloadOrganization</key>
    <string>Contoso</string>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>11bb11bb-cc22-dd33-ee44-55ff55ff55ff</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

Speichern Sie diese Konfiguration mithilfe eines Text-Editors mit der .mobileconfig Dateierweiterung (z. B cloud-kerberos.mobileconfig. ) nach dem Aktualisieren der Werte für Ihre Umgebung.

Hinweis

Wenn Sie den usePlatformSSOTGT-Schlüssel auf true festlegen, verwendet die Kerberos-Erweiterung das TGT von Platform SSO mit demselben Realm. Wenn Sie den Schlüssel performKerberosOnly auf true festlegen, führt die Erweiterung keine Überprüfungen des Kennwortablaufs oder externe Prüfungen auf Kennwortänderungen durch und ruft das Basisverzeichnis des Benutzers nicht ab. Konfigurieren Sie beide Schlüssel in allen von Ihnen bereitgestellten Kerberos-SSO-Profilen.

Konfigurieren des lokales Active Directory Kerberos-Profils (optional)

Wenn Ihre Benutzer zusätzlich Kerberos-SSO für lokale Active Directory-Ressourcen benötigen, konfigurieren Sie ein separates MDM-Profil für die lokale AD-Realm. Ersetzen Sie alle Verweise auf contoso.com und Contoso durch die richtigen Werte für Ihre Umgebung.

Konfigurationsschlüssel Empfohlener Wert Hinweis
Hosts .contoso.com und contoso.com Ersetzen Sie sie durch Ihren lokalen Domänen- oder Gesamtstrukturnamen. Behalten Sie das vorangehende . Zeichen vor dem Domänennamen bei.
Realm CONTOSO.COM Ersetzen Sie dies durch den Namen Ihres lokalen Bereichs. Er darf nur Großbuchstaben enthalten.
PayloadOrganization Name Ihrer Organisation
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>ExtensionData</key>
            <dict>
                <key>allowPasswordChange</key>
                <true/>
                <key>allowPlatformSSOAuthFallback</key>
                <true/>
                <key>performKerberosOnly</key>
                <true/>
                <key>pwReqComplexity</key>
                <true/>
                <key>syncLocalPassword</key>
                <false/>
                <key>usePlatformSSOTGT</key>
                <true/>
            </dict>
            <key>ExtensionIdentifier</key>
            <string>com.apple.AppSSOKerberos.KerberosExtension</string>
            <key>Hosts</key>
            <array>
                <string>.contoso.com</string>
                <string>contoso.com</string>
            </array>
            <key>Realm</key>
            <string>CONTOSO.COM</string>
            <key>PayloadDisplayName</key>
            <string>Single Sign-On Extensions Payload for On-Premises</string>
            <key>PayloadIdentifier</key>
            <string>com.apple.extensiblesso.1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
            <key>PayloadType</key>
            <string>com.apple.extensiblesso</string>
            <key>PayloadUUID</key>
            <string>1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
            <key>TeamIdentifier</key>
            <string>apple</string>
            <key>Type</key>
            <string>Credential</string>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string></string>
    <key>PayloadDisplayName</key>
    <string>Kerberos SSO Extension for macOS for On-Premises</string>
    <key>PayloadEnabled</key>
    <true/>
    <key>PayloadIdentifier</key>
    <string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
    <key>PayloadOrganization</key>
    <string>Contoso</string>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

Speichern Sie diese Konfiguration mithilfe eines Text-Editors mit der .mobileconfig Dateierweiterung (z. B on-prem-kerberos.mobileconfig. ) nach dem Aktualisieren der Werte für Ihre Umgebung.

Bereitstellen der Profile mithilfe von Microsoft Intune

Wenn Sie Intune als MDM-Lösung verwenden, führen Sie die folgenden Schritte aus, um jedes Profil bereitzustellen. Wiederholen Sie die Schritte für jede .mobileconfig Datei, die Sie bereitstellen müssen.

  1. Melden Sie sich beim Microsoft Intune Admin Center an.
  2. Wählen Sie Geräte>Konfiguration>Erstellen>neue Richtlinie aus.
  3. Geben Sie die folgenden Eigenschaften ein:
    • Plattform: Wählen Sie macOS aus.
    • Profiltyp: Wählen Sie "Vorlagen" aus.
  4. Wählen Sie die benutzerdefinierte Vorlage und dann "Erstellen" aus.
  5. Geben Sie in "Grundlagen" einen beschreibenden Namen für die Richtlinie ein, z. B. macOS – Azure Files Cloud Kerberos-SSO und eine optionale Beschreibung. Wählen Sie Weiteraus.
  6. Geben Sie im Feld "Benutzerdefinierter Konfigurationsprofilname " einen Namen ein.
  7. Wählen Sie für BereitstellungskanalGerätekanal aus.
  8. Wählen Sie das Ordnersymbol aus und laden Sie die .mobileconfig Datei hoch, die Sie zuvor gespeichert und angepasst haben.
  9. Wählen Sie Weiteraus.
  10. Weisen Sie in Bereichstags alle zutreffenden Bereichstags zu, und wählen Sie dann "Weiter" aus.
  11. Wählen Sie in "Aufgaben" die Benutzer oder Benutzergruppen aus, die das Profil erhalten. Plattform-SSO-Richtlinien sind benutzerbasiert; weisen Sie die Richtlinie nicht Geräten zu.
  12. Wählen Sie "Weiter" aus, überprüfen Sie Ihre Einstellungen, und wählen Sie dann "Erstellen" aus.

Die Einstellungen werden angewendet, wenn jedes Gerät das nächste Mal nach Konfigurationsupdates sucht.

Freigabeebenenberechtigungen zuweisen

Weisen Sie den Benutzern oder Gruppen, die Zugriff benötigen, für jede Azure Dateifreigabe Berechtigungen auf Freigabeebene zu. Sobald Berechtigungen auf Freigabeebene eingerichtet sind, steuern Windows-ACLs für einzelne Dateien und Verzeichnisse die fein abgestufte Zugriffssteuerung.

Um die Berechtigungen auf Freigabeebene festzulegen, gehen Sie wie unter Zuweisen von Berechtigungen auf Freigabeebene für eine Identität beschrieben vor.

Binden Sie die Azure-Dateifreigabe auf macOS ein

Nachdem Sie die Kerberos-SSO-Profile bereitgestellt und die App-Registrierung aktualisiert haben, können macOS-Benutzer die Azure-Dateifreigabe im Finder einbinden.

  1. Öffnen Sie finder.

  2. Wählen Sie im Menü "Gehe zu"die Option "Mit Server verbinden" aus, oder drücken Sie BEFEHL+K.

  3. Geben Sie im Feld "Serveradresse " die SMB-URL für Ihre Dateifreigabe ein. Wandeln Sie den Windows-UNC-Pfad in eine SMB-URL um, indem Sie \\ durch smb:// und jedes \ durch / ersetzen. Beispiel:

    smb://<storageaccountname>.file.core.windows.net/<sharename>
    
  4. Wählen Sie Verbinden aus.

Wenn die Konfiguration korrekt ist, wird die Freigabe bereitgestellt, ohne den Benutzer zur Eingabe von Anmeldeinformationen aufzufordern.

Testen und überprüfen Sie die Kerberos-Authentifizierung

Überprüfen Sie nach Abschluss der Konfiguration, ob Kerberos-Tickets ausgestellt werden und dass der Dateifreigabezugriff erwartungsgemäß funktioniert.

Überprüfen Sie die Ausstellung von Kerberos-Tickets

Öffnen Sie auf dem macOS-Client Terminal , und führen Sie den folgenden Befehl aus:

app-sso platform -s

Vergewissern Sie sich, dass die Ausgabe ein Kerberos-Ticket für den Microsoft Entra ID Cloud Kerberos-Bereich enthält, der durch einen ticketKeyPath Wert von tgt_cloud angegeben wird. Wenn Sie auch das lokale AD-Kerberos-Profil bereitgestellt haben, sollte ebenfalls ein zweites Ticket vorhanden sein, bei dem ticketKeyPath auf tgt_ad festgelegt ist.

Überprüfen Sie, ob Port 445 geöffnet ist:

nc -vz exampleaccount.file.core.windows.net 445

Dateifreigabezugriff überprüfen

Versuchen Sie, die Azure-Dateifreigabe über den Finder einzubinden, indem Sie die Schritte im vorherigen Abschnitt ausführen. Die Freigabe sollte bereitgestellt werden, ohne zur Eingabe interaktiver Anmeldeinformationen aufzufordern. Wenn eine Eingabeaufforderung für Anmeldeinformationen angezeigt wird, lesen Sie den Abschnitt zur Problembehandlung.

Troubleshoot

Benutzer werden beim Einbinden der Dateifreigabe zur Eingabe von Anmeldeinformationen aufgefordert.

Wenn Benutzer beim Herstellen einer Verbindung mit der Azure-Dateifreigabe aufgefordert werden, Anmeldeinformationen einzugeben, überprüfen Sie die folgenden Bedingungen:

  • Der URI für die App-Registrierung wird von CIFS/ zu cifs/ (Kleinbuchstabe) aktualisiert. Siehe Den Bezeichner-URI der App-Registrierung aktualisieren und Die Aktualisierung des Bezeichner-URI überprüfen.
  • Das macOS-Gerät verfügt über ein gültiges Cloud-Kerberos-TGT, was durch Ausführen von app-sso platform -s im Terminal bestätigt wird.
  • Die Kerberos-SSO-MDM-Profile werden auf das Gerät angewendet.
  • Die Administratorzustimmung wird für die Azure Files-App-Registrierung in Microsoft Entra ID erteilt.
  • Der Benutzer verfügt über Berechtigungen auf Freigabeebene für die Azure-Dateifreigabe.
  • MFA ist für die Microsoft Entra-App deaktiviert, die das Speicherkonto darstellt.

Skriptfehler

Fehler Resolution
Weder AppId noch CsvFilePath wurde angegeben. Geben Sie genau einen dieser Parameter an.
Ungültige CSV-Datei Stellen Sie sicher, dass die Datei vorhanden ist, UTF-8 codiert ist, über eine AppId Spaltenüberschrift verfügt und keine doppelten Einträge enthält.
Microsoft Graph-API-Fehler Stellen Sie sicher, dass Sie über die Berechtigung "Application.ReadWrite.All " und die Rolle "Anwendungsadministrator " oder "Globaler Administrator " verfügen.
Ungültige App-Registrierungs-ID Vergewissern Sie sich, dass die App-Registrierungs-ID in Ihrem Mandanten vorhanden ist und darauf zugegriffen werden kann. Löschen Sie zwischengespeicherte Anmeldeinformationen mit Disconnect-MgGraph und authentifizieren Sie sich bei Bedarf erneut.

Bekannte Probleme

Zusätzliches Kerberos-SSO-Erweiterungsmenü

Wenn Sie die Kerberos-SSO-Unterstützung mithilfe von Plattform-SSO bereitstellen, wird die zusätzliche Menüleiste der macOS-Kerberos-SSO-Erweiterung in der Menüleiste angezeigt. Benutzer müssen nicht mit der Zusätzlichen Menüleiste interagieren, damit Kerberos-SSO funktioniert. Die SSO-Funktionalität funktioniert ordnungsgemäß, auch wenn die Menüleiste zusätzliche Berichte „Nicht angemeldet“ meldet. Sie können Benutzer anweisen, die Menüleiste extra zu ignorieren.