Verwenden der Microsoft Entra-Authentifizierung
Gilt für: Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Dieser Artikel enthält eine Übersicht über die Verwendung von Microsoft Entra ID (früher Azure Active Directory) zum Authentifizieren bei Azure SQL-Datenbank, Azure SQL Managed Instance, SQL Server auf Windows Azure-VMs, Synapse SQL in Azure Synapse Analytics und SQL Server für Windows und Linux.
Informationen zum Erstellen und Auffüllen von Microsoft Entra ID und zum anschließenden Konfigurieren von Microsoft Entra ID mit Azure SQL-Datenbank, Azure SQL Managed Instance und Synapse SQL in Azure Synapse Analytics finden Sie unter Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit Azure SQL und Aktivieren der Microsoft Entra-Authentifizierung für SQL Server auf Azure-VMs.
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
Übersicht
Mit der Microsoft Entra-Authentifizierung können Sie die Identitäten von Datenbankbenutzern und anderen Microsoft-Diensten zentral an einem Ort verwalten. Die zentrale ID-Verwaltung ermöglicht eine einheitliche Verwaltung von Datenbankbenutzern und vereinfacht die Berechtigungsverwaltung. Daraus ergeben sich u. a. die folgenden Vorteile:
Es wird eine Alternative zur SQL Server-Authentifizierung bereitgestellt.
Die unkontrollierte Ausbreitung von Benutzeridentitäten über Server hinweg wird vermieden.
Die Kennwortrotation wird über eine zentrale Stelle ermöglicht.
Kunden können Datenbankberechtigungen mithilfe von Microsoft Entra-Gruppen verwalten.
Durch das Aktivieren der integrierten Windows-Authentifizierung und andere von Microsoft Entra ID unterstützte Authentifizierungsformen wird das Speichern von Kennwörtern überflüssig.
Die Microsoft Entra-Authentifizierung verwendet eigenständige Datenbankbenutzer zum Authentifizieren von Identitäten auf Datenbankebene.
Microsoft Entra ID unterstützt die tokenbasierte Authentifizierung für Anwendungen, die Verbindungen mit SQL-Datenbank und SQL Managed Instance herstellen.
Die Microsoft Entra-Authentifizierung unterstützt Folgendes:
- Reine Microsoft Entra-Cloudidentitäten
- Microsoft Entra-Hybrididentitäten, die Folgendes unterstützen:
- Cloudauthentifizierung mit zwei Optionen gekoppelt mit nahtlosem SSO (einmaliges Anmelden) Passthrough-Authentifizierung und Kennworthashauthentifizierung
- Verbundauthentifizierung
- Weitere Informationen zu Microsoft Entra-Authentifizierungsmethoden sowie zur Auswahl der passenden Methode finden Sie im folgenden Artikel:
SQL Server Management Studio unterstützt Verbindungen, die Microsoft Entra mit Multi-Faktor-Authentifizierung verwenden. Die Multi-Faktor-Authentifizierung bietet eine sichere Authentifizierung über unterschiedliche Überprüfungsoptionen – Telefonanruf, SMS, Smartcards mit PIN oder Benachrichtigung in einer mobilen App. Weitere Informationen finden Sie unter SSMS-Unterstützung für Microsoft Entra Multi-Faktor-Authentifizierung mit Azure SQL-Datenbank, SQL Managed Instance und Azure Synapse.
SQL Server Data Tools (SSDT) unterstützt ebenfalls eine Vielzahl von Authentifizierungsoptionen mit Microsoft Entra ID. Weitere Informationen finden Sie unter Microsoft Entra ID-Unterstützung in SQL Server Data Tools (SSDT).
Die Konfigurationsschritte umfassen die folgenden Verfahren zum Konfigurieren und Verwenden der Microsoft Entra-Authentifizierung:
- Erstellen eines Microsoft Entra-Mandanten
- Optional: Zuordnen oder Ändern des aktuellen Verzeichnisses für Ihr Azure-Abonnement
- Erstellen eines Microsoft Entra-Administrators
- Konfigurieren der Clientcomputer
- Erstellen eigenständiger Datenbankbenutzer in der Datenbank, die Microsoft Entra-Identitäten zugeordnet sind
- Herstellen einer Verbindung zur Datenbank mit Microsoft Entra-Identitäten
Hinweis
Für Azure SQL, Azure-VMs und SQL Server 2022 unterstützt die Microsoft Entra-Authentifizierung nur Zugriffstoken, die von Microsoft Entra ID stammen, und keine Zugriffstoken von Drittanbietern. Microsoft Entra ID unterstützt auch keine Umleitung von Microsoft Entra ID-Abfragen an Endpunkte von Drittanbietern. Dies gilt für alle SQL-Plattformen und alle Betriebssysteme, die die Microsoft Entra-Authentifizierung unterstützen.
Architektur von Vertrauensstellungen
- Bei der Unterstützung nativer Benutzerkennwörter von Microsoft Entra wird nur der Cloudanteil von Microsoft Entra ID, SQL-Datenbank, SQL Managed Instance, SQL Server auf Windows Azure-VMs und Azure Synapse berücksichtigt.
- Um Windows-SSO-Anmeldeinformationen (oder Benutzer/Kennwort für Windows-Anmeldeinformationen) zu unterstützen, verwenden Sie Microsoft Entra-Anmeldeinformationen aus einer Verbunddomäne oder einer verwalteten Domäne, die für nahtloses einmaliges Anmelden (Single Sign-On, SSO) für Passthrough- und Kennworthashauthentifizierung konfiguriert ist. Weitere Informationen finden Sie unter Microsoft Entra nahtloses einmaliges Anmelden.
- Zur Unterstützung der Verbundauthentifizierung (oder von Benutzername/Kennwort für Windows-Anmeldeinformationen) ist die Kommunikation mit dem AD FS-Block erforderlich.
Weitere Informationen zu Microsoft Entra-Hybrididentitäten, zur Einrichtung und Synchronisierung finden Sie in den folgenden Artikeln:
- Kennworthashauthentifizierung: Implementieren von Kennworthashsynchronisierung mit Microsoft Entra Connect-Synchronisierung
- Passthrough-Authentifizierung: Microsoft Entra Passthrough-Authentifizierung
- Verbundauthentifizierung: Bereitstellung von Active Directory-Verbunddiensten in Azure und Microsoft Entra Connect und Verbund
Ein Beispiel für Verbundauthentifizierung mit der AD FS-Infrastruktur (oder Benutzer/Kennwort für Windows-Anmeldeinformationen) finden Sie in der folgenden Abbildung. Die Pfeile zeigen die Kommunikationswege.
Das folgende Diagramm zeigt die Verbund-, Vertrauensstellungs- und Hostbeziehungen, die einem Client durch Übermittlung eines Tokens die Verbindungsherstellung mit einer Datenbank ermöglichen. Das Token wird von Microsoft Entra ID authentifiziert und von der Datenbank als vertrauenswürdig betrachtet. Kunde 1 kann Microsoft Entra ID mit nativen Benutzern oder Microsoft Entra ID mit Verbundbenutzern darstellen. Kunde 2 stellt eine mögliche Lösung mit importierten Benutzern dar. In diesem Beispiel stammen diese aus Microsoft Entra ID im Verbund, wobei ADFS mit Microsoft Entra ID synchronisiert wird. Wichtig: Für den Zugriff auf eine Datenbank mithilfe der Microsoft Entra-Authentifizierung muss das Abonnement, das als Host fungiert, Microsoft Entra ID zugeordnet sein. Dasselbe Abonnement muss auch verwendet werden, um die Ressourcen für Azure SQL-Datenbank, SQL Managed Instance oder Azure Synapse zu erstellen.
Administratorstruktur
Bei Verwendung der Microsoft Entra-Authentifizierung gibt es zwei Administratorkonten: das ursprüngliche Konto für den Azure SQL-Datenbank-Administrator und das Konto für den Microsoft Entra-Administrator. Die gleichen Konzepte gelten für Azure Synapse. Nur der auf einem Microsoft Entra-Konto basierende Administrator kann den ersten eigenständigen Microsoft Entra-Datenbankbenutzer in einer Benutzerdatenbank erstellen. Die Microsoft Entra-Administratoranmeldung kann ein Microsoft Entra-Benutzer oder eine Microsoft Entra-Gruppe sein. Wenn es sich bei dem Administrator um ein Gruppenkonto handelt, kann es von einem beliebigen Gruppenmitglied verwendet werden, sodass mehrere Microsoft Entra-Administratoren den Server verwalten können. Die Verwendung eines Gruppenkontos als Administrator erleichtert die Verwaltung und ermöglicht es Ihnen, Gruppenmitglieder in Microsoft Entra ID zentral hinzuzufügen und zu entfernen, ohne die Benutzer oder Berechtigungen in SQL-Datenbank oder Azure Synapse zu ändern. Es kann jeweils nur ein Microsoft Entra-Administrator (ein Benutzer oder eine Gruppe) konfiguriert werden.
Hinweis
Die Microsoft Entra-Authentifizierung mit Azure SQL unterstützt nur den einzelnen Microsoft Entra-Mandanten, in dem sich die Azure SQL-Ressource derzeit befindet. Alle Microsoft Entra-Objekte aus diesem Mandanten können als Benutzer*innen eingerichtet werden, die Zugriff auf Azure SQL in diesem Mandanten haben. Der Microsoft Entra-Administrator muss auch aus dem Mandanten der Azure SQL-Ressource stammen. Die mehrinstanzenfähige Microsoft Entra-Authentifizierung für den Zugriff auf Azure SQL von verschiedenen Mandanten wird nicht unterstützt.
Berechtigungen
Um neue Benutzer zu erstellen, müssen Sie über die Berechtigung ALTER ANY USER
in der Datenbank verfügen. Die Berechtigung ALTER ANY USER
kann jedem Datenbankbenutzer gewährt werden. Die Berechtigung ALTER ANY USER
haben auch Serveradministratorkonten inne, ebenso wie Datenbankbenutzer mit der Berechtigung CONTROL ON DATABASE
oder ALTER ON DATABASE
für diese Datenbank sowie Mitglieder der Datenbankrolle db_owner
.
Zum Erstellen eines Benutzers einer eigenständigen Datenbank in Azure SQL-Datenbank, Azure SQL Managed Instance oder Azure Synapse müssen Sie unter Verwendung einer Microsoft Entra-Identität eine Verbindung mit der Datenbank oder Instanz herstellen. Um den ersten eigenständigen Datenbankbenutzer zu erstellen, müssen Sie unter Verwendung eines Microsoft Entra-Administrators (dieser ist der Besitzer der Datenbank) eine Verbindung mit der Datenbank herstellen. Dies wird unter Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit SQL-Datenbank oder Azure Synapse erläutert. Eine Microsoft Entra-Authentifizierung ist nur möglich, wenn der Microsoft Entra-Administrator für Azure SQL-Datenbank, SQL Managed Instance oder Azure Synapse erstellt wurde. Wenn der Microsoft Entra-Administrator vom Server entfernt wurde, können vorhandene Microsoft Entra-Benutzer, die zuvor auf dem Server erstellt wurden, keine Verbindung zurr Datenbank mehr mit ihren Microsoft Entra-Anmeldeinformationen herstellen.
Features und Einschränkungen von Microsoft Entra
Die folgenden Microsoft Entra ID-Mitglieder können für Azure SQL-Datenbank bereitgestellt werden:
- Microsoft-Entra-Benutzer: Jeder Benutzertyp in einem Microsoft-Entra-Mandanten, einschließlich interner und externer Benutzer, Gäste und Mitglieder. Mitglieder einer Active Directory-Domäne, die für den Verbund mit Microsoft Entra ID konfiguriert sind, werden ebenfalls unterstützt und können für nahtloses Single Sign-On konfiguriert werden.
- Anwendungen: Anwendungen, die in Azure existieren, können Dienstprinzipale oder verwaltete Identitäten verwenden, um sich direkt bei Azure SQL-Datenbank zu authentifizieren. Die Verwendung von verwalteten Identitäten für die Authentifizierung wird bevorzugt, da sie kennwortlos ist und keine vom Entwickler verwalteten Anmeldeinformationen benötigt werden.
- Microsoft-Entra-Gruppen, die die Zugriffsverwaltung in Ihrem Unternehmen vereinfachen können, indem sie den entsprechenden Benutzer- und Anwendungszugriff auf der Grundlage ihrer Gruppenzugehörigkeit verwalten.
Microsoft Entra-Benutzer, die einer Gruppe mit der Datenbankrolle
db_owner
angehören, können die Syntax CREATE DATABASE SCOPED CREDENTIAL für Azure SQL-Datenbank und Azure Synapse nicht verwenden. Sie erhalten den folgenden Fehler:SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.
Um das Problem mit CREATE DATABASE SCOPED CREDENTIAL zu mindern, fügen Sie dem einzelnen Microsoft Entra-Benutzer die Rolle
db_owner
direkt hinzu.Diese Systemfunktionen werden nicht unterstützt und geben bei der Ausführung unter Microsoft Entra-Prinzipalen NULL-Werte zurück:
SUSER_ID()
SUSER_NAME(<ID>)
SUSER_SNAME(<SID>)
SUSER_ID(<name>)
SUSER_SID(<name>)
Azure SQL-Datenbank erstellt keine impliziten Benutzer*innen für Benutzer*innen, die im Rahmen einer Microsoft Entra-Gruppenmitgliedschaft angemeldet sind. Aus diesem Grund sind verschiedene Vorgänge, die die Zuweisung des Besitzes erfordern, nicht erfolgreich, selbst wenn die Microsoft Entra-Gruppe als Mitglied einer Rolle mit diesen Berechtigungen hinzugefügt wird.
Beispielsweise kann ein*e Benutzer*in, der bzw. die über eine Microsoft Entra-Gruppe mit der Rolle db_ddladmin bei einer Datenbank angemeldet ist, CREATE SCHEMA, ALTER SCHEMA und andere Objekterstellungsanweisungen nicht ausführen, ohne dass explizit ein Schema definiert wird (z. B. Tabelle, Sicht oder Typ). Um dies zu beheben, muss ein*e Microsoft Entra-Benutzer*in für diese*n Benutzer*in erstellt werden, oder die Microsoft Entra-Gruppe muss geändert werden, um dbo DEFAULT_SCHEMA zuzuweisen.
SQL Managed Instance
Microsoft Entra-Dienstprinzipale (Anmeldungen) und -Benutzer werden für SQL Managed Instance unterstützt.
Das Festlegen von Microsoft Entra-Anmeldungen, die einer Microsoft Entra-Gruppe zugeordnet sind, als Datenbankbesitzer wird in SQL Managed Instance nicht unterstützt.
- Eine Erweiterung davon sieht folgendermaßen aus: Wenn eine Gruppe als Teil der Serverrolle
dbcreator
hinzugefügt wird, können Benutzer aus dieser Gruppe eine Verbindung mit SQL Managed Instance herstellen und neue Datenbanken erstellen, aber nicht auf die Datenbank zugreifen. Der Grund: Der neue Datenbankbesitzer ist die Sicherheitszuordnung und nicht der Microsoft Entra-Benutzer. Dieses Problem wird nicht sichtbar, wenn der einzelne Benutzer der Serverrolledbcreator
hinzugefügt wird.
- Eine Erweiterung davon sieht folgendermaßen aus: Wenn eine Gruppe als Teil der Serverrolle
Für Microsoft Entra-Anmeldungen werden SQL-Agent-Verwaltung und Auftragsausführung unterstützt.
Vorgänge für die Datenbanksicherung und -wiederherstellung können von Microsoft Entra-Dienstprinzipalen (Anmeldungen) ausgeführt werden.
Die Überwachung aller Anweisungen in Verbindung mit Microsoft Entra-Dienstprinzipalen (Anmeldungen) und Authentifizierungsereignissen wird unterstützt.
Eine dedizierte Administratorverbindung für Microsoft Entra-Dienstprinzipale (Anmeldungen), die der Serverrolle „sysadmin“ angehören, wird unterstützt.
- Unterstützt über das SQLCMD-Hilfsprogramm und SQL Server Management Studio.
Anmeldetrigger werden für Anmeldeereignisse unterstützt, die von Microsoft Entra-Dienstprinzipalen (Anmeldungen) stammen.
Service Broker und Datenbank-E-Mails können unter Verwendung eines Microsoft Entra-Dienstprinzipals (Anmeldung) eingerichtet werden.
Verbindung herstellen durch die Verwendung von Microsoft Entra Identitäten
Die Microsoft Entra-Authentifizierung unterstützt die folgenden Methoden zum Herstellen einer Verbindung mit einer Datenbank unter Verwendung von Microsoft Entra-Identitäten:
- Microsoft Entra-Kennwort
- Microsoft Entra integriert
- Microsoft Entra Universal mit Multi-Faktor-Authentifizierung
- Anwendungstokenauthentifizierung
Die folgenden Authentifizierungsmethoden werden für Microsoft Entra-Dienstprinzipale (Anmeldungen) unterstützt:
- Microsoft Entra-Kennwort
- Microsoft Entra integriert
- Microsoft Entra Universal mit Multi-Faktor-Authentifizierung
Weitere Überlegungen
- Um die Verwaltungsmöglichkeiten zu verbessern, wird empfohlen, eine dedizierte Microsoft Entra-Gruppe als Administrator bereitzustellen.
- Es kann immer nur ein einzelner Microsoft Entra-Administrator (Benutzer oder Gruppe) für einen Server in SQL-Datenbank oder Azure Synapse konfiguriert werden.
- Das Hinzufügen von Microsoft Entra-Dienstprinzipalen (Anmeldungen) für SQL Managed Instance ermöglicht es, mehrere Microsoft Entra-Dienstprinzipale (Anmeldungen) zu erstellen, die der Rolle
sysadmin
hinzugefügt werden können.
- Das Hinzufügen von Microsoft Entra-Dienstprinzipalen (Anmeldungen) für SQL Managed Instance ermöglicht es, mehrere Microsoft Entra-Dienstprinzipale (Anmeldungen) zu erstellen, die der Rolle
- Nur ein Microsoft Entra-Administrator für den Server kann zunächst mithilfe eines Microsoft Entra-Kontos eine Verbindung mit dem Server oder der verwalteten Instanz herstellen. Der Microsoft Entra-Administrator kann nachfolgende Microsoft Entra-Datenbankbenutzer konfigurieren.
- Microsoft Entra-Benutzern und -Dienstprinzipalen (Microsoft Entra-Anwendungen), die Mitglieder von mehr als 2048 Microsoft Entra-Sicherheitsgruppen sind, ist die Anmeldung bei der Datenbank in SQL-Datenbank, SQL Managed Instance oder Azure Synapse nicht möglich.
- Es wird empfohlen, das Verbindungstimeout auf 30 Sekunden festzulegen.
- SQL Server 2016 Management Studio und SQL Server Data Tools für Visual Studio 2015 (ab Version 14.0.60311.1April 2016) unterstützen die Microsoft Entra-Authentifizierung. (Die Microsoft Entra-Authentifizierung wird vom .NET Framework-Datenanbieter für SqlServer ab .NET Framework 4.6 unterstützt.) Daher können die neuesten Versionen dieser Tools und Datenschichtanwendungen (DAC und BACPAC) die Microsoft Entra-Authentifizierung verwenden.
- Ab Version 15.0.1 unterstützen das SQLCMD-Hilfsprogramm und das BCP-Hilfsprogramm die interaktive Active Directory-Authentifizierung mit Multi-Faktor-Authentifizierung.
- SQL Server Data Tools für Visual Studio 2015 erfordert mindestens die Data Tools-Version von April 2016 (Version 14.0.60311.1). Microsoft Entra-Benutzer werden derzeit nicht im SSDT-Objekt-Explorer angezeigt. Sie können die Benutzer in sys.database_principals anzeigen, um dieses Problem zu umgehen.
- Microsoft JDBC-Treiber 6.0 für SQL Server unterstützt die Microsoft Entra-Authentifizierung. Siehe auch Einstellen der Verbindungseigenschaften.
- PolyBase unterstützt die Microsoft Entra-Authentifizierung nicht.
- Die Microsoft Entra-Authentifizierung wird für Azure SQL-Datenbank und Azure Synapse auf den Blättern Datenbank importieren und Datenbank exportieren im Azure-Portal unterstützt. Import- und Exportvorgänge mit Microsoft Entra-Authentifizierung werden auch per PowerShell-Befehl unterstützt.
- Die Microsoft Entra-Authentifizierung wird für SQL-Datenbank, SQL Managed Instance und Azure Synapse unter Verwendung der CLI unterstützt. Weitere Informationen finden Sie unter Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit SQL-Datenbank oder Azure Synapse und SQL Server – az sql server.
Nächste Schritte
- Informationen zum Erstellen und Auffüllen eines Microsoft Entra-Mandanten und zum anschließenden Konfigurieren des Mandanten mit Azure SQL-Datenbank, SQL Managed Instance oder Azure Synapse finden Sie unter Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit SQL-Datenbank, SQL Managed Instance oder Azure Synapse.
- Ein Tutorial zur Verwendung von Microsoft Entra-Dienstprinzipalen (Anmeldungen) mit SQL Managed Instance finden Sie unter Sicherheit für verwaltete Azure SQL-Instanz durch Microsoft Entra-Dienstprinzipale (Anmeldungen).
- Eine Übersicht über Anmeldungen, Benutzer, Datenbankrollen und Berechtigungen in SQL-Datenbank finden Sie unter Anmeldungen, Benutzer, Datenbankrollen und Berechtigungen.
- Weitere Informationen zu Datenbankprinzipalen finden Sie unter Prinzipale.
- Weitere Informationen zu Datenbankrollen finden Sie unter Datenbankrollen.
- Die Syntax zum Erstellen von Microsoft Entra-Dienstprinzipalen (Anmeldungen) für SQL Managed Instance finden Sie unter CREATE LOGIN.
- Weitere Informationen zu Firewallregeln in SQL-Datenbank finden Sie unter Übersicht über Firewallregeln für Azure SQL-Datenbank.