Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Nur SQL Server 2022 (16.x).
In diesem Artikel wird ein schrittweiser Prozess zum Einrichten der Authentifizierung mit Microsoft Entra ID mit App-Registrierung beschrieben und veranschaulicht, wie verschiedene Microsoft Entra-Authentifizierungsmethoden verwendet werden.
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
In diesem Tutorial lernen Sie Folgendes:
- Eine Microsoft Entra-Anwendung erstellen und registrieren
- Zuweisen von Berechtigungen für die Microsoft Entra-Anwendung
- Erstellen und Zuweisen eines Zertifikats
- Konfigurieren der Microsoft Entra-Authentifizierung für SQL Server über das Azure-Portal
- Logins und Benutzer*innen erstellen
- Herstellen einer Verbindung mit einer unterstützten Authentifizierungsmethode
Voraussetzungen
Ein physischer oder virtueller Windows Server lokal mit einer Instanz von SQL Server 2022 (16.x).
Überprüfen Sie für SQL Server auf Azure-VMs die Microsoft Entra-Authentifizierung für SQL Server auf Virtuellen Azure-Computern.
Der Server und die Instanz, die von Azure Arc aktiviert sind. Weitere Informationen finden Sie unter Verbinden Ihres SQL Servers mit Azure Arc.
Der Zugriff auf Microsoft Entra ID ist für Authentifizierungszwecke verfügbar. Weitere Informationen finden Sie unter Microsoft Entra-Authentifizierung für SQL Server.
Eine unterstützte Version von SQL Server Management Studio wird auf dem Clientcomputer installiert.
Ein unterstütztes Zertifikat.
Netzwerkanforderungen für die Aktivierung der Entra-ID-Authentifizierung
Microsoft Entra-ID unterstützt CSP-Zertifikate. Entra-ID unterstützt keine CNG-Zertifikate.
Voraussetzungen für die Authentifizierung
Hinweis
Sie können Azure verwenden, um das Azure Key Vault-Zertifikat und die Microsoft Entra-Anwendung automatisch zu erstellen, wenn Sie einen Microsoft Entra-Administrator für den Server einrichten. Mehr Informationen finden sie im Tutorial: Verwenden der Automatisierung zum Einrichten der Microsoft Entra-Administratoren für SQL Server
Microsoft Entra-Anwendungsregistrierung für SQL Server Durch das Registrieren einer SQL Server-Instanz als Microsoft Entra-Anwendung kann die Instanz die Microsoft Entra-ID abfragen und die Microsoft Entra-Anwendung im Auftrag der SQL Server-Instanz authentifizieren. Die Anwendungsregistrierung erfordert auch einige Berechtigungen, die von SQL Server für bestimmte Abfragen verwendet werden.
SQL Server verwendet ein Zertifikat für diese Authentifizierung, das in Azure Key Vault (AKV) gespeichert wird. Der Azure Arc-Agent lädt das Zertifikat auf den Hostcomputer der SQL Server-Instanz herunter.
Warnung
Verbindungen, die mit Microsoft Entra-ID authentifiziert wurden, sind immer verschlüsselt. Wenn SQL Server ein selbstsigniertes Zertifikat verwendet, müssen Sie der Verbindungszeichenfolge trust server cert = true hinzufügen. SQL Server- und Windows-authentifizierte Verbindungen erfordern keine Verschlüsselung, es wird jedoch dringend empfohlen.
SQL Server stellt eine direkte Verbindung mit der Microsoft Entra-ID für die Authentifizierung bereit. Entweder müssen explizite Firewall-URLs für den direkten Zugriff geöffnet werden oder einen Proxyserver verwenden. Die Microsoft Entra-ID verwendet nicht den Arc Connected Machine Agent-Proxy für die Authentifizierung. Wenn der Computer einen Proxyserver verwendet, muss die Microsoft Entra-ID den WinHTTP-Proxy auf Computerebene mithilfe der folgenden Befehle festlegen (durch den entsprechenden Wert ersetzen <http://proxyserver:port> ):
netsh winhttp set proxy proxy-server="<http://proxyserver:port>"
Die Microsoft Entra-ID-Authentifizierung verwendet nicht die Arc-Agent-Proxyeinstellung. Der Arc-Agent-Proxy kann mithilfe der folgenden Befehle festgelegt werden (durch den entsprechenden Wert ersetzen <http://proxyserver:port> ):
azcmagent config set proxy.url "<http://proxyserver:port>"
Eine Microsoft Entra-Anwendung erstellen und registrieren
- Wählen Sie im Azure PortalMicrosoft Entra ID>App Registrierungen>Neue Registrierungen aus.
- Geben Sie einen Namen an – Das Beispiel in diesem Artikel verwendet SQLServer.
- Klicken Sie auf Unterstützte Kontotypen, und verwenden Sie Accounts in this organization directory only (Nur Konten in diesem Organisationsverzeichnis).
- Legen Sie keinen Weiterleitungs-URI fest.
- Wählen Sie Registrieren aus.
Sehen Sie sich die folgende Anwendungsregistrierung an:
Zuweisen von Anwendungsberechtigungen
Wählen Sie die neu erstellte Anwendung aus, und klicken Sie im Menü auf der linken Seite auf API-Berechtigungen.
- Klicken Sie auf Berechtigung hinzufügen>Microsoft Graph>Anwendungsberechtigungen.
- Wählen Sie Directory.Read.All aus.
- Wählen Sie Berechtigungen hinzufügen aus.
Oder,
Klicken Sie auf Berechtigung hinzufügen>Microsoft Graph>Anwendungsberechtigungen.
Wählen Sie Application.Read.All aus.
Wählen Sie Group.Read.All aus.
Wählen Sie User.Read.All aus.
Wählen Sie Berechtigungen hinzufügen aus.
Wählen Sie Administratoreinwilligung erteilen aus.
Hinweis
Um die Administratoreinwilligung zu den oben genannten Berechtigungen zu erteilen, benötigt Ihr Microsoft Entra-Konto die Rolle „Administrator für privilegierte Rollen“ oder höhere Berechtigungen.
Erstellen und Zuweisen eines Zertifikats
Navigieren Sie zum Azure-Portal, klicken Sie auf Schlüsseltresore, und wählen Sie den Schlüsseltresor aus, den Sie verwenden möchten. Alternativ können Sie einen neuen erstellen. Klicken Sie auf Zertifikate>Generieren/Importieren.
Verwenden Sie für Methode der Zertifikaterstellung die Option Generieren.
Fügen Sie einen Zertifikatnamen und einen Betreff hinzu. Der Zertifikatname muss eindeutig sein. Ein Zertifikatname, der einem vorhandenen Zertifikat entspricht, verursacht einen Fehler, wenn die Anmeldung erstellt wird.
Der empfohlene Gültigkeitszeitraum beträgt höchstens zwölf Monate. Für die übrigen Werte können Sie die Standardwerte übernehmen.
Klicken Sie auf Erstellen.
Hinweis
Nachdem das Zertifikat erstellt wurde, kann es sagen, dass es deaktiviert ist. Aktualisieren Sie die Website, und das Zertifikat wird als aktiviert angezeigt.
Navigieren Sie zum neuen Zertifikat, und wählen Sie die Zeile für die neueste Version des Zertifikats aus. Klicken Sie auf Im CER-Format herunterladen, um den öffentlichen Schlüssel des Zertifikats zu speichern.
Hinweis
Dies muss nicht auf dem SQL Server-Host erfolgen. Dieser Schritt wird vielmehr für jeden Client ausgeführt, der für den nächsten Schritt auf das Azure-Portal zugreift.
Navigieren Sie im Azure-Portal zur App-Registrierung, die zuvor erstellt wurde, und klicken Sie auf die Zertifikate-Liste
- Klicken Sie auf Zertifikat hochladen.
- Wählen Sie den öffentlichen Schlüssel (CER-Datei) aus, den Sie im letzten Schritt heruntergeladen haben.
- Wählen Sie Hinzufügen.
Rufen Sie im Azure-Portal die Objekt-ID des Azure Arc-Computers ab.
Navigieren Sie im Portal zu der Azure Key Vault-Instanz, in der das Zertifikat gespeichert ist, und gewähren Sie Zugriff auf die Azure Machine-Ressource(en). Navigieren Sie im Navigationsmenü von Azure Key Vault zu Einstellungen und Zugriffskonfiguration. Ausführliche Schritte zum Verwalten von Rollenzuweisungen finden Sie unter Zuweisen von Azure-Rollen mithilfe des Azure-Portals.
Ihre Erfahrung hängt von Ihrer Zugriffskonfiguration für den Schlüsseltresor ab:
Verwendung der rollenbasierten Zugriffssteuerung für Azure (empfohlen):
Fügen Sie der Ressource die folgenden Rollen hinzu.
- Key Vault-Zertifikatbenutzer
- Key Vault-Geheimnisbenutzende
Überprüfen Sie die Rollen an diesem Speicherort:
So verwenden Sie Vault-Zugriffsrichtlinie:
Wählen Sie im Navigationsmenü die Option Zugriffsrichtlinien aus.
Klicken Sie auf Erstellen.
Für Geheimnisberechtigungen wählen Sie Abrufen>Liste aus.
Für Zertifikatberechtigungen wählen Sie Abrufen>Liste aus.
Wählen Sie Weiter aus.
Suchen Sie für Principal-Seite nach dem Namen Ihres Computers – Azure Arc Instanz, die den Hostnamen des SQL Server-Hosts darstellt.
Klicken Sie auf Überprüfen + erstellen.
Stellen Sie sicher, dass der Wert für Principal>Object ID mit der Prinzipal-ID der verwalteten Identität übereinstimmt, die der Instanz zugewiesen ist.
Um dies zu bestätigen, wechseln Sie zur Ressourcenseite, und wählen Sie oben rechts im Feld Essentials in der Übersicht die JSON-Ansicht aus. Unter Identität finden Sie die principalId
Klicken Sie auf Erstellen.
Sie müssen auf Erstellen klicken, um sicherzustellen, dass die Berechtigungen angewendet werden. Um sicherzustellen, dass Berechtigungen gespeichert wurden, aktualisieren Sie das Browserfenster, und vergewissern Sie sich, dass Ihre Azure Arc-Instanz vorhanden ist.
Konfigurieren der Microsoft Entra-Authentifizierung für SQL Server über das Azure-Portal
Die Schritte im Azure-Portal gelten für SQL Server 2022 (16.x).
Die Schritte im Azure-Portal gelten nicht für SQL Server 2025 (17.x).
Hinweis
Sie können die Microsoft Entra-Authentifizierung mit einer der folgenden Umgebungen konfigurieren:
Wechseln Sie zum Azure-Portal, klicken Sie auf SQL Server – Azure Arc, und wählen Sie die Instanz für Ihren SQL Server-Host aus.
Überprüfen Sie den Status Ihrer SQL Server – Azure Arc-Ressource, und testen Sie deren Verbindung, indem Sie zum Menü Eigenschaften navigieren. Weitere Informationen finden Sie unter Überprüfen der „SQL Server – Azure Arc“-Ressourcen.
Wählen Sie im Ressourcenmenü unter Einstellungen die Option Microsoft Entra ID und Purview aus.
Wählen Sie Administrator festlegen, um den Bereich Microsoft Entra ID zu öffnen, und wählen Sie ein Konto aus, das als Administratoranmeldung für SQL Server festgelegt werden soll.
Klicken Sie auf Kundenverwaltetes Zertifikat und Wählen Sie ein Zertifikat aus.
Klicken Sie auf Zertifikat ändern, und wählen Sie Ihre AKV-Instanz und das Zertifikat aus, das Sie zuvor im neuen Bereich erstellt haben.
Klicken Sie auf Customer-managed app registration (Kundenseitig verwaltete App-Registrierung).
Klicken Sie auf Change app registration (App-Registrierung ändern), und wählen Sie die zuvor erstellte App-Registrierung aus.
Wählen Sie Speichern. Dadurch wird eine Anforderung an den Arc-Server-Agent gesendet, der die Microsoft Entra-Authentifizierung für diese SQL Server-Instanz konfiguriert.
Es dauert mehrere Minuten, um Zertifikate herunterzuladen und Einstellungen zu konfigurieren. Nachdem Sie alle Parameter festgelegt und im Azure-Portal "Speichern " ausgewählt haben, wird möglicherweise die folgende Meldung angezeigt:
SQL Server's Azure Arc agent is currently processing a request. Values below may be incorrect. Please wait until the agent is done before continuing.Warten Sie, bis der Speichervorgang mit
Saved successfullybestätigt wurde, bevor Sie einen Microsoft Entra-Anmeldeversuch starten.Der Azure Arc-Server-Agent kann nur aktualisiert werden, wenn die vorherige Aktion abgeschlossen wurde. Dies bedeutet, dass das Speichern einer neuen Microsoft Entra-Konfiguration vor Abschluss der letzten Konfiguration zu einem Fehler führen kann. Wenn nach dem Klicken auf Speichern die Meldung Extended call failed (Erweiterter Aufruf fehlgeschlagen) angezeigt wird, warten Sie fünf Minuten, und versuchen Sie es noch mal.
Nachdem die Microsoft Entra-Administratoranmeldung die
sysadminRolle gewährt hat, entfernt das Ändern des Microsoft Entra-Administrators im Azure-Portal nicht die vorherige Anmeldung, die weiterhin als einsysadmin. Um die Anmeldung zu entfernen, muss sie manuell gelöscht werden.Die Änderung des Microsoft Entra-Administrators für die SQL Server-Instanz erfolgt ohne einen Serverneustart, sobald der Prozess mit dem Azure Arc-Agent von SQL Server abgeschlossen wurde. Damit der neue Administrator in
sys.server_principalsangezeigt werden kann, muss die SQL Server-Instanz neu gestartet werden, und bis dahin wird der alte Administrator angezeigt. Der aktuelle Microsoft Entra-Administrator kann im Azure-Portal eingecheckt werden.
Logins und Benutzer*innen erstellen
Nachdem der Azure Arc-Agent auf dem SQL Server-Host seinen Vorgang abgeschlossen hat, befindet sich das im Menü "Microsoft Entra ID " im Portal ausgewählte Administratorkonto in sysadmin der SQL Server-Instanz. Melden Sie sich auf dem Server mit dem Microsoft Entra-Administratorkonto an, das über sysadmin-Berechtigungen verfügt, und verwenden Sie dabei einen Client wie SQL Server Management Studio (SSMS).
Hinweis
Alle Verbindungen mit SQL Server, die mit der Microsoft Entra-Authentifizierung hergestellt werden, erfordern eine verschlüsselte Verbindung. Wenn der Datenbankadministrator (DBA) kein vertrauenswürdiges SSL/TLS-Zertifikat für den Server eingerichtet hat, schlägt die Anmeldung wahrscheinlich mit der Nachricht fehl:
The certificate chain was issued by an authority that is not trusted.
Um dies zu beheben, konfigurieren Sie entweder die SQL Server-Instanz für die Verwendung eines SSL/TLS-Zertifikats, das vom Client als vertrauenswürdig eingestuft wird, oder wählen Sie in den erweiterten Verbindungseigenschaften vertrauenswürdige Serverzertifikate aus. Weitere Informationen finden Sie unter Konfigurieren der SQL Server-Datenbank-Engine zum Verschlüsseln von Verbindungen.
Anmeldesyntax erstellen
Die gleiche Syntax, die zum Erstellen von Microsoft Entra-Logins und Benutzern auf Azure SQL-Datenbank und Azure SQL Managed Instance genutzt wird, kann jetzt auch für SQL Server verwendet werden.
Hinweis
Auf SQL Server kann jedes Microsoft Entra-Konto, das über die ALTER ANY LOGIN Berechtigung ALTER ANY USER verfügt, Microsoft Entra-Anmeldungen bzw. -Benutzer erstellen. Andernfalls können nur Konten mit sysadmin Berechtigungen Microsoft Entra-Anmeldungen oder -Benutzer erstellen.
Führen Sie zum Erstellen einer Anmeldung für ein Microsoft Entra-Konto den folgenden T-SQL-Befehl in der master Datenbank aus:
CREATE LOGIN [principal_name] FROM EXTERNAL PROVIDER;
Für Benutzer muss der Prinzipalname das Format user@tenant.com aufweisen. In Microsoft Entra-ID ist dies der Benutzerprinzipalname. Bei allen anderen Kontotypen, z. B. Microsoft Entra-Gruppen oder -Anwendungen, ist der Prinzipalname der Name des Microsoft Entra-Objekts.
Dies sind einige Beispiele:
-- login creation for Microsoft Entra user
CREATE LOGIN [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra group
CREATE LOGIN [my_group_name] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra application
CREATE LOGIN [my_app_name] FROM EXTERNAL PROVIDER;
GO
Führen Sie zum Auflisten der Microsoft Entra-Anmeldungen in der master-Datenbank den T-SQL-Befehl aus:
SELECT * FROM sys.server_principals
WHERE type IN ('E', 'X');
Um Microsoft Entra-Benutzer die Berechtigungen der sysadmin-Rolle zu gewähren (z. B. admin@contoso.com), führen Sie die folgenden Befehle in master aus:
CREATE LOGIN [admin@contoso.com] FROM EXTERNAL PROVIDER;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [admin@contoso.com];
GO
Die sp_addsrvrolemember gespeicherte Prozedur muss als Mitglied der SQL Server-Serverrolle sysadmin ausgeführt werden.
Erstellen von Benutzersyntax
Sie können einen Datenbankbenutzer aus Microsoft Entra ID entweder als Datenbankbenutzer, der mit einem Serverprinzipal (Anmeldung) verbunden ist, oder als enthaltenen Datenbankbenutzer erstellen.
Verwenden Sie die folgende Syntax, um einen Microsoft Entra-Benutzer aus einer Microsoft Entra-Anmeldung in einer SQL Server Datenbank zu erstellen.
CREATE USER [principal_name] FROM LOGIN [principal_name];
Die principal_name-Syntax entspricht der Syntax für Anmeldungen.
Im Folgenden finden Sie einige Beispiele:
-- for Azure AD user
CREATE USER [user@contoso.com] FROM LOGIN [user@contoso.com];
GO
-- for Azure AD group
CREATE USER [my_group_name] FROM LOGIN [my_group_name];
GO
-- for Azure AD application
CREATE USER [my_app_name] FROM LOGIN [my_app_name];
GO
Zum Erstellen eines Microsoft Entra-Datenbankbenutzers, der nicht an eine Serveranmeldung gebunden ist, kann die folgende Syntax ausgeführt werden:
CREATE USER [principal name] FROM EXTERNAL PROVIDER;
Verwenden Sie den Namen der Microsoft Entra-Gruppe oder den Namen der Microsoft Entra-Anwendung wie <principal name> beim Erstellen eines Microsoft Entra-Datenbankbenutzers aus einer Gruppe oder Anwendung.
Im Folgenden finden Sie einige Beispiele:
-- for Azure AD contained user
CREATE USER [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- for Azure AD contained group
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
--for Azure AD contained application
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
Führen Sie zum Auflisten der in der Datenbank erstellten Benutzer*innen den folgenden T-SQL-Befehl aus:
SELECT * FROM sys.database_principals;
Eine neue Datenbank verfügt standardmäßig über die Verbindungsberechtigung. Alle anderen SQL Server-Berechtigungen müssen explizit von Personen mit den entsprechenden Berechtigungen gewährt werden.
Microsoft Entra Gastkonten
Die CREATE LOGIN- und CREATE USER-Syntax unterstützt auch Gastbenutzer*innen. Wenn beispielsweise testuser@outlook.com zum Mandanten contoso.com eingeladen wird, kann es als Benutzeranmeldung in SQL Server mit der gleichen Syntax wie die Erstellung eines anderen Microsoft Entra-Benutzers oder -Logins hinzugefügt werden. Verwenden Sie beim Erstellen von Gastbenutzern und -anmeldungen die E-Mail-Adresse des ursprünglichen Gastkontos und nicht den Benutzer-Prinzipalnamen im Mandanten. In den Beispielen wird outlook.com bereitgestellt, obwohl das Konto im contoso.com-Mandanten registriert ist.
Erstellen Sie einen Gastbenutzer aus einer vorhandenen Anmeldung.
CREATE USER [testuser@outlook.com] FROM LOGIN [testuser@outlook.com];
Erstellen von Gastbenutzern als eigenständige Benutzer
CREATE USER [testuser@outlook.com] FROM EXTERNAL PROVIDER;
Herstellen einer Verbindung mit einer unterstützten Authentifizierungsmethode
SQL Server unterstützt verschiedene Microsoft Entra-Authentifizierungsmethoden:
- Standard
- Benutzername und Kennwort
- Integriert
- Universal mit Multi-Faktor-Authentifizierung
- Dienstprinzipal
- Verwaltete Identität
- Zugriffstoken
Verwenden Sie eine dieser Methoden, um eine Verbindung mit der SQL Server-Instanz herzustellen. Weitere Informationen finden Sie unter Microsoft Entra-Authentifizierung für SQL Server.
Authentifizierungsbeispiel mit SSMS
Hinweis
Während Microsoft Entra-ID der neue Name für Azure Active Directory (Azure AD) ist, bleibt Azure AD in einigen fest kodierten Elementen wie Benutzeroberfläche-Feldern, Verbindungsanbietern, Fehlercodes und Cmdlets erhalten, um Störungen in bestehenden Umgebungen zu vermeiden. In diesem Artikel sind die beiden Namen austauschbar.
Nachfolgend finden Sie die Momentaufnahme der SQL Server Management Studio (SSMS)-Verbindungsseite, wobei die Authentifizierungsmethode Azure Active Directory: universell mit MFA verwendet wird.
Während des Authentifizierungsprozesses muss eine Datenbank, in der die Benutzer*innen erstellt wurden, explizit in SSMS angegeben werden.
> OptionsConnection Properties>Connect to database: database_name.
Weitere Informationen finden Sie unter Verwenden der Multi-Faktor-Authentifizierung von Microsoft Entra.
SQL Server-Tools, die die Microsoft Entra-Authentifizierung für Azure SQL unterstützen, werden auch für SQL Server 2022 (16.x) unterstützt.
Speicherort, an dem Microsoft Entra-ID-Parameter gespeichert werden
Warnung
Microsoft Entra-ID-Parameter werden vom Azure Arc-Agent konfiguriert und sollten nicht manuell konfiguriert werden.
Unter Linux werden Microsoft Entra ID-Parameter in mssql-conf gespeichert. Weitere Informationen zu den Konfigurationsoptionen unter Linux finden Sie unter Konfigurieren von SQL Server für Linux mithilfe des mssql-conf-Tools.
Bekannte Probleme
- Die Aktualisierung des Zertifikats wird nicht weitergegeben:
Sobald die Microsoft Entra-Authentifizierung für SQL Server konfiguriert ist, wird das Zertifikat in SQL Server aktualisiert – die Microsoft Entra-ID und der Purview-Bereich von Azure Arc werden möglicherweise nicht vollständig weitergegeben. Dies führt dazu, dass der Speichervorgang zwar erfolgreich ist, aber weiterhin der alte Wert angezeigt wird. Gehen Sie wie folgt vor, um das Zertifikat zu aktualisieren:
- Klicken Sie auf Administrator entfernen.
- Wählen Sie Speichern.
- Klicken Sie auf Administrator festlegen, und konfigurieren Sie die Microsoft Entra-Authentifizierung mit dem neuen Zertifikat neu.
- Wählen Sie Speichern.