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.
Dieser Artikel zeigt Ihnen, wie Sie die Microsoft Entra-Authentifizierung verwenden, um sich mit Azure Synapse Analytics zu verbinden.
Note
Microsoft Entra Server Principals befinden sich derzeit in der Vorschauversion für Azure Synapse Analytics.
Prerequisites
Um eine Verbindung herzustellen, müssen Sie die Microsoft Entra-Authentifizierung für Ihre Azure Synapse-Ressource konfigurieren.
Um zu bestätigen, dass der Microsoft Entra-Administrator korrekt eingerichtet ist, verbinden Sie sich mit der master Datenbank über das Microsoft Entra-Administratorkonto.
Um einen Microsoft Entra-basierten eigenständigen Datenbankbenutzer zu erstellen, verbinden Sie sich mit der Datenbank über eine Microsoft Entra-Identität mit Zugriff auf die Datenbank und mindestens über die Berechtigung ALTER ANY USER ALTER ANY USER.
Herstellen einer Verbindung mit SSMS oder SSDT
Die folgenden Verfahren zeigen Ihnen, wie Sie sich mit einer Microsoft Entra-Identität mit Synapse SQL verbinden können, indem Sie SQL Server Management Studio (SSMS) oder SQL Server Database Tools (SSDT) verwenden.
Microsoft Entra Integriert
Verwenden Sie diese Methode, wenn Sie sich anmelden möchten, indem Sie Ihre Windows-Zugangsdaten verwenden, die in Microsoft Entra ID föderiert sind. Weitere Informationen finden Sie unter Microsoft Entra nahtloses einmaliges Anmelden.
Starten Sie SSMS oder SSDT und öffnen Sie auf der Registerkarte Anmelden des Dialogfelds Mit Server verbinden (oder Mit Datenbank-Engine verbinden) Folgendes:
- Gib den voll qualifizierten Servernamen für deinen SQL-Endpunkt ein. Für Endpunktformate siehe Connect to Synapse SQL.
- Wählen Sie für AuthentifizierungMicrosoft Entra Integrated. Du musst kein Passwort eingeben, da deine bestehenden Zugangsdaten für die Verbindung verwendet werden.
- Für Verschlüsselung wählen Sie Strict.
Geben Sie auf der Registerkarte Verbindungseigenschaften im Feld Mit Datenbank verbinden den Namen der Benutzerdatenbank ein, mit der Sie eine Verbindung herstellen möchten.
Microsoft Entra-Kennwort
Verwenden Sie diese Methode, wenn Sie sich mit einem Microsoft Entra-Prinzipalnamen verbinden, indem Sie die verwaltete Domäne von Microsoft Entra verwenden. Du kannst es auch für föderierte Konten ohne Zugriff auf die Domain verwenden, zum Beispiel wenn du remote arbeitest.
Verwenden Sie diese Methode, um sich mit Microsoft Entra-Benutzern mit reiner Cloudidentität oder Benutzern mit Microsoft Entra-Hybrididentitäten bei Synapse SQL zu authentifizieren. Diese Methode unterstützt Nutzer, die ihre Windows-Zugangsdaten verwenden möchten, wenn ihr lokaler Rechner nicht mit der Domain verbunden ist, zum Beispiel beim Fernzugriff.
Starten Sie SSMS oder SSDT und gehen Sie auf die Registerkarte Anmelden im Dialogfeld Mit Server verbinden (oder Mit Datenbank-Engine verbinden).
- Gib den voll qualifizierten Servernamen für deinen SQL-Endpunkt ein. Für Endpunktformate siehe Herstellen einer Verbindung mit Synapse SQL.
- Wählen Sie für AuthentifizierungMicrosoft Entra-Passwort.
- Geben Sie im Feld Benutzername Ihren Microsoft Entra-Benutzernamen im Format
username@domain.comein. Benutzernamen müssen Konten aus Microsoft Entra ID oder Konten aus einer verwalteten oder einer mit Microsoft Entra ID verbundenen Domäne sein. - Geben Sie im Feld Kennwort Ihr Benutzerkennwort für das Microsoft Entra-Konto oder das Konto der verwalteten Domäne oder Verbunddomäne ein.
- Für Verschlüsselung wählen Sie Strict.
Geben Sie auf der Registerkarte Verbindungseigenschaften im Feld Mit Datenbank verbinden den Namen der Benutzerdatenbank ein, mit der Sie eine Verbindung herstellen möchten.
Microsoft Entra MFA
Verwenden Sie diese Methode für interaktive Authentifizierung mit Multifaktor-Authentifizierung (MFA), wobei das Passwort interaktiv angefordert wird. Diese Methode kann verwendet werden, um sich bei Synapse SQL für Microsoft Entra Cloud-only-Identitätsbenutzer oder Nutzer mit Microsoft Entra-Hybrididentitäten zu authentifizieren.
Die folgenden Schritte zeigen, wie man sich mit Multifaktor-Authentifizierung in der neuesten Version von SSMS verbindet.
Um sich über MFA zu verbinden, wählen Sie im Dialogfeld „Mit Server verbinden“ in SSMS Microsoft Entra MFA aus.
Füllen Sie das Feld Servername mit dem Namen Ihres Servers aus. Füllen Sie das Feld Benutzername mit Ihren Microsoft Entra-Anmeldeinformationen im Format
user_name@domain.comaus.Wählen Sie Verbinden aus.
Wenn das Dialogfeld „Bei Ihrem Konto anmelden“ erscheint, wird es mit dem Benutzernamen ausgefüllt, den Sie in Schritt 2 angegeben haben. Es ist kein Kennwort erforderlich, wenn ein Benutzer Mitglied einer Domäne im Verbund mit Microsoft Entra ID ist.
Sie werden aufgefordert, sich mit einer der Methoden zu authentifizieren, die basierend auf der MFA-Administratoreinstellung konfiguriert sind.
Wenn die Überprüfung abgeschlossen ist, stellt SSMS normalerweise eine Verbindung her, vorausgesetzt, die Anmeldeinformationen sind gültig und der Firewallzugriff ist möglich.
Microsoft Entra-Dienstprinzipal
Verwenden Sie diese Methode, um sich mit Microsoft Entra Service Principals bei Synapse SQL zu authentifizieren.
Microsoft Entra – verwaltete Identität
Verwenden Sie diese Methode, um sich mit Microsoft Entra verwalteten Identitäten bei Synapse SQL zu authentifizieren. Weitere Informationen finden Sie unter Managed Identities in Microsoft Entra für Azure Synapse Analytics.
Microsoft Entra – Voreinstellung
Die Standard-Authentifizierungsoption mit Microsoft Entra ID ermöglicht die Authentifizierung über passwortlose und nicht-interaktive Mechanismen, einschließlich verwalteter Identitäten.
Stellen Sie eine Verbindung von einer Clientanwendung her
Die folgenden Verfahren zeigen Ihnen, wie Sie sich mit einer Microsoft Entra-Identität von einer Client-Anwendung aus mit Synapse SQL verbinden können. Diese Liste enthält nicht alle Authentifizierungsmethoden. Weitere Informationen finden Sie unter Microsoft Entra-Authentifizierung und SqlClient.
Konfigurieren Ihrer Clientanwendungen
Note
System.Data.SqlClient verwendet die Azure Active Directory-Authentifizierungsbibliothek (ADAL), die veraltet ist. Wenn Sie den Namespace System.Data.SqlClient für die Microsoft Entra-Authentifizierung verwenden, migrieren Sie Anwendungen zu Microsoft.Data.SqlClient und zur Microsoft-Authentifizierungsbibliothek (MSAL). Um die in .NET verfügbaren Verbindungsmethoden zu verstehen, siehe Microsoft Entra Authentication und SqlClient.
Wenn Sie ADAL.DLL weiterhin in Ihren Anwendungen verwenden müssen, nutzen Sie die Links in diesem Abschnitt, um den neuesten ODBC- oder OLE-DB-Treiber zu installieren, der die neueste ADAL.DLL-Bibliothek enthält.
Installieren Sie auf allen Client-Rechnern, von denen aus Ihre Anwendungen oder Benutzer unter Verwendung von Microsoft Entra-Identitäten eine Verbindung mit Azure Synapse Analytics herstellen, die folgende Software:
- .NET Framework 4.6 oder höher.
- Microsoft-Authentifizierungsbibliothek (MSAL) oder Microsoft-Authentifizierungsbibliothek für SQL Server (ADAL.DLL). Links zur Installation der neuesten SSMS-, ODBC- und OLE DB-Treiber, die die ADAL.DLL-Bibliothek enthalten, finden Sie hier:
Sie können diese Anforderungen folgendermaßen erfüllen:
- Durch das Installieren der aktuellen Version von SQL Server Management Studio oder SQL Server Data Tools wird die Anforderung erfüllt, dass .NET Framework 4.6 vorhanden sein muss.
- SSMS installiert die x86-Version von ADAL.DLL.
- SSDT installiert die amd64-Version von ADAL.DLL.
- Die neueste Visual Studio-Version unter Visual Studio-Downloads erfüllt die .NET Framework 4.6-Anforderung, die erforderliche amd64-Version von ADAL.DLL wird jedoch nicht installiert.
Integrierte Microsoft Entra-Authentifizierung
Um integrierte Windows-Authentifizierung zu nutzen, muss das Active Directory Ihrer Domain mit Microsoft Entra ID federiert sein oder eine verwaltete Domain sein, die für nahtloses Single Sign-on für Pass-Through- oder Passwort-Hash-Authentifizierung konfiguriert ist. Weitere Informationen finden Sie unter Microsoft Entra nahtloses einmaliges Anmelden.
Um sich mit der Datenbank zu verbinden, muss eine Anwendung (oder ein Dienst) auf einer domänengebundenen Maschine unter den Domain-Zugangsdaten eines Benutzers laufen.
Um sich mit einer Datenbank über integrierte Authentifizierung und eine Microsoft Entra-Identität zu verbinden, setzen Sie das Authentication Schlüsselwort in der Datenbank-Verbindungszeichenfolge auf Active Directory Integrated. Ersetzen Sie <server_name> durch den Namen Ihres logischen Servers. Im folgenden C#-Codebeispiel wird ADO .NET verwendet.
string ConnectionString = @"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
Das Schlüsselwort Integrated Security=True Verbindungszeichenfolge wird nicht für die Verbindung zu Synapse SQL unterstützt. Wenn Sie eine ODBC-Verbindung herstellen, entfernen Sie Leerzeichen und setzen Sie die Authentifizierung auf ActiveDirectoryIntegrated.
Microsoft Entra-Authentifizierung mit Kennwort
Um sich mit einer Datenbank mit Microsoft Entra-Cloud-only-Identitätsbenutzerkonten oder mit Benutzern, die Microsoft Entra-Hybrididentitäten verwenden, zu verbinden, setzen Sie das Authentifizierungsstichwort auf Active Directory Password. Die Verbindungszeichenfolge muss die Schlüsselwörter "User ID/UID" und "Password/PWD" enthalten. Ersetzen Sie <server_name>, <email_address> und <password> durch die entsprechenden Werte. Im folgenden C#-Codebeispiel wird ADO .NET verwendet.
string ConnectionString =
@"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb; UID=<email_address>; PWD=<password>";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
Erfahren Sie mehr über die Authentifizierungsmethoden von Microsoft Entra, indem Sie die Demo-Codebeispiele verwenden, die bei Microsoft Entra Authentication GitHub Demo verfügbar sind.
Microsoft Entra ID-Zugriffstoken
Diese Authentifizierungsmethode ermöglicht es Mittelstufen-Diensten, JSON Web Tokens (JWT) von Microsoft Entra ID zu erhalten, um sich mit Synapse SQL zu verbinden, indem sie ein Token von Microsoft Entra ID erhalten. Diese Methode ermöglicht verschiedene Anwendungsszenarien einschließlich Dienstidentitäten, Dienstprinzipalen und Anwendungen, die zertifikatbasierte Authentifizierung verwenden. Sie müssen vier grundlegende Schritte zum Verwenden der Microsoft Entra-Token-Authentifizierung ausführen:
- Registrieren Sie Ihre Anwendung bei Microsoft Entra ID und erhalten Sie die Kunden-ID für Ihren Code.
- Erstellen Sie einen Datenbankbenutzer, der die Anwendung darstellt (wie im Abschnitt Erstellen enthaltener Benutzer, die den Microsoft Entra-Identitäten zugeordnet sind.)
- Erstellen Sie ein Zertifikat auf dem Client-Computer, der die Anwendung ausführt.
- Fügen Sie das Zertifikat als Schlüssel für die Anwendung hinzu.
Beispiel-Verbindungszeichenfolge. Ersetzen Sie <server-name> durch den Namen Ihres logischen Servers:
string ConnectionString = @"Data Source=<server-name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();
Informationen zum Hinzufügen eines Zertifikats finden Sie unter Erste Schritte mit zertifikatbasierter Authentifizierung in Microsoft Entra ID.
Multi-Faktor-Authentifizierung in Microsoft Entra
Die Multi-Faktor-Authentifizierung von Microsoft Entra ist eine unterstützte Authentifizierungsmethode für alle SQL-Tools. Informationen zur programmgesteuerten Authentifizierung mit Microsoft Entra ID finden Sie in der Übersicht über die Microsoft Authentication Library (MSAL) (MSAL).
sqlcmd
Die folgenden Anweisungen stellen mithilfe von Version 13.1 von sqlcmd eine Verbindung her. Herunterladen von Microsoft Command Line Utilities 14.0 für SQL Server
Note
sqlcmd mit dem -G-Befehl funktioniert nicht mit Systemidentitäten und erfordert Benutzeranmeldeinformationen.
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -G
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -U adrian@contoso.com -P <password> -G -l 30