Поделиться через


Подключение к ресурсу SQL Azure с помощью проверки подлинности Microsoft Entra

Область применения: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

В этой статье показано, как использовать проверку подлинности Microsoft Entra для подключения к База данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics.

Необходимые компоненты

Чтобы подключиться к ресурсу SQL Azure, необходимо настроить проверку подлинности Microsoft Entra для ресурса.

Чтобы убедиться, что администратор Microsoft Entra настроен правильно, подключитесь к master базе данных с помощью учетной записи администратора Microsoft Entra. Чтобы создать пользователя автономной базы данных на основе Microsoft Entra, подключитесь к базе данных с удостоверением Microsoft Entra с доступом к базе данных и по крайней мере ALTER ANY USER разрешением.

Подключение с помощью SSMS или SSDT

В следующих процедурах показано, как подключиться к База данных SQL с удостоверением Microsoft Entra с помощью SQL Server Management Studio (SSMS) или SQL Server Database Tools (SSDT).

Интегрированная аутентификация Microsoft Entra

Используйте этот метод, если вы хотите войти с помощью учетных данных Windows, федеративных в идентификатор Microsoft Entra. Дополнительные сведения см. в статье Простой единый вход Microsoft Entra.

  1. Запустите SSMS или SSDT и на вкладке "Вход" диалогового окна "Подключение к серверу" (или "Подключение к ядро СУБД"):

    1. Укажите имя сервера в формате<server-name>.database.windows.net.
    2. Для проверки подлинности выберите Microsoft Entra Integrated. Не нужно вводить пароль, так как для подключения отображаются существующие учетные данные.
    3. Для шифрования выберите "Строго" (SQL Server 2022 и SQL Azure), которые следует использовать для подключения к ресурсам SQL Azure.

    Снимок экрана: SSMS с встроенной проверкой подлинности Microsoft Entra.

  2. На вкладке "Свойства подключения" в поле "Подключение к базе данных" введите имя пользовательской базы данных, к которой требуется подключиться.

    Снимок экрана: SSMS в меню

Пароль Microsoft Entra

Используйте этот метод при подключении с именем субъекта Microsoft Entra с помощью управляемого домена Microsoft Entra. Его также можно использовать для федеративных учетных записей без доступа к домену, например, при удаленной работе.

Используйте этот метод для проверки подлинности в базе данных в База данных SQL или Управляемый экземпляр SQL с пользователями удостоверений, доступных только для облака Microsoft Entra, или для пользователей гибридных удостоверений Microsoft Entra. Этот метод поддерживает пользователей, которые хотят использовать учетные данные Windows, но локальный компьютер не присоединен к домену (например, с помощью удаленного доступа). В этом случае пользователь Windows может указать свою учетную запись домена и пароль, и может пройти проверку подлинности в Базе данных SQL, Управляемом экземпляре SQL или Azure Synapse.

  1. Запустите SSMS или SSDT и на вкладке "Вход" диалогового окна "Подключение к серверу" (или "Подключение к ядро СУБД"):

    1. Укажите имя сервера в формате<server-name>.database.windows.net.
    2. Для проверки подлинности выберите пароль Microsoft Entra Password.
    3. В поле "Имя пользователя" введите имя пользователя Microsoft Entra в форматеusername@domain.com. Имена пользователей должны быть учетной записью из идентификатора Microsoft Entra или учетной записи из управляемого или федеративного домена с идентификатором Microsoft Entra.
    4. В поле "Пароль" введите пароль пользователя для учетной записи Microsoft Entra или управляемой или федеративной учетной записи домена.
    5. Для шифрования выберите "Строго" (SQL Server 2022 и SQL Azure), которые следует использовать для подключения к ресурсам SQL Azure.

    Снимок экрана: SSMS с помощью проверки подлинности паролей Microsoft Entra.

  2. На вкладке "Свойства подключения" в поле "Подключение к базе данных" введите имя пользовательской базы данных, к которой требуется подключиться.

    Снимок экрана: SSMS в меню

Microsoft Entra MFA

Используйте этот метод для интерактивной проверки подлинности с многофакторной проверкой подлинности (MFA) с запросом пароля в интерактивном режиме. Этот метод можно использовать для проверки подлинности в базах данных в База данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics для пользователей облачных удостоверений Microsoft Entra или тех, кто использует гибридные удостоверения Microsoft Entra.

Ниже показано, как подключиться с помощью многофакторной проверки подлинности в последней версии SSMS.

  1. Чтобы подключиться с помощью MFA, в диалоговом окне "Подключение к серверу " в SSMS выберите Microsoft Entra MFA.

    Снимок экрана: диалоговое окно

  2. Заполните поле имени сервера именем сервера. Заполните поле имени пользователя учетными данными Microsoft Entra в форматеuser_name@domain.com.

    Снимок экрана: параметры диалогового окна

  3. Нажмите Подключиться.

  4. Когда появится диалоговое окно входа в учетную запись , оно должно быть предварительно заполнено именем пользователя, указанным на шаге 2. Пароль не требуется, если пользователь является частью домена, федеративного с идентификатором Microsoft Entra.

    Снимок экрана: диалоговое окно входа в учетную запись для База данных SQL Azure и хранилища данных. Имя учетной записи заполняется.

  5. Вам будет предложено выполнить проверку подлинности с помощью одного из методов, настроенных на основе параметра администратора MFA.

  6. По завершении проверки SSMS обычно подключается, предполагая допустимые учетные данные и доступ к брандмауэру.

Субъект-служба Microsoft Entra

Используйте этот метод для проверки подлинности в базе данных в База данных SQL или Управляемый экземпляр SQL с помощью субъектов-служб Microsoft Entra (приложения Microsoft Entra). Дополнительные сведения см. в статье Microsoft Entra Service Principal with Azure SQL.

Управляемое удостоверение Microsoft Entra

Используйте этот метод для проверки подлинности в базе данных в База данных SQL или Управляемый экземпляр SQL с управляемыми удостоверениями Microsoft Entra. Дополнительные сведения см. в разделе "Управляемые удостоверения" в Microsoft Entra для SQL Azure.

Microsoft Entra Default

Параметр проверки подлинности по умолчанию с идентификатором Microsoft Entra включает проверку подлинности, которая выполняется с помощью менее паролей и неинтерактивных механизмов, включая управляемые удостоверения.

Подключение из клиентского приложения

В следующих процедурах показано, как подключиться к База данных SQL с удостоверением Microsoft Entra из клиентского приложения. Это не полный список методов проверки подлинности при использовании удостоверения Microsoft Entra. Дополнительные сведения см. в статье "Подключение к SQL Azure с помощью проверки подлинности Microsoft Entra" и SqlClient.

Настройка клиентских приложений

Примечание.

System.Data.SqlClient использует библиотеку проверки подлинности Azure Active Directory (ADAL), которая устарела. Если вы используете пространство имен System.Data.SqlClient для проверки подлинности Microsoft Entra, перенесите приложения в Microsoft.Data.SqlClient и библиотеку проверки подлинности Майкрософт (MSAL). Сведения о методах подключения, доступных в .NET, см. в статье "Подключение к SQL Azure" с проверкой подлинности Microsoft Entra и SqlClient.

Если вы должны продолжать использовать ADAL.DLL в приложениях, вы можете использовать ссылки в этом разделе, чтобы установить последний драйвер ODBC или OLE DB, содержащий последнюю библиотеку ADAL.DLL .

На всех клиентских компьютерах, из которых приложения или пользователи подключаются к База данных SQL или Azure Synapse Analytics с помощью удостоверений Microsoft Entra, необходимо установить следующее программное обеспечение:

Вы можете выполнить эти требования, сделав следующее:

  • Установка последней версии SQL Server Management Studio или SQL Server Data Tools в соответствии с требованием платформа .NET Framework 4.6.
    • SSMS устанавливает ADAL.DLL версии x86.
    • SSDT устанавливает ADAL.DLL версии amd64.
    • Последняя версия Visual Studio downloads соответствует требованиям платформа .NET Framework 4.6, но не устанавливает требуемую версию amd64 ADAL.DLL.

Встроенная проверка подлинности Microsoft Entra

Чтобы использовать интегрированные проверка подлинности Windows, Active Directory вашего домена должен быть федеративным с идентификатором Microsoft Entra или управляемым доменом, настроенным для простого единого входа для сквозной или хэш-проверки подлинности паролей. Дополнительные сведения см. в статье Простой единый вход Microsoft Entra.

Клиентское приложение (или служба), подключающееся к базе данных, должно быть запущено на компьютере, присоединенном к домену, с учетными данными пользователя домена.

Чтобы подключиться к базе данных с помощью встроенной проверки подлинности и удостоверения Microsoft Entra, Authentication необходимо задать Active Directory Integratedключевое слово в базе данных строка подключения. Замените <server_name> именем логического сервера. В следующем примере кода C# используется ADO .NET.

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

Ключевое слово Integrated Security=True строка подключения не поддерживается для подключения к База данных SQL Azure. При подключении ODBC необходимо удалить пробелы и задать для проверки подлинности ActiveDirectoryIntegratedзначение .

Проверка подлинности паролей Microsoft Entra

Чтобы подключиться к базе данных с помощью учетных записей пользователей, доступных только для облака Microsoft Entra, или тех, кто использует гибридные удостоверения Microsoft Entra, необходимо задать Active Directory Passwordключевое слово authentication. Строка подключения должна содержать ключевые слова для идентификатора пользователя (UID) и пароля (PWD), а также их значения. Замените <server_name>, <email_address> и <password> соответствующими значениями. В следующем примере кода C# используется ADO .NET.

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

Дополнительные сведения о методах проверки подлинности Microsoft Entra с помощью демонстрационных примеров кода, доступных на демонстрации GitHub проверки подлинности Microsoft Entra.

Маркер доступа идентификатора Microsoft Entra

Этот метод проверки подлинности позволяет службам среднего уровня получать веб-маркеры JSON (JWT) для подключения к базе данных в База данных SQL, Управляемый экземпляр SQL или Azure Synapse путем получения маркера из идентификатора Microsoft Entra. Этот способ позволяет использовать различные сценарии приложений, включая удостоверения служб, субъекты-службы и приложения, использующие проверку подлинности на основе сертификатов. Чтобы использовать проверку подлинности токена Microsoft Entra, необходимо выполнить четыре основных действия.

  1. Зарегистрируйте приложение с помощью идентификатора Microsoft Entra и получите идентификатор клиента для кода.
  2. Создайте пользователя базы данных, представляющего приложение (как описано в разделе "Создание содержащихся пользователей", сопоставленных с удостоверениями Microsoft Entra.)
  3. Создайте сертификат на клиентском компьютере, на котором выполняется приложение.
  4. Добавьте сертификат в качестве ключа для вашего приложения.

Пример строка подключения. Замените <server-name> на имя логического сервера:

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

Дополнительные сведения см. в блоге о безопасности SQL Server. Сведения о добавлении сертификата см. в статье "Начало работы с проверкой подлинности на основе сертификатов" в идентификаторе Microsoft Entra.

Многофакторная проверка подлинности Microsoft Entra

Многофакторная проверка подлинности Microsoft Entra — это поддерживаемый метод проверки подлинности для всех средств SQL. Сведения о программной проверке подлинности с помощью идентификатора Microsoft Entra см. в обзоре библиотеки проверки подлинности Майкрософт (MSAL).

sqlcmd

Следующие инструкции подключаются с помощью версии 13.1 sqlcmd. Скачайте служебные программы командной строки Майкрософт 14.0 для SQL Server.

Примечание.

Команда sqlcmd с -G не работает с системными удостоверениями; для нее требуется вход субъекта-пользователя.

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

Подключение в редакторе запросов портал Azure (База данных SQL Azure)

Дополнительные сведения о редакторе запросов портал Azure для База данных SQL Azure см. в кратком руководстве. Использование редактора запросов портал Azure для запроса База данных SQL Azure.

  1. Перейдите к базе данных SQL в портал Azure. Например, посетите панель мониторинга SQL Azure.

  2. На странице обзора базы данных SQL в портал Azure выберите редактор запросов в меню слева.

  3. На экране входа в разделе "Добро пожаловать в База данных SQL Редактор запросов" нажмите кнопку "Продолжить в качестве <пользователя или идентификатора> группы".