Nawiązywanie połączenia z zasobem usługi Azure SQL przy użyciu uwierzytelniania entra firmy Microsoft

Dotyczy: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

W tym artykule pokazano, jak używać uwierzytelniania entra firmy Microsoft do nawiązywania połączenia z usługami Azure SQL Database, Azure SQL Managed Instance i Azure Synapse Analytics.

Wymagania wstępne

Aby nawiązać połączenie z zasobem usługi Azure SQL, musisz skonfigurować uwierzytelnianie microsoft Entra dla zasobu.

Aby upewnić się, że administrator firmy Microsoft Entra jest poprawnie skonfigurowany, połącz się z bazą master danych przy użyciu konta administratora firmy Microsoft Entra. Aby utworzyć użytkownika zawartej bazy danych firmy Microsoft, połącz się z bazą danych przy użyciu tożsamości firmy Microsoft Entra z dostępem do bazy danych i co najmniej uprawnieniem ALTER ANY USER .

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

Poniższe procedury pokazują, jak nawiązać połączenie z usługą SQL Database przy użyciu tożsamości firmy Microsoft Entra przy użyciu programu SQL Server Management Studio (SSMS) lub narzędzi SQL Server Database Tools (SSDT).

Zintegrowane Microsoft Entra

Użyj tej metody, jeśli chcesz zalogować się przy użyciu poświadczeń systemu Windows, które są sfederowane z identyfikatorem Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz bezproblemowe logowanie jednokrotne usługi Microsoft Entra.

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

    1. Podaj nazwę serwera w formacie <server-name>.database.windows.net.
    2. W obszarze Uwierzytelnianie wybierz pozycję Microsoft Entra Integrated. Nie trzeba wprowadzać hasła, ponieważ istniejące poświadczenia są prezentowane dla połączenia.
    3. W obszarze Szyfrowanie wybierz pozycję Strict (SQL Server 2022 i Azure SQL), która powinna służyć do łączenia się z zasobami usługi Azure SQL.

    Zrzut ekranu z programu SSMS przedstawiający zintegrowane uwierzytelnianie firmy Microsoft.

  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.

    Zrzut ekranu z programu SSMS w menu Opcje.

Microsoft Entra Password

Użyj tej metody podczas nawiązywania połączenia z główną nazwą firmy Microsoft Entra przy użyciu domeny zarządzanej firmy Microsoft Entra. Można go również używać dla kont federacyjnych bez dostępu do domeny, gdy na przykład działa zdalnie.

Ta metoda służy do uwierzytelniania w bazie danych w usłudze SQL Database lub usłudze SQL Managed Instance przy użyciu użytkowników tożsamości tylko w chmurze firmy Microsoft lub użytkowników korzystających z tożsamości hybrydowych firmy Microsoft Entra. Ta metoda obsługuje użytkowników, którzy chcą używać poświadczeń systemu Windows, ale ich komputer lokalny nie jest przyłączony do domeny (na przykład przy użyciu dostępu zdalnego). W takim przypadku użytkownik systemu Windows może wskazać swoje konto domeny i hasło oraz uwierzytelnić się w bazie danych w usłudze SQL Database, wystąpieniu zarządzanym SQL lub usłudze Azure Synapse.

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

    1. Podaj nazwę serwera w formacie <server-name>.database.windows.net.
    2. W obszarze Uwierzytelnianie wybierz pozycję Microsoft Entra Password (Hasło firmy Microsoft).
    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 z identyfikatora Entra firmy Microsoft lub konta z domeny zarządzanej lub federacyjnej z identyfikatorem Entra firmy Microsoft.
    4. W polu Hasło wpisz hasło użytkownika dla konta Microsoft Entra lub zarządzanego/federacyjnego konta domeny.
    5. W obszarze Szyfrowanie wybierz pozycję Strict (SQL Server 2022 i Azure SQL), która powinna służyć do łączenia się z zasobami usługi Azure SQL.

    Zrzut ekranu z programu SSMS przy użyciu uwierzytelniania za pomocą hasła firmy Microsoft.

  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.

    Zrzut ekranu z programu SSMS w menu Opcje.

Microsoft Entra MFA

Użyj tej metody do uwierzytelniania interakcyjnego z uwierzytelnianiem wieloskładnikowym (MFA) z żądaniem hasła interakcyjnego. Ta metoda może służyć do uwierzytelniania w bazach danych w usługach SQL Database, SQL Managed Instance i Azure Synapse Analytics dla użytkowników tożsamości tylko w chmurze firmy Microsoft lub tych, którzy korzystają z tożsamości hybrydowych firmy Microsoft Entra.

W poniższych krokach pokazano, jak nawiązać połączenie przy użyciu uwierzytelniania wieloskładnikowego w najnowszej wersji programu SSMS.

  1. Aby nawiązać połączenie przy użyciu uwierzytelniania wieloskładnikowego, w oknie dialogowym Łączenie z serwerem w programie SSMS wybierz pozycję Microsoft Entra MFA.

    Zrzut ekranu przedstawiający okno dialogowe Łączenie z serwerem w programie SSMS. Opcja

  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.

    Zrzut ekranu przedstawiający ustawienia okna dialogowego Łączenie z serwerem w programie SSMS ze wszystkimi wypełnionymi polami.

  3. Wybierz pozycję Połącz.

  4. Po wyświetleniu okna dialogowego Logowanie do konta powinno zostać wstępnie 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.

    Zrzut ekranu przedstawiający okno dialogowe Logowanie do konta dla usług Azure SQL Database i Data Warehouse. Nazwa konta jest wypełniona.

  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 program SSMS zwykle łączy się z prawidłowymi poświadczeniami i dostępem do zapory.

Microsoft Entra Service Principal

Ta metoda służy do uwierzytelniania w bazie danych w usłudze SQL Database lub w wystąpieniu zarządzanym SQL za pomocą jednostek usługi Microsoft Entra (aplikacje firmy Microsoft Entra). Aby uzyskać więcej informacji, zobacz Microsoft Entra service principal with Azure SQL (Jednostka usługi Microsoft Entra w usłudze Azure SQL).

Tożsamość zarządzana firmy Microsoft Entra

Ta metoda służy do uwierzytelniania w bazie danych w usłudze SQL Database lub w wystąpieniu zarządzanym SQL za pomocą tożsamości zarządzanych firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Tożsamości zarządzane w usłudze Microsoft Entra for Azure SQL.

Microsoft Entra Default

Opcja uwierzytelniania domyślnego z identyfikatorem Entra firmy Microsoft umożliwia uwierzytelnianie wykonywane za pomocą mechanizmów bez hasła i nieinterakcyjnych, w tym tożsamości zarządzanych.

Nawiązywanie połączenia z poziomu aplikacji klienckiej

Poniższe procedury pokazują, jak nawiązać połączenie z usługą SQL Database przy użyciu tożsamości firmy Microsoft Entra z aplikacji klienckiej. Nie jest to kompleksowa lista metod uwierzytelniania w przypadku korzystania z tożsamości firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z usługą Azure SQL przy użyciu uwierzytelniania microsoft Entra i programu SqlClient.

Konfigurowanie aplikacji klienckich

Uwaga

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 na potrzeby uwierzytelniania entra firmy Microsoft, przeprowadź migrację aplikacji do biblioteki Microsoft.Data.SqlClient i biblioteki Microsoft Authentication Library (MSAL). Aby zrozumieć metody połączenia dostępne na platformie .NET, zobacz Nawiązywanie połączenia z usługą Azure SQL przy użyciu uwierzytelniania microsoft Entra i programu SqlClient.

Jeśli musisz nadal używać ADAL.DLL w aplikacjach, możesz użyć 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 aplikacje lub użytkownicy łączą się z usługą SQL Database lub Azure Synapse Analytics przy użyciu tożsamości firmy Microsoft Entra, należy zainstalować 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 firmy Microsoft

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

Aplikacja kliencka (lub usługa) łącząca się z bazą danych musi być uruchomiona na komputerze przyłączonym do domeny w ramach poświadczeń domeny użytkownika.

Aby nawiązać połączenie z bazą danych przy użyciu zintegrowanego uwierzytelniania i tożsamości firmy Microsoft Entra, Authentication słowo kluczowe w bazie danych parametry połączenia musi być ustawione na Active Directory Integrated. Zastąp <server_name> ciąg nazwą serwera logicznego. 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 kluczowe Integrated Security=True parametry połączenia nie jest obsługiwane w przypadku nawiązywania połączenia z usługą Azure SQL Database. Podczas nawiązywania połączenia ODBC należy usunąć spacje i ustawić uwierzytelnianie na ActiveDirectoryIntegrated.

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

Aby nawiązać połączenie z bazą danych przy użyciu kont użytkowników tożsamości tylko w chmurze firmy Microsoft lub tych, którzy korzystają z tożsamości hybrydowych firmy Microsoft Entra, słowo kluczowe Authentication musi być ustawione na Active Directory Password. Parametry połączenia musi zawierać wartości i słowa kluczowe i wartości identyfikatora użytkownika/identyfikatora użytkownika/hasła/pwD. Zastąp <server_name>wartości , <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 entra firmy Microsoft przy użyciu przykładów kodu demonstracyjnego dostępnych w witrynie Microsoft Entra authentication GitHub Demo.

Token dostępu identyfikatora Entra firmy Microsoft

Ta metoda uwierzytelniania umożliwia usługom warstwy środkowej uzyskiwanie tokenów sieci Web JSON (JWT) w celu nawiązania połączenia z bazą danych w usłudze SQL Database, wystąpieniem zarządzanym SQL lub usługą Azure Synapse przez uzyskanie tokenu z identyfikatora Entra firmy Microsoft. 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 firmy Microsoft).
  3. Utwórz certyfikat na komputerze klienckim z uruchomioną aplikacją.
  4. Dodaj certyfikat jako klucz dla aplikacji.

Przykładowe parametry połączenia. Zastąp <server-name> ciąg 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ć więcej informacji, zobacz Blog dotyczący zabezpieczeń programu SQL Server. Aby uzyskać informacje na temat dodawania certyfikatu, zobacz Wprowadzenie do uwierzytelniania opartego na certyfikatach w identyfikatorze Entra firmy Microsoft.

Uwierzytelnianie wieloskładnikowe firmy Microsoft

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 instrukcje łączą się przy użyciu wersji 13.1 narzędzia sqlcmd. Pobierz narzędzia wiersza polecenia firmy Microsoft 14.0 dla programu SQL Server.

Uwaga

sqlcmd polecenie -G nie działa z tożsamościami systemowymi i wymaga nazwy logowania podmiotu zabezpieczeń 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

Nawiązywanie połączenia w edytorze zapytań w witrynie Azure Portal (Azure SQL Database)

Aby uzyskać więcej informacji na temat edytora zapytań witryny Azure Portal dla usługi Azure SQL Database, zobacz Szybki start: Używanie edytora zapytań witryny Azure Portal do wykonywania zapytań w usłudze Azure SQL Database.

  1. Przejdź do bazy danych SQL w witrynie Azure Portal. Na przykład odwiedź pulpit nawigacyjny usługi Azure SQL.

  2. Na stronie Przegląd bazy danych SQL w witrynie Azure Portal wybierz pozycję Edytor zapytań z menu po lewej stronie.

  3. Na ekranie logowania w obszarze Witamy w usłudze SQL Database Edytor Power Query wybierz pozycję Kontynuuj jako <identyfikator> użytkownika lub grupy.