Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:База данных 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 ID. Дополнительные сведения см. в статье Простой единый вход Microsoft Entra.
Запустите SSMS или SSDT и на вкладке "Вход" диалогового окна "Подключение к серверу" (или "Подключение к СУБД"):
-
Укажите имя сервера в формате
<server-name>.database.windows.net. - Для проверки подлинности выберите Microsoft Entra Integrated. Не нужно вводить пароль, так как для подключения отображаются существующие учетные данные.
- Для шифрования выберите "Строго" (SQL Server 2022 и SQL Azure), которые следует использовать для подключения к ресурсам SQL Azure.
-
Укажите имя сервера в формате
На вкладке "Свойства подключения" в поле "Подключение к базе данных" введите имя пользовательской базы данных, к которой требуется подключиться.
Пароль Microsoft Entra
Используйте этот метод при подключении с именем субъекта Microsoft Entra с помощью управляемого домена Microsoft Entra. Его также можно использовать для федеративных учетных записей без доступа к домену, например, при удаленной работе.
Используйте этот метод для проверки подлинности в базе данных SQL Database или в SQL Managed Instance с использованием облачных удостоверений Microsoft Entra или гибридных удостоверений Microsoft Entra. Этот метод поддерживает пользователей, которые хотят использовать учетные данные Windows, но локальный компьютер не присоединен к домену (например, с помощью удаленного доступа). В этом случае пользователь Windows может указать свою учетную запись домена и пароль, и может пройти проверку подлинности в Базе данных SQL, Управляемом экземпляре SQL или Azure Synapse.
Запустите SSMS или SSDT и на вкладке «Вход» диалогового окна «Подключение к серверу» (или «Подключение к серверу базы данных»):
-
Укажите имя сервера в формате
<server-name>.database.windows.net. - Для проверки подлинности выберите пароль Microsoft Entra Password.
-
В поле "Имя пользователя" введите имя пользователя Microsoft Entra в формате
username@domain.com. Имена пользователей должны принадлежать учетной записи Microsoft Entra ID или учетной записи управляемого или федеративного домена, связанного с Microsoft Entra ID. - В поле "Пароль" введите пароль пользователя для учетной записи Microsoft Entra или управляемой или федеративной учетной записи домена.
- Для шифрования выберите "Строго" (SQL Server 2022 и SQL Azure), которые следует использовать для подключения к ресурсам SQL Azure.
-
Укажите имя сервера в формате
На вкладке "Свойства подключения" в поле "Подключение к базе данных" введите имя пользовательской базы данных, к которой требуется подключиться.
Microsoft Entra MFA
Используйте этот метод для интерактивной проверки подлинности с многофакторной проверкой подлинности (MFA) с запросом пароля в интерактивном режиме. Этот метод можно использовать для проверки подлинности в базах данных в База данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics для пользователей облачных удостоверений Microsoft Entra или тех, кто использует гибридные удостоверения Microsoft Entra.
Ниже показано, как подключиться с помощью многофакторной проверки подлинности в последней версии SSMS.
Чтобы подключиться с помощью MFA, в диалоговом окне "Подключение к серверу " в SSMS выберите Microsoft Entra MFA.
Заполните поле имени сервера именем сервера. Заполните поле имени пользователя учетными данными Microsoft Entra в формате
user_name@domain.com.
Нажмите Подключиться.
Когда появится диалоговое окно входа в учетную запись , оно должно быть предварительно заполнено именем пользователя, указанным на шаге 2. Пароль не требуется, если пользователь является частью домена, федеративного с идентификатором Microsoft Entra.
Вам будет предложено выполнить проверку подлинности с помощью одного из методов, настроенных на основе параметра администратора MFA.
По завершении проверки SSMS обычно подключается, предполагая допустимые учетные данные и доступ к брандмауэру.
Microsoft Entra Service Principal
Используйте этот метод для проверки подлинности в базе данных SQL или управляемом экземпляре SQL с помощью субъектов-служб Microsoft Entra (приложений Microsoft Entra). Дополнительные сведения см. в статье о учетных записях служб Microsoft Entra в Azure SQL.
Управляемая идентификация Microsoft Entra
Используйте этот метод для проверки подлинности в базе данных в База данных SQL или Управляемый экземпляр SQL с управляемыми удостоверениями Microsoft Entra. Дополнительные сведения см. в разделе «Управляемые удостоверения» в Microsoft Entra для Azure SQL.
Microsoft Entra Default
Параметр проверки подлинности по умолчанию с идентификатором Microsoft Entra ID позволяет выполнять аутентификацию с помощью беспарольной и неинтерактивной проверки, включая управляемые удостоверения.
Подключение из клиентского приложения
В следующих процедурах показано, как подключиться к База данных 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, необходимо установить следующее программное обеспечение:
- платформа .NET Framework версии 4.6 или более поздней версии.
- Библиотека проверки подлинности Майкрософт (MSAL) или библиотека проверки подлинности Майкрософт для SQL Server (ADAL.DLL). Ссылки на установку последних драйверов SSMS, ODBC и OLE DB, содержащих библиотеку ADAL.DLL , доступны здесь:
Вы можете выполнить эти требования, сделав следующее:
- Установка последней версии SQL Server Management Studio или SQL Server Data Tools для соблюдения требования .NET Framework 4.6.
- SSMS устанавливает ADAL.DLL версии x86.
- SSDT устанавливает ADAL.DLL версии amd64.
- Последняя версия Visual Studio из Visual Studio Downloads соответствует требованиям платформы .NET Framework 4.6, но не устанавливает требуемую версию ADAL.DLL для архитектуры amd64.
Встроенная проверка подлинности Microsoft Entra
Чтобы использовать интегрированную аутентификацию Windows, ваш домен Active Directory должен быть федеративно связан с Microsoft Entra ID или быть управляемым доменом, который настроен для бесшовного единого входа в систему с использованием сквозной или хэш-аутентификации паролей. Дополнительные сведения см. в статье Простой единый вход Microsoft Entra.
Клиентское приложение (или служба), подключающееся к базе данных, должно быть запущено на компьютере, присоединенном к домену, с учетными данными пользователя домена.
Чтобы подключиться к базе данных с помощью встроенной проверки подлинности и удостоверения Microsoft Entra, в строке подключения базы данных необходимо задать ключевое слово 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, необходимо установить ключевое слово "Authentication" как Active Directory Password. Строка подключения должна содержать ключевые слова и значения User ID/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 ID
Этот метод проверки подлинности позволяет службам среднего уровня получать JSON веб-токены (JWT) для подключения к базе данных в SQL Database, SQL Managed Instance или Azure Synapse, получая токен из Microsoft Entra ID. Этот метод позволяет использовать различные сценарии приложений, включая удостоверения служб, учетные записи служб и приложения, использующие аутентификацию на основе сертификатов. Чтобы использовать проверку подлинности токена Microsoft Entra, необходимо выполнить четыре основных действия.
- Зарегистрируйте приложение в Microsoft Entra ID и получите client ID для вашего кода.
- Создайте пользователя базы данных, представляющего приложение (как описано в разделе Создание содержащихся пользователей, сопоставленных с удостоверениями Microsoft Entra).
- Создайте сертификат на клиентском компьютере, на котором выполняется приложение.
- Добавьте сертификат в качестве ключа для вашего приложения.
Пример строки подключения. Замените <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 ID".
Многофакторная проверка подлинности 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 (База данных Azure SQL)
Дополнительные сведения см. в редакторе запросов портала Azure для Базы данных SQL Azure.
Перейдите к базе данных SQL на портале Azure. Например, перейдите на страницу центра SQL Azure, в меню "Ресурс" разверните базу данных SQL Azure, выберите базы данных SQL, а затем выберите базу данных SQL Azure.
На странице обзора базы данных SQL в меню ресурсов выберите редактор запросов.
Проверка подлинности в базе данных с помощью проверки подлинности Microsoft Entra или проверки подлинности SQL. Для получения дополнительной информации см. краткое руководство: Использование редактора запросов портала Azure для запроса базы данных Azure SQL.
Связанный контент
- Авторизация доступа к Базе данных SQL, Управляемому экземпляру SQL и Azure Synapse Analytics
- Принципы
- роли базы данных
- Правила брандмауэра для IP-адресов для Базы данных SQL Azure и Azure Synapse
- Создание гостевых пользователей Microsoft Entra и настройка их в качестве администратора Microsoft Entra
- Руководство по созданию пользователей Microsoft Entra с помощью приложений Microsoft Entra