Использование проверки подлинности Microsoft Entra

Применимо к:База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

В этой статье представлен обзор использования идентификатора Microsoft Entra (ранее Azure Active Directory) для проверки подлинности в База данных SQL Azure, Управляемый экземпляр SQL Azure, SQL Server на виртуальных машинах Windows Azure, Synapse SQL в Azure Synapse Analytics и SQL Server для Windows и Linux.

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

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Обзор

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

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

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

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

  • Клиенты могут управлять разрешениями базы данных с помощью групп Microsoft Entra.

  • Он может исключить хранение паролей, включив интегрированные проверка подлинности Windows и другие формы проверки подлинности, поддерживаемые идентификатором Microsoft Entra.

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

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

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

    • Удостоверения, доступные только для облака Microsoft Entra.
    • Гибридные удостоверения Microsoft Entra, поддерживающие:
      • проверку подлинности в облаке с двумя параметрами: с помощью простой сквозной проверки подлинности с единым входом и проверки подлинности хэша паролей.
      • Федеративная проверка подлинности.
    • Дополнительные сведения о методах проверки подлинности Microsoft Entra и о том, какой из них следует выбрать, см. в следующей статье:
  • SQL Server Management Studio поддерживает подключения, использующие Microsoft Entra с многофакторной проверкой подлинности. Многофакторная проверка подлинности обеспечивает надежную проверку подлинности с помощью различных простых вариантов проверки подлинности— телефонный звонок, текстовое сообщение, смарт-карта с закреплением или уведомлением мобильного приложения. Дополнительные сведения см. в статье о поддержке SSMS для многофакторной проверки подлинности Microsoft Entra с помощью База данных SQL Azure, Управляемый экземпляр SQL и Azure Synapse

  • SQL Server Data Tools (SSDT) также поддерживает широкий спектр вариантов проверки подлинности с идентификатором Microsoft Entra. Дополнительные сведения см. в статье о поддержке идентификатора Microsoft Entra в SQL Server Data Tools (SSDT).

Действия по настройке включают следующие процедуры для настройки и использования проверки подлинности Microsoft Entra.

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

Примечание.

Для SQL Azure, виртуальных машин Azure и SQL Server 2022 проверка подлинности Microsoft Entra поддерживает только маркеры доступа, которые исходят из идентификатора Microsoft Entra ИД и не поддерживают сторонние маркеры доступа. Идентификатор Microsoft Entra также не поддерживает перенаправление запросов идентификатора Microsoft Entra на сторонние конечные точки. Это относится ко всем платформам SQL и всем операционным системам, поддерживающим проверку подлинности Microsoft Entra.

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

  • Считается, что только облачная часть идентификатора Microsoft Entra ID, База данных SQL, Управляемый экземпляр SQL, SQL Server на виртуальных машинах Windows Azure и Azure Synapse поддерживает собственные пароли пользователей Microsoft Entra.
  • Для поддержки учетных данных единого входа Windows (или пароля пользователя или пароля для учетных данных Windows) используйте учетные данные Microsoft Entra из федеративного или управляемого домена, который настроен для простого единого входа для сквозной и хэш-проверки подлинности паролей. Дополнительные сведения см. в статье Простой единый вход Microsoft Entra.
  • Для поддержки федеративной проверки подлинности (или имени пользователя и пароля в качестве учетных данных Windows) требуется взаимодействие с блоком ADFS.

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

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

Diagram of Microsoft Entra authentication for Azure SQL.

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

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

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

При использовании проверки подлинности Microsoft Entra существует две учетные записи Администратор istrator: исходный администратор База данных SQL Azure и администратор Microsoft Entra. Те же принципы действуют в Azure Synapse. Только администратор, основанный на учетной записи Microsoft Entra, может создать в пользовательской базе данных первый идентификатор Microsoft Entra Id, содержащийся в базе данных пользователя. Имя входа администратора Microsoft Entra может быть пользователем Microsoft Entra или группой Microsoft Entra. Если администратор является учетной записью группы, она может использоваться любым членом группы, позволяя нескольким администраторам Microsoft Entra для сервера. Использование учетной записи группы в качестве администратора повышает управляемость, позволяя централизованно добавлять и удалять участников группы в идентификаторе Microsoft Entra без изменения пользователей или разрешений в База данных SQL или Azure Synapse. В любое время можно настроить только одного администратора Microsoft Entra (пользователя или группы).

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Примечание.

Проверка подлинности Microsoft Entra с помощью SQL Azure поддерживает только один клиент Microsoft Entra, в котором находится ресурс SQL Azure. Все объекты Microsoft Entra из этого клиента можно настроить как пользователей, разрешающих доступ к SQL Azure в этом клиенте. Администратор Microsoft Entra также должен быть из клиента ресурса SQL Azure. Проверка подлинности Microsoft Entra с несколькими клиентами с доступом к SQL Azure из разных клиентов не поддерживается.

Разрешения

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

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

Возможности и ограничения Microsoft Entra

  • Для База данных SQL Azure можно подготовить следующие члены идентификатора Microsoft Entra:

    • Пользователи Microsoft Entra: любой тип пользователя в клиенте Microsoft Entra, включая внутренние, внешние, гости и члены. Кроме того, поддерживаются члены домена Active Directory, настроенного для федерации с идентификатором Microsoft Entra ID , и их можно настроить для простого единого входа.
    • Приложения: приложения, которые существуют в Azure, могут использовать субъекты-службы или управляемые удостоверения для проверки подлинности непосредственно в База данных SQL Azure. Использование управляемых удостоверений для проверки подлинности предпочтительнее из-за отсутствия пароля и устранения необходимости в учетных данных, управляемых разработчиком.
    • Группы Microsoft Entra, которые могут упростить управление доступом в организации, управляя соответствующими пользователями и приложениями на основе их членства в группах.
  • Пользователи Microsoft Entra, которые входят в группу, которая входит в роль базы данных, db_owner не могут использовать синтаксис CREATE DATABASE SCOPED CREDENTIAL для База данных SQL Azure и Azure Synapse. Вы увидите следующую ошибку:

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

    Чтобы устранить проблему CREATE DATABASE SCOPED CREDENTIAL , добавьте отдельного пользователя db_owner Microsoft Entra напрямую.

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

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • База данных SQL Azure не создает неявных пользователей, вошедшего в систему в рамках членства в группе Microsoft Entra. Из-за этого различные операции, требующие назначения владения, завершаются ошибкой, даже если группа Microsoft Entra добавляется в роль с этими разрешениями.

    Например, пользователь, вошедшего в базу данных через группу Microsoft Entra с ролью db_ddladmin , не сможет выполнять инструкции CREATE SCHEMA, ALTER SCHEMA и другие инструкции создания объектов без явно определенной схемы (например, таблицы, представления или типа). Чтобы устранить эту проблему, необходимо создать пользователя Microsoft Entra или группу Microsoft Entra, чтобы назначить DEFAULT_SCHEMA dbo.

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

  • Субъекты сервера Microsoft Entra (имена входа) и пользователи поддерживаются для Управляемый экземпляр SQL.

  • Установка имен входа Microsoft Entra, сопоставленных с группой Microsoft Entra, так как владелец базы данных не поддерживается в Управляемый экземпляр SQL.

    • Расширением этого является то, что при добавлении группы в составе dbcreator роли сервера пользователи из этой группы могут подключаться к Управляемый экземпляр SQL и создавать новые базы данных, но не смогут получить доступ к базе данных. Это связано с тем, что новый владелец базы данных — SA, а не пользователь Microsoft Entra. Эта проблема не проявляется, если отдельный dbcreator пользователь добавляется в роль сервера.
  • Управление агентом SQL и выполнение заданий поддерживаются для имен входа Microsoft Entra.

  • Операции резервного копирования и восстановления базы данных могут выполняться субъектами сервера Microsoft Entra (имена входа).

  • Поддерживается аудит всех инструкций, связанных с субъектами сервера Microsoft Entra (именами входа) и событиями проверки подлинности.

  • Поддерживается выделенное подключение администратора для субъектов сервера Microsoft Entra (имена входа), которые являются членами роли сервера sysadmin.

    • Поддерживается с помощью служебной программы SQLCMD и SQL Server Management Studio.
  • Триггеры входа поддерживаются для событий входа, поступающих из субъектов сервера Microsoft Entra (имена входа).

  • Компонент Service Broker и db mail можно настроить с помощью субъекта-сервера Microsoft Entra (login).

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

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

  • Пароль Microsoft Entra
  • Интегрированная microsoft Entra
  • Microsoft Entra Universal с многофакторной проверкой подлинности
  • Использование маркера проверки подлинности приложения

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

  • Пароль Microsoft Entra
  • Интегрированная microsoft Entra
  • Microsoft Entra Universal с многофакторной проверкой подлинности

Дополнительные рекомендации

  • Чтобы повысить управляемость, рекомендуется подготовить выделенную группу Microsoft Entra в качестве администратора.
  • Только один администратор Microsoft Entra (пользователь или группа) можно настроить для сервера в База данных SQL или Azure Synapse в любое время.
    • Добавление субъектов сервера Microsoft Entra (имен входа) для Управляемый экземпляр SQL позволяет создавать несколько субъектов сервера Microsoft Entra (имена входа), которые можно добавить в sysadmin роль.
  • Только администратор Microsoft Entra для сервера может первоначально подключиться к серверу или управляемому экземпляру с помощью учетной записи Microsoft Entra. Администратор Microsoft Entra может настроить последующих пользователей базы данных Microsoft Entra.
  • Пользователи и субъекты-службы Microsoft Entra (приложения Microsoft Entra), которые являются членами более 2048 групп безопасности Microsoft Entra, не поддерживаются для входа в базу данных в База данных SQL, Управляемый экземпляр SQL или Azure Synapse.
  • Мы рекомендуем установить время ожидания подключения в 30 секунд.
  • SQL Server 2016 Management Studio и SQL Server Data Tools для Visual Studio 2015 (версия 14.0.60311.1April 2016 или более поздней версии) поддерживают проверку подлинности Microsoft Entra. (Проверка подлинности Microsoft Entra поддерживается поставщик данных платформа .NET Framework для SqlServer; по крайней мере версия платформа .NET Framework 4.6). Поэтому новейшие версии этих средств и приложений уровня данных (DAC и BACPAC) могут использовать проверку подлинности Microsoft Entra.
  • Начиная с версии 15.0.1, служебная программа sqlcmd и программа bcp поддерживают интерактивную проверку подлинности Active Directory с многофакторной проверкой подлинности.
  • Для SQL Server Data Tools для Visual Studio 2015 требуется версия Data Tools, выпущенная в апреле 2016 г. (14.0.60311.1), или более поздняя. В настоящее время пользователи Microsoft Entra не отображаются в SSDT обозреватель объектов. Сведения о пользователях можно просмотреть в файле sys.database_principals.
  • Microsoft JDBC Driver 6.0 для SQL Server поддерживает проверку подлинности Microsoft Entra. Вы можете также ознакомиться с настройкой свойств подключения.
  • PolyBase не может пройти проверку подлинности с помощью проверки подлинности Microsoft Entra.
  • Проверка подлинности Microsoft Entra поддерживается для База данных SQL Azure и Azure Synapse с помощью колонки импорта базы данных и экспорта базы данных портал Azure. Импорт и экспорт с помощью проверки подлинности Microsoft Entra также поддерживается из команды PowerShell.
  • Проверка подлинности Microsoft Entra поддерживается для База данных SQL, Управляемый экземпляр SQL и Azure Synapse с помощью интерфейса командной строки. Дополнительные сведения см. в статье о настройке проверки подлинности Microsoft Entra с помощью База данных SQL или Azure Synapse и SQL Server — az sql server.

Следующие шаги