Verwenden der Microsoft Entra ID für die Authentifizierung mit Synapse SQL

Die Microsoft Entra-Authentifizierung ist ein Mechanismus, der mithilfe von Identitäten in Microsoft Entra ID eine Verbindung mit Azure Synapse Analytics herstellt.

Mit der Microsoft Entra-Authentifizierung können Sie zur Vereinfachung der Berechtigungsverwaltung die Benutzeridentitäten zentral verwalten, die Zugriff auf Azure Synapse haben. Daraus ergeben sich u. a. die folgenden Vorteile:

  • Sie bietet eine Alternative zur regulären Benutzernamen- und Kennwortauthentifizierung.
  • Es wird einer unkontrollierten Ausbreitung von Benutzeridentitäten über Server hinweg Einhalt geboten.
  • Über eine zentrale Stelle wird eine Kennwortrotation ermöglicht.
  • Kunden können Berechtigungen mithilfe externer (Microsoft Entra ID-)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.
  • Microsoft Entra ID unterstützt die tokenbasierte Authentifizierung für Anwendungen, die eine Verbindung mit Azure Synapse herstellen.
  • Die Microsoft Entra-Authentifizierung unterstützt AD FS (Domänenverbund) sowie native Benutzer-/Kennwortauthentifizierung für eine lokale Microsoft Entra ID ohne Domänensynchronisierung.
  • Microsoft Entra ID unterstützt Verbindungen von SQL Server Management Studio, bei denen universelle Active Directory-Authentifizierungsverfahren verwendet werden, zu denen auch die Multi-Faktor Authentication (MFA) gehört. MFA bietet eine sichere Authentifizierung über eine Reihe einfacher Überprüfungsoptionen, u. a. Telefonanruf, SMS, Smartcards mit PIN oder Benachrichtigung in einer mobilen App. Weitere Informationen finden Sie unter SSMS-Unterstützung der Microsoft Entra-Multi-Faktor-Authentifizierung mit Synapse SQL.
  • Microsoft Entra ID unterstützt ähnliche Verbindungen aus SQL Server Data Tools (SSDT), die die interaktive Active Directory-Authentifizierung verwenden. Weitere Informationen finden Sie unter Microsoft Entra ID-Unterstützung in SQL Server Data Tools (SSDT).

Die Konfigurationsschritte schließen die folgenden Verfahren zum Konfigurieren und Verwenden der Microsoft Entra-Authentifizierung ein.

  1. Erstellen und Auffüllen von Microsoft Entra ID.
  2. Erstellen einer Microsoft Entra-Identität.
  3. Zuweisen einer Rolle zur erstellten Microsoft Entra-Identität im Synapse-Arbeitsbereich.
  4. Herstellen einer Verbindung mit Synapse Studio unter Verwendung von Microsoft Entra-Identitäten.

Microsoft Entra-Passthrough in Azure Synapse Analytics

Azure Synapse Analytics ermöglicht Ihnen den Zugriff auf die Daten im Data Lake unter Verwendung Ihrer Microsoft Entra-Identität.

Wenn Sie für die Dateien und Daten Zugriffsrechte festlegen, die in verschiedenen Daten-Engines berücksichtigt werden, können Sie Ihre Data Lake-Lösungen vereinfachen, da die Berechtigungen an einem zentralen Ort definiert werden.

Architektur von Vertrauensstellungen

Das folgende Diagramm bietet eine Übersicht über die Lösungsarchitektur für die Microsoft Entra-Authentifizierung mit Synapse SQL. Zur Unterstützung des nativen Benutzerkennworts von Microsoft Entra werden nur der Cloudanteil und Azure AD/Synapse SQL berücksichtigt. Zur Unterstützung der Verbundauthentifizierung (oder von Benutzername und Kennwort für Windows-Anmeldeinformationen) ist die Kommunikation mit dem AD FS-Block erforderlich. Die Pfeile zeigen die Kommunikationswege.

Microsoft Entra auth diagram

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 die Datenbank vertraut dem Token.

„Customer 1“ kann eine Microsoft Entra ID mit nativen Benutzer*innen oder einer Microsoft Entra ID mit Verbundbenutzer*innen darstellen. „Customer 2“ stellt eine mögliche Lösung mit importierten Benutzer*innen 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. Das gleiche Abonnement muss auch verwendet werden, um die SQL Server-Instanz zu erstellen, in der Azure SQL-Datenbank oder der dedizierte SQL-Pool gehostet wird.

subscription relationship

Administratorstruktur

Bei Verwendung der Microsoft Entra-Authentifizierung sind zwei Administratorkonten für Synapse SQL vorhanden: das ursprüngliche SQL-Administratorkonto (mit SQL-Authentifizierung) und das Microsoft Entra-Administratorkonto. Nur auf einem Microsoft Entra-Konto basierende Administrator*innen können den ersten eigenständigen Microsoft Entra-Datenbankbenutzer in einer Benutzerdatenbank erstellen.

Bei der Microsoft Entra-Administratoranmeldung kann es sich um eine*n Microsoft Entra-Benutzer*in oder eine Microsoft Entra-Gruppe handeln. Wenn es sich bei dem Administrator bzw. der Administratorin um ein Gruppenkonto handelt, kann dieses von einem beliebigen Gruppenmitglied verwendet werden, sodass mehrere Microsoft Entra-Administrator*innen die Synapse SQL-Instanz verwalten können.

Die Verwendung eines Gruppenkontos als Administrator verbessert die Verwaltbarkeit und ermöglicht es Ihnen, Gruppenmitglieder in Microsoft Entra ID zentral hinzuzufügen und zu entfernen, ohne die Benutzer*innen oder Berechtigungen im Azure Synapse Analytics-Arbeitsbereich zu ändern. Es kann jeweils nur ein Microsoft Entra-Administrator (Benutzer*in oder Gruppe) konfiguriert werden.

admin structure

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 die Konten „SQL-Administrator“ und „Microsoft Entra-Administrator“, Datenbankbenutzer*innen mit der Berechtigung CONTROL ON DATABASE oder ALTER ON DATABASE für diese Datenbank sowie Mitglieder der Datenbankrolle db_owner.

Zum Erstellen von Benutzer*innen für die eigenständige Datenbank in Synapse SQL 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.

Eine Microsoft Entra-Authentifizierung ist nur möglich, wenn der Microsoft Entra-Administrator für Synapse SQL erstellt wurde. Falls der Microsoft Entra-Administrator vom Server entfernt wurde, können vorhandene Microsoft Entra-Benutzer*innen, die zuvor in Synapse SQL erstellt wurden, mithilfe ihrer Microsoft Entra-Anmeldeinformationen keine Verbindung mehr mit der Datenbank herstellen.

Deaktivieren der lokalen Authentifizierung

Indem Sie nur die Microsoft Entra-Authentifizierung zulassen, verwalten Sie den Zugriff auf die Azure Synapse-Ressourcen, wie z. B. SQL-Pools, zentral. Um die lokale Authentifizierung in Synapse während der Arbeitsbereichserstellung zu deaktivieren, wählen Sie Nur Microsoft Entra-Authentifizierung verwenden als Authentifizierungsmethode aus. Eine SQL-Administratoranmeldung wird weiterhin erstellt, aber deaktiviert. Die lokale Authentifizierung kann später von einem Azure-Besitzer oder -Mitwirkenden des Synapse-Arbeitsbereichs aktiviert werden.

Microsoft Entra-only auth configuration during workspace creation

Sie können die lokale Authentifizierung auch noch nach der Erstellung eines Arbeitsbereichs über das Azure-Portal deaktivieren. Die lokale Authentifizierung kann erst deaktiviert werden, wenn ein Microsoft Entra-Administrator für den Azure Synapse-Arbeitsbereich erstellt wurde.

Microsoft Entra-only auth configuration after workspace creation

Microsoft Entra-Features und -Einschränkungen

  • Die folgenden Elemente von Microsoft Entra ID können in Synapse SQL Server bereitgestellt werden:

  • Microsoft Entra-Benutzer*innen, die einer Gruppe mit der Serverrolle db_owner angehören, können die Syntax CREATE DATABASE SCOPED CREDENTIAL in Synapse SQL nicht verwenden. Der folgende Fehler wird angezeigt:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Weisen Sie die Rolle db_owner direkt dem einzelnen Microsoft Entra-Benutzer zu, um das Problem mit CREATE DATABASE SCOPED CREDENTIAL zu verringern.

  • Diese Systemfunktionen geben bei der Ausführung unter Microsoft Entra-Prinzipalen NULL-Werte zurück:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Herstellen einer Verbindung mithilfe von Microsoft Entra-Identitäten

Die Microsoft Entra-Authentifizierung unterstützt die folgenden Methoden der Verbindungsherstellung mit einer Datenbank unter Verwendung von Microsoft Entra-Identitäten:

  • Microsoft Entra-Kennwort
  • Microsoft Entra integriert
  • Microsoft Entra Universal mit MFA
  • Anwendungstokenauthentifizierung

Die folgenden Authentifizierungsmethoden werden für Microsoft Entra-Serverprinzipale (Anmeldungen) unterstützt:

  • Microsoft Entra-Kennwort
  • Microsoft Entra integriert
  • Microsoft Entra Universal mit MFA

Weitere Überlegungen

  • Um die Verwaltungsmöglichkeiten zu verbessern, wird empfohlen, eine dedizierte Microsoft Entra-Gruppe als Administrator bereitzustellen.
  • Es kann jeweils nur ein Microsoft Entra-Administrator (Benutzer*in oder Gruppe) für Synapse SQL-Pools konfiguriert werden.
    • Das Hinzufügen von Microsoft Entra-Serverprinzipalen (Anmeldungen) für Synapse SQL ermöglicht es, mehrere Microsoft Entra-Serverprinzipale (Anmeldungen) zu erstellen, die der Rolle sysadmin hinzugefügt werden können.
  • Nur ein Microsoft Entra-Administrator für Synapse SQL kann anfangs über ein Microsoft Entra-Konto eine Verbindung mit Synapse SQL herstellen. Der Active Directory-Administrator kann weitere Microsoft Entra-Datenbankbenutzer*innen konfigurieren.
  • 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 SQLCMD-Hilfsprogramm und BCP-Hilfsprogramm die interaktive Active Directory-Authentifizierung mit MFA.
  • SQL Server Data Tools für Visual Studio 2015 erfordert mindestens die Data Tools-Version von April 2016 (Version 14.0.60311.1). Derzeit werden Microsoft Entra-Benutzer*innen 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.
  • Das Microsoft Entra-Administratorkonto steuert den Zugriff auf dedizierte Pools, während Synapse-RBAC-Rollen (z. B. die Rollen Synapse-Administrator und Synapse SQL-Administrator) verwendet werden, um den Zugriff auf serverlose Pools zu steuern. Weitere Informationen zum Konfigurieren von Synapse-RBAC-Rollen über Synapse Studio finden Sie unter Verwalten von Synapse-RBAC-Rollenzuweisungen in Synapse Studio.
  • Wenn ein Benutzer bzw. eine Benutzerin als Microsoft Entra-Administrator und Synapse-Administrator konfiguriert ist und dann die Microsoft Entra-Administratorrolle entfernt wird, kann er bzw. sie nicht mehr auf die dedizierten SQL-Pools in Synapse zugreifen. Er muss entfernt und dann der Rolle „Synapse-Administrator“ hinzugefügt werden, um den Zugriff auf dedizierte SQL-Pools wieder zu erhalten.

Nächste Schritte