Freigeben über


Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit Azure SQL

Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics

Dieser Artikel zeigt Ihnen, wie Sie Microsoft Entra ID für die Authentifizierung mit Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics verwenden können.

Hinweis

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

Alternativ können Sie auch die Microsoft Entra-Authentifizierung für SQL Server auf virtuellen Azure-Computern konfigurieren.

Voraussetzungen

Um die Microsoft Entra-Authentifizierung mit Ihrer Azure SQL-Ressource zu verwenden, benötigen Sie die folgenden Voraussetzungen:

Erstellen eines Microsoft Entra-Mandanten und Füllen mit Daten

Bevor Sie die Microsoft Entra-Authentifizierung für Ihre Azure SQL-Ressource konfigurieren können, müssen Sie einen Microsoft Entra-Mandanten erstellen und mit Benutzern und Gruppen auffüllen. Microsoft Entra-Mandanten können vollständig in Azure verwaltet oder für den Partnerverbund eines lokalen Active Directory Domain Service verwendet werden.

Weitere Informationen finden Sie unter:

Einrichten eines Microsoft Entra-Admin

Damit Sie die Microsoft Entra-Authentifizierung mit Ihrer Ressource verwenden können, muss der Microsoft Entra-Administrator festgelegt sein. Während die Schritte für Azure SQL-Datenbank, Azure Synapse Analytics und Azure SQL Managed Instance identisch sind, werden in diesem Abschnitt die verschiedenen APIs und Portalfunktionen für die einzelnen Produkte detailliert beschrieben.

Der Microsoft Entra-Administrator kann auch konfiguriert werden, wenn die Azure SQL-Ressource erstellt wird. Wenn bereits ein Microsoft Entra-Administrator konfiguriert ist, überspringen Sie diesen Abschnitt.

Azure SQL Database und Azure Synapse Analytics

Das Festlegen des Microsoft Entra-Administrators ermöglicht die Microsoft Entra-Authentifizierung für Ihren logischen Server für Azure SQL-Datenbank und Azure Synapse Analytics. Sie können einen Microsoft Entra-Administrator für Ihren Server festlegen, indem Sie die Azure-Portal, PowerShell, Azure CLI oder REST-APIs verwenden.

Im Azure-Portal können Sie den Namen des logischen Servers finden

  • Im Feld Servername auf der Seite Übersicht von Azure SQL-Datenbank.
  • Im Feld Servername auf der Seite Übersicht Ihres eigenständigen dedizierten SQL-Pools in Azure Synapse Analytics.
  • Im entsprechenden SQL-Endpunkt auf der Seite Übersicht Ihres Azure Synapse Analytics-Arbeitsbereichs.

Führen Sie die folgenden Schritte aus, um den Microsoft Entra-Administrator für Ihren logischen Server im Azure-Portal festzulegen:

  1. Wählen Sie im Azure-Portal Verzeichnisse + Abonnements-Bereich das Verzeichnis aus, das Ihre Azure SQL-Ressource als aktuelles Verzeichnis enthält.

  2. Suchen Sie nach SQL-Servern und wählen Sie dann den logischen Server für Ihre Datenbankressource aus, um den SQL Server-Bereich zu öffnen.

    Screenshot zeigt, wie man nach SQL-Servern sucht und diese auswählt.

  3. Wählen Sie im SQL Server-Bereich für Ihren logischen Server die Microsoft Entra-ID unter Einstellungen aus, um den Bereich Microsoft Entra-ID zu öffnen.

  4. Wählen Sie im Bereich Microsoft Entra ID die Option Administrator festlegen aus, um den Bereich Microsoft Entra ID zu öffnen.

    Screenshot: Option zum Festlegen des Microsoft Entra-Administrators für SQL-Server.

  5. Im Bereich Microsoft Entra-ID werden alle Benutzer, Gruppen und Anwendungen in Ihrem aktuellen Verzeichnis angezeigt und Sie können nach Name, Alias oder ID suchen. Suchen Sie Ihre gewünschte Identität für Ihren Microsoft Entra-Administrator und wählen Sie sie aus und klicken Sie dann auf Auswählen, um den Bereich zu schließen.

  6. Wählen Sie oben auf der Seite Microsoft Entra ID für Ihren logischen Server Speichern aus.

    Screenshot: Option zum Speichern eines Microsoft Entra-Administrators.

    Die Objekt-ID wird für Microsoft Entra-Benutzer und -Gruppen neben dem Administratornamen angezeigt. Für Anwendungen (Dienstprinzipale) wird die Anwendungs-ID angezeigt.

Der Vorgang zum Ändern des Administrators kann einige Minuten in Anspruch nehmen. Der neue Administrator wird im Feld Microsoft Entra-Administrator angezeigt.

Wenn Sie einen Administrator entfernen möchten, wählen Sie oben auf der Seite Microsoft Entra ID die Option Administrator entfernen und anschließend Speichern aus. Durch das Entfernen des Microsoft Entra-Administrators wird die Microsoft Entra-Authentifizierung für Ihren logischen Server deaktiviert.

Hinweis

Der Microsoft Entra-Administrator wird als Benutzer (Datenbankprinzipal) in der Datenbank des master-Servers gespeichert. Da Datenbankprinzipalnamen eindeutig sein müssen, kann der Anzeigename des Administrators nicht mit dem Namen eines Benutzers in der Datenbank des Servers master übereinstimmen. Wenn bereits ein Benutzer mit dem Namen vorhanden ist, schlägt das Setup des Microsoft Entra-Administrators fehl und setzt einen Rollback ein, der angibt, dass der Name bereits verwendet wird.

Verwaltete Azure SQL-Datenbank-Instanz

Durch Festlegen des Microsoft Entra-Administrators wird die Microsoft Entra-Authentifizierung für Azure SQL Managed Instance aktiviert. Sie können einen Microsoft Entra-Administrator für Ihre SQL Managed Instance festlegen, indem Sie die Azure-Portal, PowerShell, Azure CLI oder REST-APIs verwenden.

Wenn Sie Ihrer SQL Managed Instance über das Azure-Portal Leseberechtigungen für Microsoft Entra ID erteilen möchten, melden Sie sich als globaler Administrator oder Administrator für privilegierte Rollen an und führen Sie die folgenden Schritte aus:

  1. Wählen Sie im Azure-Portal in der oberen rechten Ecke Ihr Konto und dann Verzeichnisse wechseln aus, um zu bestätigen, welches Verzeichnis derzeit Ihr aktuelles Verzeichnis ist. Wechseln Sie die Verzeichnisse, falls erforderlich.

    Screenshot des Azure-Portals, auf dem dargestellt ist, wo Sie Ihr Verzeichnis wechseln können.

  2. Wählen Sie im Azure-Portal Verzeichnisse + Abonnements-Bereich das Verzeichnis aus, das Ihre verwaltete Instanz als aktuelles Verzeichnis enthält.

  3. Suchen Sie nach SQL Managed Instances und wählen Sie dann Ihre verwaltete Instanz aus, um den Bereich der SQL Managed Instance zu öffnen. Wählen Sie dann unter Einstellungen die Microsoft Entra-ID aus, um den Bereich Microsoft Entra ID für Ihre Instanz zu öffnen.

    Screenshot des Azure-Portals mit der geöffneten Microsoft Entra-Administratorseite für die ausgewählte verwaltete SQL-Instanz

  4. Wählen Sie auf der Seite Microsoft Entra-Administrator die Option Administrator festlegen aus, um den Bereich Microsoft Entra ID zu öffnen.

    Screenshot: hervorgehobener Befehl „Administrator festlegen“ auf der Microsoft Entra-Administratorseite für die ausgewählte verwaltete SQL-Instanz.

  5. Suchen Sie im Bereich Microsoft Entra ID nach einem Benutzer, aktivieren Sie das Kontrollkästchen neben dem Benutzer oder der Gruppe, um ihn oder sie als Administrator festzulegen, und klicken Sie dann auf Auswählen, um den Bereich zu schließen und zur Seite Microsoft Entra-Administrator der verwalteten Instanz zurückzukehren.

    Im Bereich Microsoft Entra ID werden alle Mitglieder und Gruppen in Ihrem aktuellen Verzeichnis angezeigt. Abgeblendete Benutzer oder Gruppen können nicht ausgewählt werden, da sie nicht als Microsoft Entra-Administratoren unterstützt werden. Wählen Sie die Identität aus, die Sie als Administrator zuweisen möchten.

  6. Wählen Sie in der Navigationsleiste der Seite Microsoft Entra-Administrator für Ihre verwaltete Instanz die Option Speichern aus, um Ihren Microsoft Entra-Administrator zu bestätigen.

    Screenshot: Microsoft Entra-Administratorseite mit der Schaltfläche „Speichern“ in der oberen Zeile neben den Schaltflächen „Administrator festlegen“ und „Administrator entfernen“.

    Nach Abschluss des Administratoränderungsvorgangs wird der neue Administrator im Microsoft Entra-Administratorfeld angezeigt.

    Die Objekt-ID wird für Microsoft Entra-Benutzer und -Gruppen neben dem Administratornamen angezeigt. Für Anwendungen (Dienstprinzipale) wird die Anwendungs-ID angezeigt.

Tipp

Um den Admin zu entfernen, wählen Sie oben auf der Seite Microsoft Entra ID die Option Admin entfernen und dann Speichern.

Zuweisen von Microsoft Graph-Berechtigungen

SQL Managed Instance benötigt die Berechtigung zum Lesen der Microsoft Entra ID für Szenarien wie die Autorisierung von Benutzern, die sich über die Mitgliedschaft in Sicherheitsgruppen verbinden und die Erstellung neuer Benutzer. Damit die Microsoft Entra-Authentifizierung funktioniert, müssen Sie der Rolle Verzeichnisleseberechtigte die verwaltete Instanzidentität zuweisen. Dies ist mithilfe des Azure-Portals oder mit PowerShell möglich.

Für einige Vorgänge benötigen Azure SQL-Datenbank und Azure Synapse Analytics auch Berechtigungen zum Abfragen von Microsoft Graph, die in Microsoft Graph-Berechtigungen erläutert werden. Azure SQL-Datenbank und Azure Synapse Analytics unterstützen differenzierte Graph-Berechtigungen für diese Szenarien, während SQL Managed Instance die Rolle Verzeichnisleseberechtigte erfordert. Abgestimmte Berechtigungen und ihre Aufgabe werden ausführlich beschrieben, um Dienstprinzipale zum Erstellen von Microsoft Entra-Benutzern zu ermöglichen.

Rolle „Verzeichnisleseberechtigte“

Die Microsoft Entra ID-Seite für SQL Managed Instance im Azure-Portal zeigt ein bequemes Banner an, wenn die Instanz nicht den Berechtigungen des Verzeichnisleseberechtigten zugewiesen ist.

  1. Wählen Sie das Banner oben auf der Microsoft Entra ID-Seite aus und erteilen Sie der system- oder benutzerseitig zugewiesenen verwalteten Identität, die Ihre Instanz darstellt. Nur ein globaler Administrator oder ein Administrator für privilegierte Rollen in Ihrem Mandanten kann diesen Vorgang durchführen.

    Screenshot: Dialogfeld zum Erteilen von Berechtigungen für eine verwaltete SQL-Instanz zum Zugreifen auf die Microsoft Entra ID. Die Schaltfläche „Berechtigungen erteilen“ ist ausgewählt.

  2. Wenn der Vorgang erfolgreich ist, wird in der oberen rechten Ecke eine Erfolgsbenachrichtigung angezeigt:

    Screenshot: Benachrichtigung, die bestätigt, dass Microsoft Entra ID-Leseberechtigungen für die verwaltete Instanz erfolgreich aktualisiert wurden.

Der Microsoft Entra-Administrator kann jetzt verwendet werden, um Microsoft Entra-Serverprinzipale (Anmeldungen) und Datenbankprinzipale (Benutzer) zu erstellen. Weitere Informationen finden Sie unter Microsoft Entra-Integration in Azure SQL Managed Instance.

Erstellen von Microsoft Entra-Prinzipalen in SQL

Um eine Verbindung zu einer Datenbank in SQL-Datenbank oder Azure Synapse Analytics mit Microsoft Entra-Authentifizierung herzustellen, muss für diese Identität ein Prinzipal mit mindestens der Berechtigung CONNECT für die Datenbank konfiguriert sein.

Berechtigungen für Datenbankbenutzer

Wenn ein Datenbankbenutzer erstellt wird, erhält er standardmäßig die CONNECT-Berechtigung für die Datenbank. Ein Datenbankbenutzer erbt auch Berechtigungen unter zwei Umständen:

  • Wenn der Benutzer Mitglied einer Microsoft Entra-Gruppe ist, der auch Berechtigungen auf dem Server zugewiesen sind.
  • Wenn der Benutzer aus einer Anmeldung erstellt wird, erbt er die serverbasierten Berechtigungen der Anmeldung, die für die Datenbank gilt.

Das Verwalten von Berechtigungen für Server- und Datenbankprinzipale funktioniert unabhängig vom Prinzipaltyp (Microsoft Entra ID, SQL-Authentifizierung usw.) identisch. Es wird empfohlen, Berechtigungen für Datenbankrollen zu erteilen, anstatt Benutzern direkt Berechtigungen zu erteilen. Dann können Benutzer zu Rollen mit entsprechenden Berechtigungen hinzugefügt werden. Dies vereinfacht die langfristige Berechtigungsverwaltung und verringert die Wahrscheinlichkeit, dass ein Identitätszugriff bei Bedarf beibehalten wird.

Weitere Informationen finden Sie unter:

Eigenständige Datenbankbenutzer

Ein eigenständiger Datenbankbenutzer ist ein SQL-Benutzertyp, der nicht mit einer Anmeldung in der master-Datenbank verbunden ist. Zum Erstellen eines eigenständigen Datenbankbenutzers von Microsoft Entra stellen Sie eine Verbindung mit der Datenbank mit einer Microsoft Entra-Identität her, die mindestens die ALTER ANY USER-Berechtigung hat. Im folgenden T-SQL-Beispiel wird ein Datenbankprinzipal Microsoft_Entra_principal_name aus der Microsoft Entra ID erstellt.

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;

Um einen eigenständigen Datenbankbenutzer für eine Microsoft Entra-Gruppe zu erstellen, geben Sie den Anzeigenamen der Gruppe ein:

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;

Um einen eigenständigen Datenbankbenutzer für eine verwaltete Identität oder einen Dienstprinzipal zu erstellen, geben Sie den Anzeigenamen der Identität ein:

CREATE USER [appName] FROM EXTERNAL PROVIDER;

Um einen eigenständigen Datenbankbenutzer für einen Microsoft Entra-Benutzer zu erstellen, geben Sie den Benutzerprinzipalnamen der Identität ein:

CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;

Anmeldungsbasierte Benutzer

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-Serverprinzipale (oder Anmeldungen) werden unterstützt, was bedeutet, dass eigenständige Datenbankbenutzer nicht erforderlich sind. Datenbankprinzipale (Benutzer) können basierend auf einem Serverprinzipal erstellt werden, was bedeutet, dass Microsoft Entra-Benutzer die auf Serverebene zugewiesenen Berechtigungen einer Anmeldung erben können.

CREATE USER [appName] FROM LOGIN [appName];

Weitere Informationen finden Sie in der Übersicht über SQL Managed Instance. Die Syntax zum Erstellen von Microsoft Entra-Dienstprinzipalen (Anmeldungen) finden Sie unter CREATE LOGIN.

Externe Benutzer

Sie können einen Datenbankbenutzer nicht direkt für eine Identität erstellen, die in einem anderen Microsoft Entra-Mandanten verwaltet wird als der, der Ihrem Azure-Abonnement zugeordnet ist. Benutzer in anderen Verzeichnissen können jedoch als externe Benutzer in das zugeordnete Verzeichnis importiert werden. Sie können dann verwendet werden, um eigenständige Datenbankbenutzer zu erstellen, die auf die Datenbank zugreifen können. Externe Benutzer können auch über die Mitgliedschaft in Microsoft Entra-Gruppen Zugriff erhalten.

Beispiele: So erstellen Sie einen eigenständigen Datenbankbenutzer, der einen Benutzer der Microsoft Entra-Verbunddomäne oder einen Benutzer der verwalteten Microsoft Entra-Domäne repräsentiert:

CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;

Ein Verbunddomänen-Benutzerkonto, das als externer Benutzer in eine verwaltete Domäne importiert wird, muss die Identität der verwalteten Domäne verwenden.

Überlegungen zur Benennung

In den T-SQL-Anweisungen CREATE LOGIN und CREATE USER werden Sonderzeichen wie Doppelpunkt (:) oder kaufmännisches Und-Zeichen (&) in Benutzernamen nicht unterstützt.

Microsoft Entra ID und Azure SQL unterscheiden sich in ihrem Benutzerverwaltungsdesign in einer zentralen Weise: Microsoft Entra ID erlaubt die Duplizierung von Anzeigenamen innerhalb eines Mandanten, während Azure SQL verlangt, dass alle Serverprinzipale auf einem Server oder einer Instanz und alle Datenbankprinzipale auf einer Datenbank einen eindeutigen Namen haben. Da Azure SQL bei der Erstellung von Prinzipalen direkt den Microsoft Entra-Anzeigenamen der Identität verwendet, kann dies zu Fehlern bei der Erstellung von Benutzern führen. Um dieses Problem zu beheben, hat Azure SQL die WITH OBJECT_ID-Erweiterung zurzeit in der Vorschau veröffentlicht, wodurch Benutzer die Microsoft Entra-Objekt-ID der Identität angeben können, die dem Server oder der Instanz hinzugefügt wird.

Microsoft Graph-Berechtigungen

Der Befehl CREATE USER ... FROM EXTERNAL PROVIDER erfordert, dass Azure SQL auf Microsoft Entra ID (den „externen Anbieter“) im Namen des angemeldeten Benutzers zugreift. Manchmal treten Umstände auf, die bewirken, dass Microsoft Entra ID eine Ausnahme an Azure SQL zurückgibt.

  • Möglicherweise tritt SQL-Fehler 33134 auf, der die spezifische Fehlermeldung für Microsoft Entra ID enthält. Der Fehler besagt normalerweise, dass der Zugriff verweigert wird, der Benutzer sich für MFA registrieren muss, um auf die Ressource zuzugreifen, oder dass der Zugriff zwischen Erstanbieteranwendungen über Vorautorisierung verarbeitet werden muss. In den ersten beiden Fällen wird das Problem normalerweise durch Richtlinien für bedingten Zugriff verursacht, die im Microsoft Entra-Mandanten des Benutzers festgelegt werden: Sie verhindern, dass der Benutzer auf den externen Anbieter zugreifen kann. Aktualisieren Sie die Richtlinien für bedingten Zugriff, um den Zugriff auf die Anwendung „00000003-0000-0000-c000-000000000000“ zu ermöglichen (die Anwendungs-ID der Microsoft Graph-API). Dadurch sollte das Problem behoben werden. Wenn der Fehler besagt, dass der Zugriff zwischen Erstanbieteranwendungen über Vorautorisierung verarbeitet werden muss, liegt das Problem daran, dass der Benutzer als Dienstprinzipal angemeldet ist. Der Befehl sollte erfolgreich sein, wenn er stattdessen von einem Benutzer ausgeführt wird.
  • Wenn Sie die Benachrichtigung Das Verbindungstimeout ist abgelaufen. erhalten, müssen Sie möglicherweise den Parameter TransparentNetworkIPResolution der Verbindungszeichenfolge auf FALSE festlegen. Weitere Informationen finden Sie unter Connection timeout issue with .NET Framework 4.6.1 – TransparentNetworkIPResolution (Verbindungstimeout-Problem mit .NET Framework 4.6.1 – TransparentNetworkIPResolution).

Weitere Informationen zum Erstellen eigenständiger Datenbankbenutzer basierend auf Microsoft Entra-Identitäten finden Sie unter CREATE USER.

Konfigurieren der mehrstufigen Authentifizierung

Um die Sicherheit für Ihre Azure SQL-Ressource zu verbessern, sollten Sie die Multi-Faktor-Authentifizierung (Multifactor Authentication, MFA) konfigurieren, die den Benutzer auffordert, eine zweite alternative Methode zur Authentifizierung bei der Datenbank zu verwenden, z. B. einen Telefonanruf oder eine Authenticator-App.

Wenn Sie die Multi-Faktor-Authentifizierung mit Ihrer Azure SQL-Ressource verwenden möchten, aktivieren Sie zuerst die Multi-Faktor-Authentifizierung und verwenden Sie dann eine Richtlinie für bedingten Zugriff, um MFA für Ihre Azure SQL-Ressource zu erzwingen.

Verbinden mit Microsoft Entra

Nachdem die Microsoft Entra-Authentifizierung konfiguriert wurde, können Sie sie verwenden, um eine Verbindung mit Ihrer SQL-Ressource mit Microsoft-Tools wie SQL Server Management Studio und SQL Server Data Tools herzustellen und Clientanwendungen für die Verbindung mit Microsoft Entra-Identitäten zu konfigurieren.

Behandeln von Problemen bei der Microsoft Entra-Authentifizierung

Anleitungen zur Problembehandlung finden Sie im Blog: Behandeln von Problemen im Zusammenhang mit der Microsoft Entra-Authentifizierung mit Azure SQL-Datenbank und Azure Synapse.