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“
Starten Sie eine Windows PowerShell-Sitzung mit der Option Als Administrator ausführen.
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
Starten Sie eine Windows PowerShell-Sitzung mit der Option Als Administrator ausführen.
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"
- Legen Sie den Parameter
Ü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 FeldCloudTrustDisplay
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 :
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:
- Führen Sie den Befehl für die Stammdomäne aus (schließen Sie den
-SetupCloudTrust
-Parameter ein). - 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 CmdletSet-AzureAdKerberosServer
erfolgreich mit dem-SetupCloudTrust
-Parameter ausgeführt wurde, sollte das FeldCloudTrustDisplay
jetztMicrosoft.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 aufwindows.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
.- Führen Sie den Befehl für die Stammdomäne aus (schließen Sie den
Konfigurieren des Gruppenrichtlinienobjekts (GPO)
Identifizieren Sie Ihre Microsoft Entra-Mandanten-ID.
Stellen Sie die folgende Gruppenrichtlinieneinstellung mithilfe des eingehenden vertrauensbasierten Flows auf Clientcomputern bereit:
Bearbeiten Sie die Richtlinieneinstellung Administrative Vorlagen\System\Kerberos\KDC-Proxy-Server für Kerberos-Client angeben.
Wählen Sie Aktiviert.
Wählen Sie unter Optionen die Option Anzeigen... aus. Daraufhin wird das Dialogfeld „Inhalt anzeigen“ geöffnet.
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 nachhttps
und vor dem schließenden/
.Wertname Wert KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443: your_Azure_AD_tenant_id
/kerberos />Klicken Sie auf OK, um das Dialogfeld „Inhalt anzeigen“ zu schließen.
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
Zugehöriger Inhalt
- Konfiguration der Azure SQL Managed Instance für Windows-Authentifizierung für Microsoft Entra ID
- Was ist die Windows-Authentifizierung für Microsoft Entra-Prinzipale auf Azure SQL Managed Instance?
- Einrichtung der Windows-Authentifizierung für Azure SQL Managed Instance mit Microsoft Entra ID und Kerberos