Freigeben über


Einrichtung der Windows-Authentifizierung für Microsoft Entra ID mit dem eingehenden vertrauensbasierten Fluss

Dieser Artikel beschreibt, wie Sie den eingehenden vertrauensbasierten Authentifizierungsflow implementieren, um in Active Directory (AD) eingebundene Clients mit Windows 10, Windows Server 2012 oder höheren Versionen von Windows die Authentifizierung bei einer Azure SQL Managed Instance-Instanz mithilfe der Windows-Authentifizierung zu ermöglichen.

In diesem Artikel finden Sie zudem die Schritte zum Rotieren eines Kerberos-Schlüssels für Ihr Dienstkonto in Microsoft Entra ID (ehemals Azure Active Directory) und Ihr vertrauenswürdiges Domänenobjekt sowie die Vorgehensweise zum Entfernen eines vertrauenswürdigen Domänenobjekts und aller Kerberos-Einstellungen beschrieben (falls gewünscht).

Die Aktivierung des eingehenden vertrauensbasierten Authentifizierungsflows ist ein Schritt beim Einrichten der Windows-Authentifizierung für Azure SQL Managed Instance mit Microsoft Entra ID und Kerberos. Der moderne interaktive Flow ist für unterstützte Clients mit Windows 10 20H1, Windows Server 2022 oder einer höheren Version von Windows verfügbar.

Hinweis

Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.

Berechtigungen

Damit Sie die in diesem Artikel aufgeführten Schritte ausführen können, benötigen Sie Folgendes:

  • Benutzername und Kennwort für einen lokalen Active Directory-Administrator
  • Benutzername und Kennwort des globalen Microsoft Entra-Administratorkontos.

Voraussetzungen

Zur Implementierung des eingehenden vertrauensbasierten Authentifizierungsflows müssen Sie zunächst sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:

Voraussetzung BESCHREIBUNG
Auf dem Client muss Windows 10, Windows Server 2012 oder eine höhere Version von Windows ausgeführt werden.
Die Clients müssen in AD eingebunden sein. Die Domäne muss die Funktionsebene „Windows Server 2012“ oder höher aufweisen. Sie können ermitteln, ob der Client in AD eingebunden ist, indem Sie den dsregcmd-Befehl ausführen: dsregcmd.exe /status
Modul Azure AD Hybrid Authentication Management. Dieses PowerShell-Modul stellt Verwaltungsfunktionen für die lokale Einrichtung bereit.
Azure-Mandant.
Azure-Abonnement unter demselben Microsoft Entra-Tenant, den Sie für die Authentifizierung verwenden möchten.
Microsoft Entra Connect ist installiert. Hybride Umgebungen, in denen Identitäten sowohl in Microsoft Entra ID als auch in AD vorhanden sind.

Erstellen und Konfigurieren des vertrauenswürdigen Microsoft Entra Kerberos-Domänenobjekts

Zum Erstellen und Konfigurieren des vertrauenswürdigen Microsoft Entra Kerberos-Domänenobjekts müssen Sie das PowerShell-Modul „Azure AD Hybrid Authentication Management“ installieren.

Anschließend richten Sie mit dem PowerShell-Modul „Azure AD Hybrid Authentication Management“ ein vertrauenswürdiges Domänenobjekt in der lokalen Active Directory-Domäne ein und registrieren Vertrauensinformationen bei Microsoft Entra ID. Auf diese Weise wird eine eingehende Vertrauensstellung mit dem lokalen AD-System eingerichtet, durch die Microsoft Entra ID dem lokalen AD-System vertrauen kann.

Einrichten des vertrauenswürdigen Domänenobjekts

Installieren Sie zum Einrichten des vertrauenswürdigen Domänenobjekts zunächst das PowerShell-Modul „Azure AD Hybrid Authentication Management“.

Installieren des PowerShell-Moduls „Azure AD Hybrid Authentication Management“

  1. Starten Sie eine Windows PowerShell-Sitzung mit der Option Als Administrator ausführen.

  2. Installieren Sie das PowerShell-Modul „Azure AD Hybrid Authentication Management“ unter Verwendung des folgenden Skripts. Das Skript

    • Aktiviert TLS 1.2 für die Kommunikation.
    • Installiert den NuGet-Paketanbieter.
    • Registriert das PSGallery-Repository.
    • Installiert das PowerShellGet-Modul.
    • Installiert das PowerShell-Modul „Azure AD Hybrid Authentication Management“.
      • Das PowerShell-Modul „Azure AD Hybrid Authentication Management“ nutzt das AzureADPreview-Modul, das erweiterte Funktionen für die Microsoft Entra-Verwaltung bereitstellt.
      • Zur Vermeidung unnötiger Installationskonflikte mit dem Azure AD-PowerShell-Modul umfasst dieser Befehl das Optionsflag „–AllowClobber“.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | Where-Object { $_.Name -eq "PSGallery" }).Count -eq -1) {
    Register-PSRepository -Default
    Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Erstellen des vertrauenswürdigen Domänenobjekts

  1. Starten Sie eine Windows PowerShell-Sitzung mit der Option Als Administrator ausführen.

  2. Legen Sie die allgemeinen Parameter fest. Passen Sie das folgende Skript an, bevor Sie es ausführen.

    • Legen Sie den Parameter $domain auf den Namen Ihrer lokalen Active Directory-Domäne fest.
    • Geben Sie nach Aufforderung durch Get-Credential einen Benutzernamen und ein Kennwort für einen lokalen Active Directory-Administrator ein.
    • Legen Sie den Parameter $cloudUserName auf den Benutzernamen eines privilegierten globalen Administratorkontos für den Microsoft Entra-Cloudzugriff fest.

    Hinweis

    Wenn Sie Ihr aktuelles Windows-Anmeldekonto für den lokalen Active Directory-Zugriff verwenden möchten, können Sie den Schritt für die Zuweisung von Anmeldeinformationen zum Parameter $domainCred überspringen. Wenn Sie diesen Ansatz wählen, fügen Sie den Parameter -DomainCredential nicht in die PowerShell-Befehle nach diesem Schritt ein.

    $domain = "your on-premesis domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Überprüfen Sie die aktuellen Kerberos-Domäneneinstellungen.

    Führen Sie den folgenden Befehl aus, um die aktuellen Kerberos-Einstellungen Ihrer Domäne zu überprüfen:

    Get-AzureAdKerberosServer -Domain $domain `
        -DomainCredential $domainCred `
        -UserPrincipalName $cloudUserName
    

    Wenn Sie zum ersten Mal einen Microsoft Entra Kerberos-Befehl aufrufen, werden Sie aufgefordert, Zugangsdaten für die Microsoft Entra-Cloud anzugeben.

    • Geben Sie das Kennwort für Ihr globales Microsoft Entra-Administratorkonto ein.
    • Wenn Ihre Organisation andere moderne Authentifizierungsmethoden wie Microsoft Entra Multi-Factor Authentication oder Smartcards verwendet, befolgen Sie die Anweisungen für die Anmeldung.

    Wenn Sie die Microsoft Entra Kerberos-Einstellungen zum ersten Mal konfigurieren, zeigt das Cmdlet Get-AzureAdKerberosServer leere Informationen an, wie in der folgenden Beispielausgabe:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    Wenn Ihre Domäne die FIDO-Authentifizierung bereits unterstützt, zeigt das Cmdlet Get-AzureAdKerberosServer Informationen zum Microsoft Entra-Dienstkonto an, wie in der folgenden Beispielausgabe. Das Feld CloudTrustDisplay gibt einen leeren Wert zurück.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Fügen Sie das vertrauenswürdige Domänenobjekt hinzu.

    Führen Sie das PowerShell-Cmdlet „Set-AzureAdKerberosServer“ aus, um das vertrauenswürdige Domänenobjekt hinzuzufügen. Schließen Sie dabei unbedingt den Parameter -SetupCloudTrust ein. Wenn kein Microsoft Entra-Dienstkonto vorhanden ist, erstellt dieser Befehl ein neues Microsoft Entra-Dienstkonto. Wenn bereits ein Microsoft Entra-Dienstkonto vorhanden ist, erstellt dieser Befehl nur das angeforderte vertrauenswürdige Domänenobjekt.

    Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
    

    Hinweis

    Um für eine Gesamtstruktur mit mehreren Domänen den Fehler LsaCreateTrustedDomainEx 0x549 beim Ausführen des Befehls in einer untergeordneten Domäne zu vermeiden:

    1. Führen Sie den Befehl für die Stammdomäne aus (schließen Sie den -SetupCloudTrust-Parameter ein).
    2. Führen Sie den gleichen Befehl für die untergeordnete Domäne ohne den Parameter -SetupCloudTrust aus.

    Nachdem Sie das vertrauenswürdige Domänenobjekt erstellt haben, können Sie die aktualisierten Kerberos-Einstellungen mit dem PowerShell-Cmdlet Get-AzureAdKerberosServer überprüfen, wie im vorherigen Schritt gezeigt. Wenn das Cmdlet Set-AzureAdKerberosServer erfolgreich mit dem -SetupCloudTrust-Parameter ausgeführt wurde, sollte das Feld CloudTrustDisplay jetzt Microsoft.AzureAD.Kdc.Service.TrustDisplay zurückgeben, wie in der folgenden Beispielausgabe gezeigt:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

    Hinweis

    Für Azure Sovereign Clouds muss die Eigenschaft TopLevelNames festgelegt werden, die standardmäßig auf windows.net eingestellt ist. Azure Sovereign Cloud-Bereitstellungen von SQL Managed Instance verwenden einen anderen Domänennamen der obersten Ebene, z. B. usgovcloudapi.net für Azure US Government. Legen Sie Ihr vertrauenswürdiges Domänenobjekt mit dem folgenden PowerShell-Befehl auf diesen Domänennamen der obersten Ebene fest: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". Sie können die Einstellung mithilfe des folgenden PowerShell-Befehls überprüfen: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay.

Konfigurieren des Gruppenrichtlinienobjekts (GPO)

  1. Identifizieren Sie Ihre Microsoft Entra-Mandanten-ID.

  2. Stellen Sie die folgende Gruppenrichtlinieneinstellung mithilfe des eingehenden vertrauensbasierten Flows auf Clientcomputern bereit:

    1. Bearbeiten Sie die Richtlinieneinstellung Administrative Vorlagen\System\Kerberos\KDC-Proxy-Server für Kerberos-Client angeben.

    2. Wählen Sie Aktiviert.

    3. Wählen Sie unter Optionen die Option Anzeigen... aus. Daraufhin wird das Dialogfeld „Inhalt anzeigen“ geöffnet.

      Screenshot: Dialogfeld zur Aktivierung von „KDC-Proxyserver für Kerberos-Clients angeben“. Das Dialogfeld „Inhalt anzeigen“ ermöglicht die Eingabe eines Wertnamens und des zugehörigen Werts.

    4. Definieren Sie die Einstellungen für den KDC-Proxyserver wie folgt mithilfe von Zuordnungen. Ersetzen Sie Ihre Microsoft Entra-Mandanten-ID für den Platzhalter your_Azure_AD_tenant_id. Beachten Sie in der Wertzuordnung das Leerzeichen nach https und vor dem schließenden /.

      Wertname Wert
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos />

      Screenshot: Dialogfeld „KDC-Proxyservereinstellungen festlegen“. Eine Tabelle ermöglicht die Eingabe von mehreren Zeilen. Jede Zeile besteht aus einem Wertnamen und einem Wert.

    5. Klicken Sie auf OK, um das Dialogfeld „Inhalt anzeigen“ zu schließen.

    6. Wählen Sie im Dialogfeld „KDC-Proxy-Server für Kerberos-Client angeben“ die Option Anwenden aus.

Rotieren des Kerberos-Schlüssels

Sie können den Kerberos-Schlüssel für das erstellte Microsoft Entra-Dienstkonto und das vertrauenswürdige Domänenobjekt zu Verwaltungszwecken in regelmäßigen Abständen rotieren.

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey

Nachdem der Schlüssel rotiert wurde, dauert es mehrere Stunden, bis der geänderte Schlüssel zwischen den Kerberos-KDC-Servern übertragen wurde. Aufgrund dieses Zeitplans für die Schlüsselverteilung können Sie den Schlüssel einmal innerhalb von 24 Stunden rotieren. Wenn Sie den Schlüssel aus einem beliebigen Grund innerhalb von 24 Stunden erneut rotieren müssen, z. B. kurz nach der Erstellung des vertrauenswürdigen Domänenobjekts, können Sie den Parameter -Force hinzufügen:

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey -Force

Entfernen des vertrauenswürdigen Domänenobjekts

Sie können das hinzugefügte vertrauenswürdige Domänenobjekt mit dem folgenden Befehl entfernen:

Remove-AzureADKerberosServerTrustedDomainObject -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Durch diesen Befehl wird nur das vertrauenswürdige Domänenobjekt entfernt. Wenn Ihre Domäne die FIDO-Authentifizierung unterstützt, können Sie das vertrauenswürdige Domänenobjekt entfernen und gleichzeitig das Microsoft Entra-Dienstkonto beibehalten, das für den FIDO-Authentifizierungsdienst benötigt wird.

Entfernen aller Kerberos-Einstellungen

Mit dem folgenden Befehl können Sie sowohl das Microsoft Entra-Dienstkonto als auch das vertrauenswürdige Domänenobjekt entfernen:

Remove-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName