Использование аутентификации Azure Active Directory

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

Аутентификация Azure Active Directory (Azure AD) — это механизм подключения к Базе данных SQL Azure, Управляемому экземпляру SQL Azure и Synapse SQL в Azure Synapse Analytics с помощью удостоверений в Azure AD.

Примечание

Информация в статье применима к Базе данных SQL Azure, Управляемому экземпляру SQL Azure и Azure Synapse Analytics.

С помощью проверки подлинности Azure AD можно централизованно управлять удостоверениями пользователей базы данных и другими службами Майкрософт. Централизованное управление удостоверениями позволяет использовать единое расположение для управления пользователями и упрощает управление разрешениями. Это дает такие преимущества:

  • наличие альтернативного варианта проверки подлинности SQL Server;

  • возможность остановить увеличение количества пользователей на серверах;

  • возможность смены паролей в одном месте;

  • клиенты могут управлять разрешениями базы данных с помощью внешних групп (Azure AD);

  • возможность исключить хранение паролей с помощью встроенной проверки подлинности Windows и других видов проверки подлинности, поддерживаемых Azure Active Directory;

  • При проверке подлинности Azure AD используются данные пользователей автономной базы данных для проверки подлинности удостоверений на уровне базы данных.

  • Для приложений, подключающихся к Базе данных SQL и Управляемому экземпляру SQL, Azure AD поддерживает аутентификацию на основе маркеров.

  • Azure AD поддерживает следующий метод проверки подлинности:

  • Azure AD поддерживает подключения из SQL Server Management Studio, использующие универсальную аутентификацию Active Directory, в том числе Многофакторную идентификацию. Многофакторная проверка подлинности включает надежную аутентификацию с использованием ряда вариантов проверки посредством телефонного звонка, текстового сообщения, смарт-карты с ПИН-кодом или уведомления в мобильном приложении. Дополнительные сведения см. в статье Поддержка SSMS многофакторной проверки подлинности Azure AD для Базы данных SQL Azure, Управляемого экземпляра SQL и Azure Synapse.

  • Azure AD поддерживает аналогичные подключения из SQL Server Data Tools (SSDT), использующие интерактивную аутентификацию Active Directory. Дополнительные сведения см. в статье Поддержка Azure Active Directory в SQL Server Data Tools (SSDT).

Примечание

Подключение к экземпляру SQL Server, работающему на виртуальной машине Azure, не поддерживается при использовании учетной записи Azure Active Directory. Вместо этого используйте учетную запись домена Active Directory.

Для настройки и использования проверки подлинности Azure Active Directory выполните следующие действия.

  1. Создайте и заполните каталог Azure AD.
  2. Свяжите или измените каталог Active Directory, который сейчас связан с вашей подпиской Azure (этот шаг можно пропустить).
  3. Создайте администратора Azure Active Directory.
  4. Настройте клиентские компьютеры.
  5. Создайте учетные записи пользователей автономной базы данных в базе данных, сопоставленной с удостоверениями Azure AD.
  6. Подключитесь к базе данных с помощью удостоверений Azure AD.

Примечание

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

Архитектура доверия

  • Только облачная часть Azure AD, База данных SQL, Управляемый экземпляр SQL и Azure Synapse поддерживают собственные пароли пользователей Azure AD.
  • Для поддержки учетных данных единого входа Windows (или имени пользователя и пароля учетных данных Windows) используйте учетные данные Azure Active Directory из федеративного или управляемого домена, для которого настроен простой сквозной единый вход и проверка подлинности с помощью хэша паролей. Дополнительные сведения см. в разделе Устранение неполадок с простым единым входом Azure Active Directory.
  • Для поддержки федеративной проверки подлинности (или имени пользователя и пароля в качестве учетных данных Windows) требуется взаимодействие с блоком ADFS.

Дополнительные сведения о гибридных удостоверениях Azure AD, настройке и синхронизации см. в следующих статьях:

Пример федеративной проверки подлинности с помощью инфраструктуры ADFS (или имени пользователя и пароля учетных данных Windows) см. на приведенной ниже схеме. Стрелки обозначают пути обмена данными.

схема проверки подлинности aad

На следующей схеме показаны федерация, отношения доверия и отношения размещения. Все эти компоненты позволяют клиенту подключиться к базе данных, отправив маркер. Маркер проходит аутентификацию в Azure AD и становится доверенным для базы данных. Клиент 1 может представлять каталог Azure AD с собственными пользователями или федеративными пользователями. Клиент 2 представляет возможное решение, включая импортированных пользователей. В этом примере пользователи импортированы из федеративной службы Azure Active Directory, при этом службы ADFS синхронизированы с Azure Active Directory. Важно понимать, что для доступа к базе данных с использованием проверки подлинности Azure AD необходимо связать подписку размещения с Azure AD. Для создания Базы данных SQL Azure, Управляемого экземпляра SQL или ресурсов Azure Synapse необходимо использовать ту же подписку.

отношение подписки

Структура администраторов

При использовании проверки подлинности Azure AD существуют две учетные записи администратора: исходная учетная запись администратора Базы данных SQL Azure и учетная запись администратора Azure AD. Те же принципы действуют в Azure Synapse. Создать в пользовательской базе данных первого пользователя автономной базы данных Azure AD может только администратор с учетной записью Azure AD. Администратор Azure AD может использовать для входа имя пользователя Azure AD или имя группы Azure AD. Если учетная запись администратора является учетной записью группы, ее может использовать любой участник группы. По этой причине для одного сервера может существовать несколько администраторов Azure AD. Использование учетной записи группы в качестве учетной записи администратора повышает управляемость. Это позволяет централизованно добавлять и удалять членов группы в Azure AD, не изменяя пользователей или разрешения в Базе данных SQL или Azure Synapse. За один раз можно настроить только одного администратора Azure AD (пользователя или группу).

структура администраторов

Разрешения

Чтобы создавать новых пользователей, у вас должно быть разрешение ALTER ANY USER в базе данных. Разрешение ALTER ANY USER можно предоставить любому пользователю базы данных. Разрешение ALTER ANY USER также предоставляется учетным записям администратора сервера и пользователям базы данных с разрешениями CONTROL ON DATABASE или ALTER ON DATABASE для этой базы данных, а также участникам роли db_owner в базе данных.

Чтобы создать учетную запись пользователя автономной базы данных в Базе данных SQL Azure, Управляемом экземпляре SQL или Azure Synapse, необходимо подключиться к базе данных или экземпляру с помощью удостоверения Azure AD. Чтобы создать первого пользователя автономной базы данных, необходимо подключиться к ней с использованием учетной записи администратора Azure AD (который является владельцем базы данных). Это показано в статье Настройка аутентификации Azure Active Directory и управление ею с использованием Базы данных SQL или Azure Synapse. Проверка подлинности Azure AD возможна только в том случае, если для Базы данных SQL Azure, Управляемого экземпляра SQL или Azure Synapse создана учетная запись администратора Azure AD. Если учетная запись администратора Azure Active Directory удалена с сервера, то существующие пользователи Azure Active Directory, учетные записи которых были созданы ранее на сервере SQL Server, больше не смогут подключаться к базе данных, используя свои текущие учетные данные Azure Active Directory.

Функции и ограничения Azure AD

  • Следующие члены Azure AD могут быть подготовлены в Базе данных SQL Azure.

  • Пользователи Azure AD, которые входят в группу с ролью сервера db_owner, не могут использовать синтаксис CREATE DATABASE SCOPED CREDENTIAL для Базы данных SQL Azure и Azure Synapse. Отобразится следующая ошибка:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Предоставляйте роль db_owner напрямую отдельным пользователям Azure AD во избежание проблем с синтаксисом CREATE DATABASE SCOPED CREDENTIAL.

  • Эти системные функции возвращают значения NULL при выполнении с помощью субъектов Azure AD:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Управляемый экземпляр SQL

  • Для Управляемого экземпляра SQL поддерживаются субъекты сервера Azure AD (имена для входа) и пользователи.
  • Настройка субъектов сервера (имена для входа) Azure AD, сопоставленных с группой Azure AD в качестве владельца базы данных, не поддерживается в Управляемых экземплярах SQL.
    • Кроме этого, при добавлении группы как части роли сервера dbcreator пользователи этой группы могут подключаться к Управляемому экземпляру SQL и создавать базы данных, но не могут получить доступ к базе данных. Это происходит, так как новый владелец базы данных является системным администратором, а не пользователем Azure AD. Эта проблема не проявляется при добавлении роли сервера dbcreator для отдельного пользователя.
  • Субъекты сервера (имена для входа) Azure AD поддерживают выполнение заданий и управление агентом SQL.
  • Операции резервного копирования и восстановления базы данных могут быть выполнены с помощью субъектов сервера (имен для входа) Azure AD.
  • Поддерживается аудит всех инструкций, связанных с субъектами сервера (именами для входа) Azure AD и событиями проверки подлинности.
  • Поддерживается выделенное административное соединение для субъектов сервера (имен для входа) Azure AD, которые являются участниками роли сервера системного администратора.
    • Поддерживается с помощью служебной программы SQLCMD и SQL Server Management Studio.
  • Триггеры входа поддерживаются для событий входа, поступающих от субъектов сервера (имен для входа) Azure AD.
  • С помощью субъектов сервера (имен для входа) Azure AD можно настроить почту Service Broker и базы данных.

Подключение с использованием удостоверений Azure AD

Проверка подлинности Azure Active Directory поддерживает следующие способы подключения к базе данных с помощью удостоверений Azure AD:

  • Пароль Azure Active Directory.
  • Встроенная служба Azure Active Directory.
  • Azure Active Directory — универсальная служба с многофакторной проверкой подлинности
  • Использование маркера проверки подлинности приложения

Для субъектов сервера (имен для входа) Azure AD поддерживаются следующие способы проверки подлинности:

  • Пароль Azure Active Directory.
  • Встроенная служба Azure Active Directory.
  • Azure Active Directory — универсальная служба с многофакторной проверкой подлинности

Дополнительные сведения

  • Для повышения управляемости рекомендуем подготовить специальную группу Azure AD от имени администратора.
  • Для сервера Базы данных SQL или Azure Synapse одновременно может быть настроен только один администратор Azure AD (пользователь или группа).
    • Добавление субъектов сервера (имен для входа) в Управляемый экземпляр SQL позволяет создавать несколько субъектов сервера (имен для входа) Azure AD, которые можно добавить для роли sysadmin.
  • Изначально только администратор Azure AD может подключаться к серверу или управляемому экземпляру, используя учетную запись Azure Active Directory. Затем администратор Active Directory может настроить других пользователей базы данных Azure AD.
  • Пользователи и субъекты-службы Azure AD (приложения Azure AD), которые являются участниками более 2048 групп безопасности Azure AD, не поддерживают вход в базу данных в Базе данных SQL, Управляемом экземпляре и Azure Synapse.
  • Мы рекомендуем установить время ожидания подключения в 30 секунд.
  • Проверку подлинности Azure Active Directory поддерживают SQL Server 2016 Management Studio и SQL Server Data Tools для Visual Studio 2015 (версии 14.0.60311.1, выпущенной в апреле 2016 г., или более поздней). (Проверку подлинности Azure AD поддерживает поставщик данных .NET Framework для SQL Server, требуется версия .NET Framework не ниже 4.6.) Поэтому для последних версий этих инструментов и приложений уровня данных (DAC- и BACPAC-файлов) можно применять аутентификацию Azure AD.
  • Начиная с версии 15.0.1, служебные программыSQLCMD и BCP поддерживают интерактивную аутентификацию Active Directory с возможностью многофакторной проверки подлинности.
  • Для SQL Server Data Tools для Visual Studio 2015 требуется версия Data Tools, выпущенная в апреле 2016 г. (14.0.60311.1), или более поздняя. Сейчас пользователи Azure AD не отображаются в обозревателе объектов SSDT. Сведения о пользователях можно просмотреть в файле sys.database_principals.
  • Драйвер Microsoft JDBC 6.0 для SQL Server поддерживает проверку подлинности Azure AD. Вы можете также ознакомиться с настройкой свойств подключения.
  • PolyBase не поддерживает проверку подлинности Azure AD.
  • База данных SQL Azure и Azure Synapse поддерживает проверку подлинности Azure AD на портале Azure. Для этого используются колонки Импорт базы данных и Экспорт базы данных. Импорт и экспорт с использованием проверки подлинности Azure AD также можно выполнить с помощью команды PowerShell.
  • Проверка подлинности Azure AD поддерживается в Базе данных SQL, Управляемом экземпляре SQL и Azure Synapse с помощью интерфейса командной строки. Сведения о настройке и управлении Azure AD см. в статьях Настройка аутентификации Azure Active Directory и управление ею с использованием Базы данных SQL или Azure Synapse и SQL Server: SQL Server Azure.

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