Połącz się z usługą Azure Synapse Analytics przy użyciu uwierzytelniania Microsoft Entra

Ten artykuł pokazuje, jak użyć uwierzytelniania Microsoft Entra do połączenia z Azure Synapse Analytics.

Note

Podmioty zabezpieczeń serwera Microsoft Entra są obecnie dostępne w wersji zapoznawczej dla Azure Synapse Analytics.

Prerequisites

Aby się połączyć, musisz skonfigurować uwierzytelnianie Microsoft Entra dla swojego zasobu Azure Synapse.

Aby potwierdzić, że administrator Microsoft Entra jest poprawnie skonfigurowany, połącz się z master bazą danych, używając konta administratora Microsoft Entra.

Aby utworzyć użytkownika zawartej bazy danych opartego na Microsoft Entra, połącz się z bazą danych przy użyciu tożsamości Microsoft Entra mającej dostęp do bazy danych i co najmniej uprawnienie ALTER ANY USER.

Nawiązywanie połączenia z programem SSMS lub narzędziem SSDT

Poniższe procedury pokazują, jak połączyć się z Synapse SQL za pomocą tożsamości Microsoft Entra, korzystając z SQL Server Management Studio (SSMS) lub SQL Server Database Tools (SSDT).

Microsoft Entra Zintegrowane

Użyj tej metody, gdy chcesz się zalogować, używając swoich danych uwierzytelniających Windows, które są federowane w Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz bezproblemowe logowanie jednokrotne usługi Microsoft Entra.

  1. Uruchom program SSMS lub SSDT i na karcie Logowanie w oknie dialogowym Połącz z serwerem (lub Połącz z silnikiem bazy danych):

    1. Wpisz w pełni kwalifikowaną nazwę serwera dla swojego endpointu SQL. Informacje o formatach punktów końcowych znajdują się w artykule Łączenie z usługą Synapse SQL.
    2. W obszarze Uwierzytelnianie wybierz pozycję Microsoft Entra Integrated. Nie musisz wpisywać hasła, ponieważ do połączenia są automatycznie przekazywane twoje istniejące dane logowania.
    3. W przypadku szyfrowania wybierz Strict.
  2. Na karcie Właściwości połączenia w polu Połącz z bazą danych wpisz nazwę bazy danych użytkownika, z którą chcesz nawiązać połączenie.

Microsoft Entra Password

Stosuj tę metodę, łącząc się za pomocą nazwy podmiotu zabezpieczeń Microsoft Entra przy użyciu zarządzanej domeny Microsoft Entra. Możesz też używać tego w przypadku kont federowanych bez dostępu do domeny, na przykład gdy pracujesz zdalnie.

Użyj tej metody do uwierzytelniania w usłudze Synapse SQL użytkowników tożsamości Microsoft Entra działających wyłącznie w chmurze lub użytkowników mających hybrydowe tożsamości Microsoft Entra. Ta metoda wspiera użytkowników, którzy chcą używać swoich poświadczeń systemu Windows, gdy ich lokalny komputer nie jest połączony z domeną, na przykład przy korzystaniu z dostępu zdalnego.

  1. Uruchom program SSMS lub SSDT i na karcie Logowanie okna dialogowego Połącz z serwerem (lub Połącz z aparatem bazodanowym):

    1. Wpisz w pełni kwalifikowaną nazwę serwera dla swojego endpointu SQL. Aby uzyskać formaty punktów końcowych, zobacz Nawiązywanie połączenia z usługą Synapse SQL.
    2. Wybierz Microsoft Entra Password dla Uwierzytelniania.
    3. W polu Nazwa użytkownika wpisz nazwę użytkownika Entra firmy Microsoft w formacie username@domain.com. Nazwy użytkowników muszą być kontem Microsoft Entra ID lub kontem z domeny zarządzanej lub federacyjnej powiązanej z Microsoft Entra ID.
    4. W polu Hasło wpisz hasło użytkownika dla konta Microsoft Entra lub zarządzanego/federacyjnego konta domeny.
    5. W przypadku szyfrowania wybierz Strict.
  2. Na karcie Właściwości połączenia w polu Połącz z bazą danych wpisz nazwę bazy danych użytkownika, z którą chcesz nawiązać połączenie.

Microsoft Entra MFA

Stosuj tę metodę do uwierzytelniania interaktywnego z uwierzytelnianiem wieloskładnikowym (MFA), przy czym hasło jest wymagane interaktywnie. Ta metoda może być użyta do uwierzytelniania w Synapse SQL dla użytkowników z tożsamością Microsoft Entra tylko w chmurze lub użytkowników posiadających hybrydowe tożsamości Microsoft Entra.

Poniższe kroki pokazują, jak połączyć się przy użyciu uwierzytelniania wieloskładnikowego w najnowszej wersji programu SSMS.

  1. Aby połączyć się za pomocą MFA, w oknie dialogowym Connect to Server w SSMS wybierz Microsoft Entra MFA.

  2. Wypełnij pole Nazwa serwera nazwą serwera. Wypełnij pole Nazwa użytkownika swoimi poświadczeniami firmy Microsoft Entra w formacie user_name@domain.com.

  3. Wybierz Połącz.

  4. Gdy pojawia się okno dialogowe Zaloguj się do konta, jest ono wcześniej wypełnione nazwą użytkownika podaną w kroku 2. Jeśli użytkownik jest częścią domeny federacyjnej z identyfikatorem Entra firmy Microsoft, nie jest wymagane żadne hasło.

  5. Zostanie wyświetlony monit o uwierzytelnienie przy użyciu jednej z metod skonfigurowanych na podstawie ustawienia administratora usługi MFA.

  6. Po zakończeniu weryfikacji SSMS normalnie się łączy, zakładając prawidłowe poświadczenia i dostęp do zapory.

Microsoft Entra Service Principal (główna usługa Microsoft Entra)

Użyj tej metody, aby uwierzytelnić się w usłudze Synapse SQL za pomocą jednostek usługi Microsoft Entra.

Zarządzana tożsamość Microsoft Entra

Użyj tej metody, aby uwierzytelnić się w usłudze Synapse SQL za pomocą zarządzanych tożsamości Microsoft Entra. Więcej informacji można znaleźć w Managed identities in Microsoft Entra for Azure Synapse Analytics.

Microsoft Entra Default

Domyślna opcja uwierzytelniania z Microsoft Entra ID umożliwia uwierzytelnianie za pomocą mechanizmów bez haseł i nieinteraktywnych, w tym zarządzanych tożsamości.

Nawiązywanie połączenia z poziomu aplikacji klienckiej

Poniższe procedury pokazują, jak połączyć się z Synapse SQL za pomocą tożsamości Microsoft Entra z aplikacji klienckiej. Ta lista nie obejmuje wszystkich metod uwierzytelniania. Więcej informacji można znaleźć w uwierzytelnianiu Microsoft Entra oraz SqlClient.

Konfigurowanie aplikacji klienckich

Note

System.Data.SqlClient używa biblioteki Azure Active Directory Authentication Library (ADAL), która jest przestarzała. Jeśli używasz przestrzeni nazw System.Data.SqlClient do uwierzytelniania Microsoft Entra, przeprowadź migrację aplikacji do Microsoft.Data.SqlClient i Microsoft Authentication Library (MSAL). Aby zrozumieć metody połączenia dostępne w .NET, zobacz uwierzytelnianie Microsoft Entra i SqlClient.

Jeśli musisz nadal używać ADAL.DLL w swoich aplikacjach, skorzystaj z linków w tej sekcji, aby zainstalować najnowszy sterownik ODBC lub OLE DB, który zawiera najnowszą bibliotekę ADAL.DLL .

Na wszystkich komputerach klienckich, z których Twoje aplikacje lub użytkownicy łączą się z Azure Synapse Analytics za pomocą tożsamości Microsoft Entra, zainstaluj następujące oprogramowanie:

Te wymagania można spełnić, wykonując następujące czynności:

  • Zainstalowanie najnowszej wersji programu SQL Server Management Studio lub sql Server Data Tools w celu spełnienia wymagań programu .NET Framework 4.6.
    • Program SSMS instaluje wersję x86 ADAL.DLL.
    • Program SSDT instaluje wersję ADAL.DLL amd64.
    • Najnowsza wersja programu Visual Studio from Visual Studio Downloads spełnia wymagania programu .NET Framework 4.6, ale nie instaluje wymaganej wersji ADAL.DLL amd64.

Zintegrowane uwierzytelnianie Microsoft Entra

Aby korzystać ze zintegrowanego uwierzytelniania systemu Windows, usługa Active Directory Twojej domeny musi być sfederowana z platformą Microsoft Entra ID lub być domeną zarządzaną skonfigurowaną pod kątem bezproblemowego logowania jednokrotnego na potrzeby uwierzytelniania przekazywanego lub uwierzytelniania za pomocą skrótu hasła. Aby uzyskać więcej informacji, zobacz bezproblemowe logowanie jednokrotne usługi Microsoft Entra.

Aby połączyć się z bazą danych, aplikacja (lub usługa) musi działać na komputerze przyłączonym do domeny przy użyciu poświadczeń domenowych użytkownika.

Aby połączyć się z bazą danych za pomocą zintegrowanej autentyzacji i tożsamości Microsoft Entra, ustaw słowo kluczowe Authentication w parametrach połączenia z bazą danych na Active Directory Integrated. Zamień <server_name> na nazwę swojego logicznego serwera. Poniższy przykład kodu w języku C# używa platformy .NET ADO.

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

Słowo Integrated Security=True kluczowe parametry połączenia nie jest obsługiwane przy łączeniu się z SQL Synapse. Podczas łączenia ODBC usuń spacje i ustaw uwierzytelnianie na ActiveDirectoryIntegrated.

Microsoft Entra password authentication (Uwierzytelnianie haseł firmy Microsoft w usłudze Entra)

Aby połączyć się z bazą danych korzystając z kont użytkowników Microsoft Entra opartych wyłącznie na tożsamości w chmurze lub użytkowników korzystających z hybrydowych tożsamości Microsoft Entra, ustaw słowo kluczowe Uwierzytelnianie na Active Directory Password. Parametry połączenia muszą zawierać słowa kluczowe i wartości User ID/UID oraz Password/PWD. Zastąp <server_name>, <email_address> i <password> odpowiednimi wartościami. Poniższy przykład kodu w języku C# używa platformy .NET ADO.

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();

Dowiedz się więcej o metodach uwierzytelniania Microsoft Entra, korzystając z przykładów kodów demo dostępnych na Microsoft Entra authentication GitHub Demo.

Token dostępu Microsoft Entra ID

Ta metoda uwierzytelniania pozwala usługom warstwy pośredniej uzyskać JSON Web Tokens (JWT) z Microsoft Entra ID w celu połączenia się z Synapse SQL poprzez uzyskanie tokena z Microsoft Entra ID. Ta metoda umożliwia korzystanie z różnych scenariuszy aplikacji, w tym tożsamości usług, jednostek usługi i aplikacji przy użyciu uwierzytelniania opartego na certyfikatach. Aby użyć uwierzytelniania tokenu firmy Microsoft Entra, należy wykonać cztery podstawowe kroki:

  1. Zarejestruj aplikację przy użyciu identyfikatora Entra firmy Microsoft i pobierz identyfikator klienta dla kodu.
  2. Utwórz użytkownika bazy danych reprezentującego aplikację (zgodnie z opisem w sekcji Tworzenie zawartych użytkowników mapowanych na tożsamości Microsoft Entra).
  3. Utwórz certyfikat na komputerze klienckim, na którym działa aplikacja.
  4. Dodaj certyfikat jako klucz dla aplikacji.

Przykładowe parametry połączenia. Zastąp <server-name> nazwą serwera logicznego.

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();

Aby uzyskać informacje na temat dodawania certyfikatu, zobacz Wprowadzenie do uwierzytelniania opartego na certyfikatach w identyfikatorze Entra firmy Microsoft.

Microsoft Entra uwierzytelnianie wieloskładnikowe

Uwierzytelnianie wieloskładnikowe firmy Microsoft jest obsługiwaną metodą uwierzytelniania dla wszystkich narzędzi SQL. Aby uzyskać informacje na temat programowego uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft, zobacz Omówienie biblioteki Microsoft Authentication Library (MSAL).

sqlcmd

Poniższe polecenia służą do łączenia przy użyciu wersji 13.1 programu sqlcmd. Pobierz narzędzia wiersza polecenia firmy Microsoft 14.0 dla programu SQL Server.

Note

sqlcmd polecenie -G nie działa z systemowymi tożsamościami i wymaga logowania za pomocą konta użytkownika.

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