Microsoft Entra-Authentifizierung für Azure SQL
Gilt für:Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics
Dieser Artikel bietet einen detaillierten Überblick über die Verwendung der Microsoft Entra-Authentifizierung mit Azure SQL-Datenbank, Azure SQL Managed Instance, SQL Server auf Azure VMs, Synapse SQL in Azure Synapse Analytics und SQL Server für Windows und Linux.
Wenn Sie die Microsoft Entra-Authentifizierung konfigurieren möchten, lesen Sie weiter:
Hinweis
Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.
Übersicht
Mit der Microsoft Entra ID können Sie die Identitäten von Menschen und Diensten in Ihrem Datenbestand zentral verwalten. Durch die Integration von Microsoft Entra in Azure SQL für die Authentifizierung können Sie die Identitäts- und Berechtigungsverwaltung vereinfachen und gleichzeitig detaillierten bedingten Zugriff und Governance für alle Verbindungen mit Ihren Daten ermöglichen.
Die Verwendung der Microsoft Entra-Authentifizierung umfasst die folgenden Vorteile:
- Ersetzt weniger sichere Authentifizierungsmethoden wie Benutzernamen und Passwörter.
- Eliminiert die Verbreitung von Benutzeridentitäten auf verschiedenen Servern oder hilft, sie zu stoppen.
- Microsoft Entra-Gruppen ermöglichen es, die Verwaltung von Datenbankberechtigungen von einzelnen Konten zu abstrahieren und in operative Gruppen einzuteilen.
- Über eine zentrale Stelle wird eine Kennwortrotation ermöglicht.
- Die reine Microsoft Entra-Authentifizierung bietet eine vollständige Alternative zur SQL-Authentifizierung.
- Verwaltete Identitäten für Azure-Ressourcen machen die Speicherung von Passwörtern für Dienste, die eine Verbindung zu Ihren Datenbanken herstellen, sowie für Verbindungen von Ihren Datenbanken zu anderen Azure-Ressourcen überflüssig.
- Ermöglicht moderne Sicherheitskontrollen, einschließlich einer starken Multi-Faktor-Authentifizierung mit einer Reihe von einfachen Verifizierungsoptionen, wie z. B. einem Telefonanruf, einer Textnachricht, einer Smartcard mit Pin oder einer Benachrichtigung über eine mobile App.
- Die Microsoft Entra ID ermöglicht die Integration mit vielen modernen Authentifizierungsprotokollen, einschließlich OpenID Connect, OAuth2.0, eingeschränkter Kerberos-Delegierung und mehr.
- Ermöglicht die zentrale Überwachung von Verbindungen zu Datenquellen.
- Ermöglicht Steuerelemente für bedingten Zugriff, z. B. die Anforderung kompatibler Geräte oder Authentifizierungsmethoden für erfolgreiche Verbindungen.
- Zentrale Verwaltung und Überwachung der Authentifizierung mit Azure-Richtlinien.
Hinweis
Die Microsoft Entra-Authentifizierung unterstützt nur Zugriffstoken, die von Microsoft Entra ID stammen und keine Zugriffstoken von Dritten. 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.
Konfigurationsschritte
Die allgemeinen Schritte zur Konfiguration der Microsoft Entra-Authentifizierung sind:
- Erstellen eines Microsoft Entra-Mandanten
- Erstellen Sie einen logischen Server oder eine Instanz in Azure.
- Weisen Sie dem Server oder der Instanz einen Microsoft Entra-Administrator zu.
- Erstellen Sie SQL-Prinzipale in Ihrer Datenbank, die Microsoft Entra-Identitäten zugeordnet sind.
- Konfigurieren Sie Ihre Clientanwendungen für die Verbindung mit Azure-Identitätsbibliotheken und Authentifizierungsmethoden.
- Herstellen einer Verbindung zur Datenbank mit Microsoft Entra-Identitäten
Unterstützte Identitäten und Authentifizierungsmethoden
Azure SQL unterstützt die Verwendung der folgenden Microsoft Entra-Identitäten als Anmeldungen und Benutzer (Prinzipale) in Ihren Servern und Datenbanken:
- Microsoft Entra-Benutzer: Jeder Benutzertyp in einem Microsoft-Entra-Mandanten, d. h. interne Benutzer, externe Benutzer, Gäste und Mitglieder. Mitglieder einer Active Directory-Domäne, die mit Microsoft Entra ID verbunden ist, 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 zu authentifizieren. Die Verwendung von verwalteten Identitäten ist vorzuziehen, da die Authentifizierung passwortlos erfolgt und keine vom Entwickler verwalteten Anmeldedaten erforderlich sind.
- Microsoft-Entra-Gruppen, die die Zugriffsverwaltung in Ihrem Unternehmen vereinfachen können, indem sie den Benutzer- und Anwendungszugriff auf der Grundlage der Gruppenzugehörigkeit verwalten.
Für Benutzeridentitäten werden die folgenden Authentifizierungsmethoden unterstützt:
- Microsoft Entra Integrated (Windows-Authentifizierung) unterstützt von Microsoft Entra Hybrid-Identitäten mit Active Directory [Verbund].
- Microsoft Entra MFA oder Multi-Faktor-Authentifizierung, die zusätzliche Sicherheitsprüfungen über das Wissen des Benutzers hinaus erfordert.
- Microsoft Entra Kennwortauthentifizierung, bei der die in Microsoft Entra ID gespeicherten und verwalteten Benutzeranmeldedaten verwendet werden.
- Microsoft Entra Standard-Authentifizierung, die verschiedene Caches für Anmeldedaten auf dem Anwendungscomputer durchsucht und Benutzer-Tokens für die Authentifizierung bei SQL verwenden kann.
Für Dienst- oder Workload Identities werden die folgenden Authentifizierungsmethoden unterstützt:
- Verwaltete Identitäten für Azure-Ressourcen, sowohl benutzer- als auch systemzugeordnet. Die verwaltete Identitätsauthentifizierung ist tokenbasiert, bei der die Identität der Ressource zugewiesen ist, die sich mit dieser authentifizieren möchte. Die Azure Identity Platform überprüft diese Beziehung, die die kennwortlose Authentifizierung ermöglicht.
- Microsoft Entra-Dienstprinzipalname und Anwendungsgeheimnis (Client). Diese Authentifizierungsmethode wird aufgrund des Risikos, das Kennwörtern zugeordnet ist, die erraten und weitergegeben werden können, nicht empfohlen.
- Microsoft Entra Standard-Authentifizierung, die verschiedene Caches für Anmeldedaten auf dem Anwendungscomputer durchsucht und Anwendungs-Tokens für die Authentifizierung bei SQL verwenden kann.
Microsoft Entra-Administrator*in
Um die Microsoft Entra-Authentifizierung zu aktivieren, muss ein Microsoft Entra-Administrator für Ihre logische Server- oder verwaltete Instanz festgelegt werden. Dieser Administrator ist zusammen mit dem SQL Serveradministrator (SA) vorhanden. Der Microsoft Entra-Administrator kann ein beliebiges Sicherheitsobjekt in Ihrem Azure-Mandanten sein, einschließlich Microsoft Entra-Benutzer, Gruppen, Dienstprinzipale und verwaltete Identitäten. Der Microsoft Entra-Administrator ist eine einzelne Eigenschaft, keine Liste, d. h. es kann immer nur eine Identität konfiguriert werden. Durch das Entfernen des Microsoft Entra-Administrators vom Server werden alle authentifizierungsbasierten Microsoft Entra-Verbindungen deaktiviert, auch für vorhandene Microsoft Entra-Benutzer mit Berechtigungen in einer Datenbank.
Tipp
Microsoft Entra-Gruppen ermöglichen es mehreren Identitäten, als Microsoft Entra-Administrator auf dem Server zu fungieren. Wenn der Administrator auf eine Gruppe festgelegt ist, erben alle Gruppenmitglieder die Microsoft Entra-Administratorrolle. Ein Microsoft Entra-Gruppenadministrator verbessert die Verwaltbarkeit, indem die Admin-Verwaltung von Serverdatenebenenaktionen in die Microsoft Entra ID und die Hände der Gruppenbesitzer verschoben wird. Gruppen können für alle Microsoft Entra-Identitäten verwendet werden, die eine Verbindung mit SQL herstellen, sodass eine einmalige Benutzer- und Berechtigungskonfiguration auf dem Server und in Datenbanken möglich ist und die gesamte Benutzerverwaltung den Gruppen überlassen wird.
Der Microsoft Entra-Administrator spielt eine besondere Rolle: Es ist das erste Konto, das andere Microsoft Entra-Anmeldungen (in der Vorschau in SQL-Datenbank) und Benutzer erstellen kann, die gemeinsam als Prinzipale bezeichnet werden. Der Administrator ist ein eigenständiger Datenbankbenutzer in der master
-Datenbank des Servers. Administratorkonten sind Mitglieder der Rolle db_owner in jeder Benutzerdatenbank, und der Zugriff auf alle Benutzerdatenbanken erfolgt als Benutzer dbo. Weitere Informationen zu Administratorkonten finden Sie unter Verwalten von Datenbanken und Anmeldungen.
Microsoft Entra-Prinzipale
Hinweis
Microsoft Entra-Dienstprinzipale (Anmeldungen) befinden sich derzeit in Public Preview für Azure SQL-Datenbank und Azure Synapse Analytics. Microsoft Entra-Anmeldungen sind in Azure SQL Managed Instance und SQL Server 2022 allgemein verfügbar.
Microsoft Entra-Identitäten können auf drei Arten als Prinzipale in Azure SQL erstellt werden:
- als Serverprinzipale oder Anmeldungen (in der Vorschau für Azure SQL-Datenbank)
- als anmeldebasierte Benutzer (ein Datenbankprinzipaltyp)
- als eigenständige Datenbankbenutzer
Wichtig
Die Microsoft Entra-Authentifizierung für Azure SQL ist nicht in Azure RBAC integriert. Wenn Sie Microsoft Entra-Identitäten verwenden, um eine Verbindung mit Azure SQL herzustellen und Abfragen auszuführen, müssen diese Identitäten als Microsoft Entra-Prinzipale in den Datenbanken erstellt werden, auf die sie zugreifen müssen. Die SQL Server Contributor
- und SQL DB Contributor
-Rollen werden verwendet, um verwaltungsbezogene Bereitstellungsvorgänge zu sichern, nicht den Zugriff auf die Datenbankkonnektivität.
Anmeldungen (Serverprinzipale)
Serverprinzipale (Anmeldungen) für Microsoft Entra-Identitäten sind in der Regel für Azure SQL Managed Instance, SQL Server 2022 und SQL Server auf Azure-VMs verfügbar. Microsoft Entra-Anmeldungen sind in der Vorschau für Azure SQL-Datenbank.
Die folgende T-SQL zeigt, wie Sie eine Microsoft Entra-Anmeldung erstellen:
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Eine Microsoft Entra-Anmeldung weist die folgenden Eigenschaftswerte in sys.server_principals auf:
Eigenschaft | Wert |
---|---|
SID (Sicherheits-ID) | Binäre Darstellung der Objekt-ID der Microsoft Entra-Identität |
Typ | E = Externe Anmeldung oder Anwendung von Microsoft Entra ID X = Externe Gruppe von Microsoft Entra ID |
type_desc | EXTERNAL_LOGIN für die Microsoft Entra-Anmeldung oder -App EXTERNAL_GROUP für die Microsoft Entra-Gruppe |
Anmeldungsbasierte Benutzer
Anmeldebasierte Benutzer erben die Rollen und Berechtigungen auf Serverebene, die der Microsoft Entra-Anmeldung zugewiesen sind. Microsoft Entra-anmeldebasierte Benutzer befinden sich in der Vorschau für Azure SQL-Datenbank.
Die folgende T-SQL zeigt, wie Sie einen anmeldebasierten Benutzer für eine Microsoft Entra-Identität erstellen:
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
In der folgenden Tabelle werden die Microsoft Entra-anmeldebasierten Benutzereigenschaftenwerte in sys.database_principals erläutert:
Eigenschaft | Wert |
---|---|
SID (Sicherheits-ID) | Binäre Darstellung der Objekt-ID der Microsoft Entra-Identität plus „AADE“ |
Typ | E = Externe Anmeldung oder Anwendung von Microsoft Entra ID X = Externe Gruppe von Microsoft Entra ID |
type_desc | EXTERNAL_LOGIN für die Microsoft Entra-Anmeldung oder -App EXTERNAL_GROUP für die Microsoft Entra-Gruppe |
Eigenständige Datenbankbenutzer
Eigenständige Datenbankbenutzer sind mit der Datenbank portabel. Sie haben keine Verbindungen zu Identitäten, die auf dem Server oder in der Instanz definiert sind und können somit problemlos zusammen mit der Datenbank von einem Server oder einer Instanz ohne Unterbrechung in eine andere verschoben werden.
Die folgende T-SQL zeigt, wie ein eigenständiger Datenbankbenutzer für eine Microsoft Entra-Identität erstellt wird:
CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER
Ein datenbankbasierter Microsoft Entra-Benutzer hat dieselben Eigenschaftswerte wie anmeldebasierte Benutzer in sys.database_principals, mit Ausnahme der Art und Weise, wie die SID aufgebaut ist:
Eigenschaft | Wert |
---|---|
SID (Sicherheits-ID) | Binäre Darstellung der Objekt-ID der Microsoft Entra-Identität |
Typ | E = Externe Anmeldung oder Anwendung von Microsoft Entra ID X = Externe Gruppe von Microsoft Entra ID |
type_desc | EXTERNAL_LOGIN für die Microsoft Entra-Anmeldung oder -App EXTERNAL_GROUP für die Microsoft Entra-Gruppe |
Verwenden Sie die folgende T-SQL-Konvertierung, um die ursprüngliche Microsoft Entra-GUID abzurufen, auf der die SID basiert:
SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals
Achtung
Es ist möglich, unbeabsichtigt einen enthaltenen Microsoft Entra-Datenbankbenutzer mit demselben Namen wie eine Microsoft Entra-Anmeldung auf Server- oder Instanzebene zu erstellen. Da die Prinzipale nicht miteinander verbunden sind, erbt der Datenbankbenutzer keine Berechtigungen von der Serveranmeldung und Identitäten können in Verbindungsanforderungen zusammengeblasen werden, was zu einem nicht definierten Verhalten führt.
Verwenden Sie die folgende T-SQL-Abfrage, um zu ermitteln, ob ein Datenbankbenutzer ein anmeldebasierter Benutzer oder ein eigenständiger Datenbankbenutzer ist:
SELECT CASE
WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
ELSE 'contained database user'
END AS user_type,
*
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Verwenden Sie die folgende T-SQL-Abfrage, um alle Microsoft Entra-Prinzipale in einer Datenbank anzuzeigen:
SELECT
name,
CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Reine Microsoft Entra-Authentifizierung
Wenn die reine Microsoft Entra-Authentifizierung aktiviert ist, sind alle anderen Authentifizierungsmethoden deaktiviert und können nicht verwendet werden, um eine Verbindung zum Server, zur Instanz oder zur Datenbank herzustellen. Dies schließt SA und alle anderen auf SQL-Authentifizierung basierenden Konten für Azure SQL sowie die Windows-Authentifizierung für Azure SQL Managed Instance ein.
Informationen zu den ersten Schritten finden Sie unter Konfigurieren der reinen Microsoft Entra-Authentifizierung.
Multi-Faktor-Authentifizierung (MFA)
Die Multi-Faktor-Authentifizierung von Microsoft Entra ist ein Sicherheitsfeature, das vom cloudbasierten Identitäts- und Zugriffsverwaltungsdienst von Microsoft bereitgestellt wird. Die Multi-Faktor-Authentifizierung erhöht die Sicherheit von Benutzeranmeldungen, indem Benutzer zusätzliche Überprüfungsschritte über ein Kennwort hinaus bereitstellen müssen.
Die Multi-Faktor-Authentifizierung von Microsoft Entra trägt zum Schutz des Zugriffs auf Daten und Anwendungen bei und bietet gleichzeitig ein einfaches Anmeldeverfahren für Benutzer. MFA fügt Benutzeranmeldungen eine zusätzliche Sicherheitsebene hinzu, da Benutzer zwei oder mehr Authentifizierungsfaktoren angeben müssen. Zu diesen Faktoren gehören in der Regel etwas, das der Benutzer weiß (Kennwort), etwas, das der Benutzer besitzt (Smartphone oder Hardwaretoken) und/oder etwas, was der Benutzer ist (biometrische Daten). Durch die Kombination mehrerer Faktoren reduziert MFA die Wahrscheinlichkeit eines nicht autorisierten Zugriffs erheblich.
Die Multi-Faktor-Authentifizierung wird als Authentifizierungsmethode für Azure SQL-Datenbank, Azure SQL Managed Instance, Azure Synapse Analytics und SQL Server 2022 (16.x) unterstützt.
Weitere Informationen finden Sie unter Konfigurieren der Multi-Faktor-Authentifizierung von Microsoft Entra.
Microsoft Entra B2B-Unterstützung
Die Microsoft Entra-Authentifizierung in allen SQL-Produkten unterstützt auch den Dienst Microsoft Entra B2B Collaboration, mit dem Unternehmen Gastbenutzer zur Zusammenarbeit mit ihrer Organisation einladen können. Gastbenutzer können entweder als einzelne Benutzer oder als Mitglieder einer Microsoft Entra-Gruppe eine Verbindung mit Datenbanken herstellen. Weitere Informationen finden Sie unter Gastbenutzer erstellen.
Vertrauensarchitektur für den Microsoft Entra-Partnerverbund zu Active Directory
Microsoft Entra ID ist auch in vertraute Identitäts- und Zugriffsverwaltungslösungen wie Active Directory integriert. Die Hybridverbindung zu Ihrem lokalen AD ermöglicht Windows-Identitäten, die über die Microsoft Entra ID verbunden sind, um Anmeldeinformationen für einmaliges Anmelden zu verwenden, um eine Verbindung mit Azure SQL herzustellen.
Für den Partnerverbund stellt die Microsoft Entra ID zwei sichere Authentifizierungsmethoden bereit: Passthrough- und Kennwort-Hashauthentifizierung. Wenn Sie erwägen, Ihr lokales Active Directory mit der Microsoft Entra ID zu verbinden, lesen Sie die Wählen Sie die richtige Authentifizierungsmethode für Ihre hybride Identitätslösung von Microsoft Entra.
Weitere Informationen zur Einrichtung und Synchronisierung von Microsoft Entra-Hybrididentitäten finden Sie in den folgenden Artikeln:
- Implementieren der Kennwort-Hashsynchronisierung mit der Microsoft Entra Connect-Synchronisierung
- Microsoft Entra-Passthrough-Authentifizierung
- Bereitstellung von Active Directory-Verbunddiensten (AD FS) in Azure und Microsoft Entra Connect und Verbund
Dieses Diagramm zeigt ein Beispiel für eine Verbundauthentifizierung mit ADFS-Infrastruktur (oder Benutzer/Passwort für Windows-Anmeldeinformationen). 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. Die Microsoft Entra ID authentifiziert das Token und die Datenbank vertraut ihm und überprüft den Aussteller und andere Details. 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 oder Azure Synapse zu erstellen.
Berechtigungen
Berechtigungen, die dem Microsoft Entra-Administrator zugewiesen sind, unterscheiden sich von den Berechtigungen, die den zugewiesenen Prinzipalen in Azure SQL zugewiesen sind. In einigen Szenarien benötigt Azure SQL auch Microsoft Graph-Berechtigungen für die Verwendung der Microsoft Entra-Authentifizierung.
Administrator-berechtigungen
Dem Microsoft Entra-Administrator werden bei der Erstellung die folgenden Berechtigungen und Rollen zugewiesen:
- db_owner jeder Datenbank auf dem Server oder der Instanz
Azure SQL-Berechtigungen
Ein Prinzipal benötigt die ALTER ANY USER
-Berechtigung in der Datenbank, um einen Benutzer zu erstellen.
Standardmäßig wird ALTER ANY USER
vergeben an: Serveradministrator-Konten, Datenbankbenutzer mit CONTROL ON DATABASE
und Mitglieder der Datenbankrolle db_owner
.
Um einen Microsoft Entra-Prinzipal in Azure SQL zu erstellen, muss die anfordernde Identität Microsoft Graph nach Details zum Prinzipal abfragen. Bei der Erstbereitstellung ist die einzige Identität, die MS Graph abfragen kann, der Microsoft Entra-Administrator; Daher muss der Administrator die erste Identität sein, um andere Microsoft Entra-Prinzipale zu erstellen. Danach kann er anderen Prinzipalen ALTER ANY USER
zuweisen, damit diese ebenfalls andere Microsoft Entra-Prinzipale erstellen können.
Zero-Touch-Bereitstellungen mit Microsoft Entra-Authentifizierung
Da der Microsoft Entra-Administrator die erste Identität sein muss, um eine Verbindung mit der Datenbank herzustellen und andere Microsoft Entra-Benutzer zu erstellen, kann es hilfreich sein, die Identität Ihrer Bereitstellungsinfrastruktur als Administrator hinzuzufügen. Ihre Bereitstellungen können dann zunächst eingerichtet werden, z. B. das Erstellen anderer Microsoft Entra-Prinzipale und das Zuweisen von Berechtigungen. Bereitstellungen können Tools wie PowerShell ARM-Vorlagen verwenden, um die automatisierte Prinzipalerstellung zu skripten. Azure SQL unterstützt heute keine nativen APIs zum Konfigurieren der Benutzererstellung und Berechtigungsverwaltung. Diese Vorgänge dürfen nur mit einer direkten Verbindung mit der SQL-Instanz ausgeführt werden.
Microsoft Graph-Berechtigungen
Zum Erstellen von Microsoft Entra-Prinzipalen und einigen anderen Szenarien muss Azure SQL Microsoft Graph-Aufrufe ausführen, um Informationen abzurufen und das Vorhandensein der Identität in Microsoft Entra ID zu überprüfen. Dazu muss der SQL-Prozess Zugriff auf MS Graph Leseberechtigungen innerhalb des Kundenmandanten haben oder erhalten, der auf verschiedene Arten erreicht wird:
- Wenn der SQL-Prinzipal, der den Befehl ausführt, eine Benutzeridentität ist, sind keine zusätzlichen Berechtigungen für die SQL-Instanz erforderlich, um MS Graph abzufragen.
- Wenn der SQL-Prinzipal, der den Befehl ausführt, eine Dienstidentität ist, z. B. ein Dienstprinzipal oder eine verwaltete Identität, benötigt die Azure SQL-Instanz eigene Berechtigungen zum Abfragen von MS Graph.
- Anwendungsberechtigungen können der primären Serveridentität (verwaltete Identität) des logischen Servers oder der verwalteten Instanz zugewiesen werden. Der SQL-Prozess kann die primäre Serveridentität verwenden, um sich bei anderen Azure-Diensten in einem Mandanten zu authentifizieren, z. B. MS Graph. In der folgenden Tabelle werden verschiedene Szenarien und die MS Graph-Berechtigungen erläutert, die für die erfolgreiche Ausführung des Befehls erforderlich sind.
Szenario | Mindestberechtigung |
---|---|
CREATE USER oder CREATE LOGIN für einen Microsoft Entra-Dienstprinzipal oder eine verwaltete Identität | Application.Read.All |
CREATE USER oder CREATE LOGIN für einen Microsoft Entra-Benutzer | User.Read.All |
CREATE USER oder CREATE LOGIN für eine Microsoft Entra-Gruppe | GroupMember.Read.All |
Microsoft Entra-Authentifizierung mit Azure SQL Managed Instance | Rolle Verzeichnisleseberechtigte, die der Identität der verwalteten Instanz zugewiesen ist |
Tipp
Die Rolle Verzeichnisleseberechtigte ist die kleinste Rolle, die einer Identität zugewiesen werden kann, die alle Berechtigungen von Azure SQL abdeckt. Die Verwendung von Rollen hat den Vorteil, dass sie Microsoft Entra-Sicherheitsgruppen zugewiesen werden können, wodurch die Verwaltung von einzelnen Entitäten auf konzeptionelle Gruppen reduziert wird.
Unterstützung von Tools
SQL Server Management Studio (SSMS) unterstützt eine Reihe von Microsoft Entra-Authentifizierungsoptionen, einschließlich Multi-Faktor-Authentifizierung.
SQL Server Data Tools (SSDT) für Visual Studio, beginnend mit 2015, unterstützt Passwort, integrierte und interaktive Authentifizierung mit Microsoft Entra ID. Weitere Informationen finden Sie unter Microsoft Entra ID-Unterstützung in SQL Server Data Tools (SSDT).
- 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.
Mindestversionen
Um die Microsoft Entra-Authentifizierung mit Azure SQL zu verwenden, benötigen Sie bei Verwendung dieser Tools die folgenden Mindestversionen:
- SQL Server Management Studio 18.6 (SSMS) oder höher
- SQL Server Data Tools für Visual Studio 2015, Version 14.0.60311.1 (April 2016) oder höher
- .NET Framework-Datenanbieter für SQL Server, Mindestversion .NET Framework 4.6
- Ab Version 15.0.1 unterstützen das SQLCMD-Hilfsprogramm und das BCP-Hilfsprogramm die interaktive Active Directory-Authentifizierung mit Multi-Faktor-Authentifizierung.
- Microsoft JDBC-Treiber 6.0 für SQL Server unterstützt die Microsoft Entra-Authentifizierung. Siehe auch Einstellen der Verbindungseigenschaften.
Verbindung mit Microsoft Entra zu Azure SQL-Ressourcen
Nachdem die Microsoft Entra-Authentifizierung für Ihre Azure SQL-Ressource konfiguriert wurde, können Sie eine Verbindung mit SQL Server Management Studio, SQL Server Data Tools und einer Clientanwendung herstellen.
Begrenzungen
Berücksichtigen Sie bei der Verwendung der Microsoft Entra-Authentifizierung mit Azure SQL die folgenden Einschränkungen:
Microsoft Entra-Benutzer und Dienstprinzipale (Microsoft Entra-Anwendungen), die Mitglieder von mehr als 2048 Microsoft Entra-Sicherheitsgruppen sind, werden nicht unterstützt und können sich nicht bei der Datenbank anmelden.
Die folgenden 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>)
Es wird empfohlen, das Verbindungstimeout auf 30 Sekunden festzulegen.
Azure SQL Database und Azure Synapse Analytics
Berücksichtigen Sie bei der Verwendung der Microsoft Entra-Authentifizierung mit Azure SQL-Datenbank und Azure Synapse Analytics die folgenden Einschränkungen:
Microsoft Entra-Benutzer, die Teil einer Gruppe sind, die Mitglied der
db_owner
-Datenbankrolle ist, sehen möglicherweise den folgenden Fehler, wenn sie versuchen, die Syntax CREATE DATABASE SCOPED CREDENTIAL gegen Azure SQL-Datenbank und Azure Synapse zu verwenden: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 die Identität des Microsoft Entra-Benutzers direkt zur
db_owner
-Rolle hinzu.Azure SQL-Datenbank und Azure Synapse Analytics 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, möglicherweise 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 ein DEFAULT_SCHEMA wie dbo zuzuweisen.
Bei der Verwendung von Geo-Replikation und Failover-Gruppen muss der Microsoft Entra-Administrator sowohl für den primären als auch für den sekundären Server konfiguriert werden. Wenn ein Server keinen Microsoft Entra-Administrator hat, erhalten Microsoft Entra-Anmeldungen und -Benutzer einen
Cannot connect
-Fehler.Das Entfernen des Microsoft Entra-Administrators für den Server verhindert jegliche Microsoft Entra-Authentifizierungsverbindungen zum Server. Bei Bedarf kann ein SQL-Datenbankadministrator nicht mehr verwendbare Microsoft Entra-Benutzer manuell löschen.
Verwaltete Azure SQL-Datenbank-Instanz
Wenn Sie die Microsoft Entra-Authentifizierung mit Azure SQL Managed Instance verwenden, müssen Sie die folgenden Einschränkungen beachten:
Microsoft Entra-Dienstprinzipale (Anmeldungen) und -Benutzer werden für SQL Managed Instance unterstützt.
Das Einstellen einer Microsoft Entra-Gruppenanmeldung 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
Microsoft Entra-Dienstprinzipale (Anmeldungen) für SQL Managed Instance ermöglichen es, mehrere Anmeldungen zu erstellen, die der Rolle
sysadmin
hinzugefügt werden können.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.
Bei der Verwendung von Failover-Gruppen muss der Microsoft Entra-Administrator sowohl für die primären als auch für die sekundären Instanzen konfiguriert werden. Wenn eine Instanz keinen Microsoft Entra-Administrator hat, erhalten Microsoft Entra-Anmeldungen und -Benutzer einen
Cannot connect
-Fehler.PolyBase unterstützt die Microsoft Entra-Authentifizierung nicht.
Das Entfernen des Microsoft Entra-Administrators für die Instanz verhindert alle Microsoft Entra-Authentifizierungsverbindungen zur Instanz. Bei Bedarf kann ein SQL Managed Instance-Administrator nicht mehr verwendbare Microsoft Entra-Benutzer manuell löschen.
Zugehöriger Inhalt
- Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit Azure SQL
- Lernprogramm: Schützen mit Microsoft Entra-Anmeldungen – Azure SQL Managed Instance
- Autorisieren des Datenbankzugriffs für Azure SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics
- Datenbank-Prinzipale
- Datenbankrollen
- CREATE LOGIN-Syntax für SQL Managed Instance Microsoft Entra Serverprinzipale (Anmeldungen)
- Azure SQL-Datenbank- und Azure Synapse-IP-Firewallregeln