Использование многофакторной проверки подлинности Azure Active Directory

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

База данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics поддерживают подключения из SQL Server Management Studio (SSMS) с использованием проверки подлинности Active Directory — универсальная с поддержкой MFA. В этой статье обсуждаются отличия в различных вариантах проверки подлинности, а также ограничения, связанные с использованием универсальной проверки подлинности в Azure Active Directory (Azure AD) для Azure SQL.

Скачивание последней версии SSMS. Скачайте последнюю версию SSMS на клиентский компьютер, воспользовавшись страницей Скачивание SQL Server Management Studio (SSMS).

Примечание

В декабре 2021 г. выпуски SSMS до версии 18.6 перестанут использовать многофакторную проверку подлинности через Azure Active Directory.

Чтобы и дальше использовать проверку подлинности Azure Active Directory с MFA, установите SSMS 18.6 или более поздней версии.

Для всех функций, описанных в этой статье, используйте по крайней мере версию 17.2 за июль 2017 года. Диалоговое окно "Последнее подключение" должно выглядеть следующим образом:

Снимок экрана, на котором показано диалоговое окно "Подключение к серверу" в SQL Server Management Studio с параметрами для типа сервера, имени сервера и проверки подлинности.

Параметры проверки подлинности

Существуют две неинтерактивные модели проверки подлинности для Azure AD, которые можно использовать в многообразных приложениях (ADO.NET, JDCB, ODC и т. п.). При использовании этих двух методов никогда не отображаются всплывающие диалоговые окна:

  • Azure Active Directory - Password
  • Azure Active Directory - Integrated

Интерактивный метод, который также поддерживает многофакторную проверку подлинности (MFA) Azure AD:

  • Azure Active Directory - Universal with MFA

Azure AD MFA помогает защитить доступ к данным и приложениям, а также удовлетворить потребность пользователей в простом процессе входа. Она обеспечивает надежную аутентификацию с использованием ряда простых вариантов подтверждения: телефонного звонка, текстового сообщения, смарт-карты с ПИН-кодом или уведомления в мобильном приложении. Пользователи сами выбирают предпочтительный способ подтверждения. Интерактивная MFA с использованием Azure AD может привести к появлению всплывающего диалогового окна для реализации проверки.

Общие сведения см. в статье о многофакторной проверке подлинности Azure AD. Инструкции по настройке см. в разделе Настройка многофакторной проверки подлинности в Базе данных SQL Azure для SQL Server Management Studio.

Параметр доменного имени или идентификатора клиента Azure AD

Начиная с SSMS версии 17, пользователи, импортируемые в текущий каталог Azure AD из других каталогов Azure Active Directory в качестве гостевых пользователей, могут при подключении указывать доменное имя или идентификатор клиента Azure AD. К гостевым пользователям относятся пользователи, приглашенные из других каталогов Azure AD, учетные записи Майкрософт, такие как outlook.com, hotmail.com и live.com, или другие учетные записи, например, gmail.com. Эта информация позволяет службе проверки подлинности Azure Active Directory - Universal with MFA определить правильный центр аутентификации. Этот параметр также является обязательным для поддержки учетных записей Майкрософт (MSA), таких как outlook.com, hotmail.com или live.com, и сторонних учетных записей.

Все гостевые пользователи, которые хотят выполнить аутентификацию с помощью универсальной проверки подлинности, должны ввести свое доменное имя или идентификатор клиента Azure AD. Этот параметр представляет текущее доменное имя или идентификатор клиента Azure AD, с которым связан логический сервер Azure SQL. Например, если логический сервер SQL связан с доменом Azure AD contosotest.onmicrosoft.com, где пользователь joe@contosodev.onmicrosoft.com размещен в качестве импортированного пользователя из домена Azure AD contosodev.onmicrosoft.com, то доменное имя, необходимое для аутентификации этого пользователя, — contosotest.onmicrosoft.com. Если пользователь является собственным пользователем Azure AD, связанным с логическим сервером SQL, а не пользователем с учетной записью MSA, то доменное имя или идентификатор клиента не требуются. Чтобы ввести параметр (начиная с SSMS версии 17.2), выполните следующие действия:

  1. Откройте подключение в SSMS. Введите имя сервера и выберите проверку подлинности Active Directory — универсальная с поддержкой MFA. Добавьте имя пользователя, под которым хотите войти.

  2. Выберите поле Параметры и перейдите на вкладку Свойства подключения. В диалоговом окне Соединение с базой данных заполните диалоговое окно для своей базы данных. Установите флажок Доменное имя AD или идентификатор клиента и укажите центр аутентификации, введя доменное имя (contosotest.onmicrosoft.com) или GUID идентификатора клиента.

    Снимок экрана, на котором показана вкладка "Свойства подключения" с выделенными параметрами подключения к базе данных, доменного имени AD или идентификатора клиента.

Если вы используете SSMS 18.x или более поздней версии, для гостевых пользователей больше не требуется доменное имя AD или идентификатор арендатора, поскольку версия 18.x или более поздние распознают их автоматически.

Снимок экрана, на котором показано диалоговое окно "Подключение к серверу" в SSMS с открытой вкладкой "Свойства подключения". В поле "Соединение с базой данных" выбрано значение "MyDatabase".

Поддержка Azure AD B2B

Важно!

Поддержка подключения гостевых пользователей к Базе данных SQL Azure, Управляемому экземпляру SQL и Azure Synapse без членства в группе в настоящее время доступна в общедоступной предварительной версии. Дополнительные сведения см. в статье Создание гостевых пользователей Azure AD и предоставление им прав администратора Azure AD.

Пользователи Azure AD, поддерживаемые в качестве гостевых пользователей в сценариях Azure AD B2B (см. раздел Что такое служба совместной работы Azure AD B2B), могут подключиться к Базе данных SQL и Azure Synapse только в составе группы, созданной в связанной службе Azure AD и вручную сопоставленной в заданной базе данных с помощью инструкции CREATE USER (Transact-SQL). Например, если пользователь steve@gmail.com приглашен в Azure AD contosotest (с доменом Azure AD contosotest.onmicrosoft.com), то в службе Azure AD, которая содержит участника steve@gmail.com, нужно создать группу Azure AD, например usergroup. Затем эту группу для конкретной базы данных (например, MyDatabase) должен создать администратор SQL Azure AD или владелец базы данных Azure AD, выполнив инструкцию Transact-SQL CREATE USER [usergroup] FROM EXTERNAL PROVIDER.

После создания пользователя базы данных пользователь steve@gmail.com сможет войти в MyDatabase, используя вариант проверки подлинности SSMS Azure Active Directory – Universal with MFA. По умолчанию usergroup имеет разрешение только на подключение. Любые дополнительные права доступа к данным в базе данных должен предоставить пользователь с достаточными правами.

Примечание

Для SSMS 17.x, где в качестве гостевого пользователя используется steve@gmail.com, необходимо проверить поле Доменное имя AD или идентификатор клиента и добавить доменное имя AD contosotest.onmicrosoft.com в диалоговом окне Свойства подключения. Параметр Доменное имя AD или идентификатор клиента поддерживается только для проверки подлинности Active Directory — универсальная с поддержкой MFA. В противном случае флажок будет неактивным.

Ограничения универсальной проверки подлинности

  • SSMS и SqlPackage.exe — единственные инструменты, в настоящее время поддерживающее MFA с помощью универсальной аутентификации Active Directory.
  • SSMS версии 17.2 поддерживает одновременный доступ нескольких пользователей с помощью универсальной проверки подлинности с поддержкой MFA. Средство SSMS версий 17.0 и 17.1 позволяет войти в экземпляр SSMS с использованием универсальной проверки подлинности только с одной учетной записью Azure Active Directory. Чтобы войти с другой учетной записью Azure AD, необходимо использовать другой экземпляр SSMS. Это ограничение применимо только к универсальной проверке подлинности Active Directory. Вы можете войти на другой сервер, используя проверку подлинности Azure Active Directory - Password, Azure Active Directory - Integrated или SQL Server Authentication.
  • SSMS поддерживает универсальную аутентификацию Active Directory для отображения обозревателя объектов, редактора запросов и хранилища запросов.
  • SSMS версии 17.2 поддерживает мастер DacFx для экспорта, извлечения и развертывания данных базы данных. После того, как пользователь пройдет универсальную аутентификацию в диалоговом окне начальной аутентификации, мастер DacFx функционирует так же, как и для всех других методов аутентификации.
  • Конструктор таблиц SSMS не поддерживает универсальную аутентификацию.
  • Для универсальной аутентификации Active Directory не требуется дополнительное программное обеспечение, за исключением того, что необходимо использовать поддерживаемую версию SSMS.
  • Чтобы получить последнюю версию Библиотеки проверки подлинности Active Directory (ADAL) для универсальной проверки подлинности, перейдите по следующей ссылке: Microsoft.IdentityModel.Clients.ActiveDirectory.

Дальнейшие действия