Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
- SQL Server 2022
- SQL Server 2025
Azure SQL Database & Azure SQL Managed Instance - SQL Server на Azure виртуальных машинах
В этой статье показано, как использовать Microsoft Entra ID для проверки подлинности с Azure SQL Database, Azure SQL Managed Instance и Azure Synapse Analytics.
Примечание.
Microsoft Entra ID ранее был известен как Azure Active Directory (Azure AD).
Вы также можете настроить аутентификацию Microsoft Entra для SQL Server на виртуальных машинах Azure.
Предварительные условия
Чтобы использовать проверку подлинности Microsoft Entra с ресурсом Azure SQL, вам потребуется следующее:
- Клиент Microsoft Entra, заполненный пользователями и группами.
- Существующий ресурс Azure SQL, например Azure SQL Database или Azure SQL Managed Instance.
Создание и заполнение клиента Microsoft Entra
Прежде чем настроить проверку подлинности Microsoft Entra для ресурса Azure SQL, необходимо создать клиент Microsoft Entra и заполнить его пользователями и группами. Microsoft Entra клиенты можно полностью управлять Azure или использовать для федерации локальной службы Active Directory Domain.
Дополнительные сведения см. в разделе:
- Что такое Microsoft Entra ID?
- Интеграция локальных идентификаторов с Microsoft Entra ID
- Добавьте имя домена в Microsoft Entra ID
- Что такое федерация с Microsoft Entra ID?
- Синхронизация каталогов с Microsoft Entra ID
- Manage Microsoft Entra ID с помощью Windows PowerShell
- Порты и протоколы, необходимые для гибридной идентификации
Назначить администратора Microsoft Entra
Для использования аутентификации Microsoft Entra с вашим ресурсом необходимо назначить администратора Microsoft Entra. Хотя концептуально шаги одинаковы для Azure SQL Database, Azure Synapse Analytics и Azure SQL Managed Instance, в этом разделе подробно описаны различные интерфейсы API и интерфейсы портала для каждого продукта.
Администратора Microsoft Entra можно также настроить при создании ресурса Azure SQL. Если администратор Microsoft Entra уже настроен, пропустите этот раздел.
Azure SQL Database и Azure Synapse Analytics
Настройка администратора Microsoft Entra включает проверку подлинности Microsoft Entra для сервера Logical для Azure SQL Database и Azure Synapse Analytics. Администратора Microsoft Entra для сервера можно назначить с помощью портала Azure, PowerShell, Azure CLI или REST API.
На портале Azure можно найти имя логического сервера
- В поле server name на странице Azure SQL Database Overview.
- В поле server name на странице Overview вашего автономного выделенного пула SQL в Azure Synapse Analytics.
- На соответствующей конечной точке SQL на странице Overview рабочей области Azure Synapse Analytics.
- портал Azure
- PowerShell
- Azure CLI
- REST API;
Чтобы задать администратора Microsoft Entra для логического сервера на портале Azure, выполните следующие действия.
На портале Azure в разделе Каталоги + подписки выберите каталог, содержащий ваш ресурс Azure SQL, в качестве текущего каталога.
Найдите серверы SQL, а затем выберите логический сервер для ресурса базы данных, чтобы открыть панель SQL сервера.
На панели SQL Server для вашего логического сервера выберите Microsoft Entra ID в разделе Параметры, чтобы открыть панель Microsoft Entra ID.
На панели Microsoft Entra ID выберите Set admin для открытия панели Microsoft Entra ID.
На панели Microsoft Entra ID отображаются все пользователи, группы и приложения в текущем каталоге и можно выполнять поиск по имени, псевдониму или идентификатору. Найдите нужную учетную запись для администратора Microsoft Entra и выберите ее, а затем нажмите Выбрать, чтобы закрыть область.
В верхней части страницы Microsoft Entra ID для логического сервера выберите Save.
Идентификатор Object id отображается рядом с именем администратора для Microsoft Entra пользователей и групп. Для приложений (субъектов-служб) отображается идентификатор приложения.
Процесс изменения администратора может занять несколько минут. Затем новый администратор появится в поле Microsoft Entra admin.
Чтобы удалить администратора, в верхней части страницы Microsoft Entra ID выберите Удалить администратора, а затем выберите Сохранить. Удаление администратора Microsoft Entra отключает аутентификацию Microsoft Entra для логического сервера.
Примечание.
Администратор Microsoft Entra хранится в базе данных master сервера как пользователь (субъект базы данных). Так как имена субъектов базы данных должны быть уникальными, отображаемое имя администратора не может совпадать с именем любого пользователя в базе данных сервера master . Если пользователь с именем уже существует, программа установки администратора Microsoft Entra завершается сбоем и откатывается, указывая, что имя уже используется.
Azure SQL Managed Instance
Настройка администратора Microsoft Entra активирует проверку подлинности Microsoft Entra для Azure SQL Managed Instance. Вы можете назначить администратора Microsoft Entra для управляемого экземпляра SQL, используя портал Azure, PowerShell, Azure CLI или REST API.
- портал Azure
- PowerShell
- Azure CLI
- REST API;
Чтобы предоставить управляемому экземпляру SQL разрешения на чтение Microsoft Entra ID с помощью портала Azure, выполните вход в качестве Администратора привилегированных ролей и выполните следующие действия:
На портале Azure в правом верхнем углу выберите свою учетную запись, а затем выберите каталоги Switch, чтобы убедиться, какой каталог является каталогом Current directory. При необходимости переключите каталоги.
На портале Azure Directories + subscriptions выберите каталог, содержащий ваш управляемый экземпляр, в качестве текущего каталога.
Найдите управляемые экземпляры SQL и выберите свой управляемый экземпляр, чтобы открыть панель управляемого экземпляра SQL. Затем выберите Microsoft Entra ID в разделе Settings, чтобы открыть панель Microsoft Entra ID для вашего экземпляра.
В области Microsoft Entra admin выберите Установить администратора на панели навигации, чтобы открыть панель Microsoft Entra ID.
На панели Microsoft Entra ID найдите пользователя, установите флажок рядом с пользователем или группой, чтобы быть администратором, а затем нажмите клавишу Select, чтобы закрыть область и вернуться на страницу администратора Microsoft Entra для управляемого экземпляра.
На панели Microsoft Entra ID отображаются все члены и группы в текущем каталоге. Нельзя выбрать заблокированных пользователей или группы, так как они не поддерживаются в качестве администраторов Microsoft Entra. Выберите идентификатор, который вы хотите использовать для назначения администратором.
На навигационной панели страницы администратора Microsoft Entra для управляемого экземпляра выберите Сохранить, чтобы подтвердить администратора Microsoft Entra.
После завершения операции изменения администратора в поле администрирования Microsoft Entra появится новый администратор.
Идентификатор Object id отображается рядом с именем администратора для Microsoft Entra пользователей и групп. Для приложений (субъектов-служб) отображается идентификатор приложения.
Совет
Чтобы удалить администратора, выберите в верхней части страницы Microsoft Entra ID, а затем выберите Save.
Назначение разрешений Microsoft Graph
SQL Managed Instance требуется разрешение на чтение Microsoft Entra ID для таких сценариев, как авторизация пользователей, которые подключаются через членство в группах безопасности и создание новых пользователей. Чтобы аутентификация Microsoft Entra функционировала, необходимо назначить управляемому экземпляру роль Directory Readers. Это можно сделать с помощью портала Azure или PowerShell.
Для некоторых операций Azure SQL Database и Azure Synapse Analytics также требуются разрешения для выполнения запросов к Microsoft Graph, как объясняется в документе Разрешения Microsoft Graph. Azure SQL Database и Azure Synapse Analytics поддерживают подробные разрешения Graph для этих сценариев, в то время как для SQL Managed Instance требуется роль Directory Readers. Подробности о тонких настройках разрешений и их назначении описаны в включить субъекты-службы для создания пользователей Microsoft Entra.
Это важно
Azure SQL Database и SQL Managed Instance используют различные модели разрешений для доступа Microsoft Graph:
-
Azure SQL Database и Azure Synapse Analytics: поддержка тонких разрешений Microsoft Graph API (например,
User.Read.All,GroupMember.Read.AllиApplication.Read.All), назначенных непосредственно удостоверению сервера. Этот подход следует принципу наименьшей привилегии и рекомендуется. Пошаговые инструкции см. в разделе Включение доверенных сущностей служб для создания пользователей Microsoft Entra. Роль читателя каталогов также может использоваться в качестве более широкой альтернативы. - SQL Managed Instance: Требуется роль Читатели каталога или эквивалентные точечные разрешения Microsoft Graph, назначенные удостоверению экземпляра. Портал Azure предоставляет удобный баннер на странице Microsoft Entra ID с запросом на предоставление роли читателей каталогов. Выполните действия, описанные в разделе роли "Читатели каталогов ".
Если вы настраиваете Azure SQL Database, вам не нужно назначать роль "Читатели каталогов" для базовой настройки администратора Microsoft Entra. Вместо этого назначьте подробные разрешения Microsoft Graph управляемому удостоверению сервера, как описано в разделе Управляемые удостоверения в Microsoft Entra для Azure SQL.
Роль "Читатели каталогов"
Роль Directory Readers и баннер портала, описанный в этом разделе, применяются главным образом к SQL Managed Instance. Для Azure SQL Database можно назначить тонко настроенные разрешения Microsoft Graph или использовать Directory Readers в качестве более широкой альтернативы.
- портал Azure
- PowerShell
- Azure CLI
- REST API;
Страница Microsoft Entra ID для SQL Managed Instance на портале Azure отображает удобный баннер, если экземпляру не назначены права читателя каталога.
Выберите баннер в верхней части страницы Microsoft Entra ID и предоставьте разрешение на управляемое системой или пользователем удостоверение, представляющее ваш экземпляр. Это может выполнять только Администратор привилегированных ролей или роль с более высокими привилегиями в этом клиенте.
Примечание.
Если баннер не отображается, экземпляру может уже быть назначена роль Чтения каталога, или у вас может не быть необходимой роли администратора привилегированных ролей. Если у вас нет этой роли, попросите администратора клиента предоставить разрешение или использовать метод PowerShell на вкладке PowerShell .
При успешном выполнении операции в правом верхнем углу отображается уведомление об успешном выполнении:
Теперь администратора Microsoft Entra можно использовать для создания учетных записей серверов Microsoft Entra (имен входа) и учетных записей пользователей базы данных (пользователей). Дополнительные сведения см. в разделе Интеграция Microsoft Entra с Azure SQL Managed Instance.
Создайте главные объекты Microsoft Entra в SQL
Чтобы подключиться к базе данных в SQL Database или Azure Synapse Analytics с проверкой подлинности Microsoft Entra, главный объект должен быть настроен в базе данных для этой личности с по крайней мере разрешением CONNECT.
Разрешения пользователя базы данных
При создании пользователя базы данных он получает CONNECT разрешение на базу данных по умолчанию. Пользователь базы данных также наследует разрешения в двух случаях:
- Если пользователь является членом группы Microsoft Entra, которая также назначает разрешения на сервере.
- Если пользователь создается из имени входа, он наследует разрешения, назначенные сервером, применимые к базе данных.
Управление разрешениями для субъектов сервера и баз данных работает одинаково независимо от типа субъекта (Microsoft Entra ID, проверки подлинности SQL и т. д.). Мы рекомендуем предоставлять разрешения ролям базы данных вместо прямого предоставления разрешений пользователям. Затем пользователи могут быть добавлены в роли с соответствующими разрешениями. Это упрощает долгосрочное управление разрешениями и снижает вероятность сохранения доступа у учетных данных дольше, чем необходимо.
Дополнительные сведения см. в разделе:
- Разрешения ядра СУБД и примеры
- Blog: основы прав доступа Database Engine
- Управление специальными ролями баз данных и логинами в Azure SQL Database
Пользователи содержимой базы данных.
Пользователь автономной базы данных — это тип пользователя SQL, который не подключен к имени входа в master базе данных. Чтобы создать ограниченного пользователя базы данных Microsoft Entra, подключитесь к базе данных с помощью удостоверения Microsoft Entra, имеющего по крайней мере разрешение ALTER ANY USER**. В следующем примере T-SQL создается главный объект базы данных Microsoft_Entra_principal_name из Microsoft Entra ID.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Чтобы создать пользователя автономной базы данных для группы Microsoft Entra, введите отображаемое имя группы:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Чтобы создать пользователя базы данных в пределах контейнера для управляемой идентичности или основной службы, введите отображаемое имя идентичности:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Чтобы создать пользователя автономной базы данных для пользователя Microsoft Entra, введите имя субъекта-пользователя удостоверения:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Авторизованные пользователи
Примечание.
Объекты управления сервером Microsoft Entra (имена входа) находятся в стадии открытого предварительного просмотра для Azure SQL Database и Azure Synapse Analytics. Microsoft Entra логины общедоступны для Azure SQL Managed Instance и SQL Server 2022.
поддерживаются Server principals Microsoft Entra (или логины серверов), что означает, что пользователи встроенной базы данных не требуются. Субъекты базы данных (пользователи) можно создать на основе субъекта-сервера, что означает, что Microsoft Entra пользователи могут наследовать назначенные на уровне сервера разрешения для входа.
CREATE USER [appName] FROM LOGIN [appName];
Дополнительные сведения см. в обзоре SQL Managed Instance. Синтаксис создания принципов серверов Microsoft Entra (логинов) см. в разделе CREATE LOGIN.
Внешние пользователи
Вы не можете напрямую создать пользователя базы данных для идентичности, управляемой в другом тенанте Microsoft Entra, отличном от того, который связан с вашей подпиской Azure. Однако пользователи в других каталогах могут импортироваться в связанный каталог как внешние пользователи. Затем их можно использовать для создания пользователей автономной базы данных, которые могут получить доступ к базе данных. Внешние пользователи также могут получить доступ через членство в Microsoft Entra группах.
Примеры: Чтобы создать контейнированного пользователя базы данных, представляющего федеративного или управляемого пользователя домена Microsoft Entra:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Для учетной записи пользователя из федеративного домена, импортированной в управляемый домен в качестве внешнего пользователя, необходимо использовать идентификацию управляемого домена.
Соображения по именам
Специальные символы, такие как двоеточие : или амперсанд &, не поддерживаются, если они включены в качестве имен пользователей в операторах T-SQL CREATE LOGIN и CREATE USER.
Microsoft Entra ID и Azure SQL отличаются в своей конструкции управления пользователями ключевым образом: Microsoft Entra ID допускает дублирование имен в пределах клиента, тогда как Azure SQL требует, чтобы все серверные принципы на сервере или экземпляре и все принципы базы данных в базе данных имели уникальное имя. Поскольку Azure SQL напрямую использует отображаемое имя учетной записи из Microsoft Entra при создании учетных записей, это может привести к ошибкам при создании пользователей. Чтобы устранить эту проблему, Azure SQL выпустила усовершенствование WITH OBJECT_ID, которое в настоящее время доступно в предварительной версии и позволяет пользователям указать идентификатор объекта Microsoft Entra для личности, добавляемой на сервер или экземпляр.
разрешения Microsoft Graph
Команда CREATE USER ... FROM EXTERNAL PROVIDER требует доступ к Azure SQL для Microsoft Entra ID (как "внешний провайдер") от имени пользователя, авторизованного в системе. Иногда возникают обстоятельства, которые заставляют Microsoft Entra ID возвращать исключение для Azure SQL.
- Возможна ошибка SQL 33134, содержащая специфическое сообщение об ошибке Microsoft Entra ID. Ошибка обычно говорит, что доступ запрещен, что пользователь должен зарегистрировать в MFA для доступа к ресурсу или что доступ между сторонними приложениями должен обрабатываться с помощью предварительной проверки подлинности. В первых двух случаях проблема обычно вызвана политиками условного доступа, установленными в клиенте Microsoft Entra пользователя: они препятствуют доступу пользователя к внешнему поставщику. Чтобы устранить эту проблему, обновите политики условного доступа, разрешив доступ к приложению "00000003-0000-0000-c000-000000000000" (идентификатор приложения Microsoft Graph API). Если ошибка говорит, что доступ между сторонними приложениями должен обрабатываться с помощью предварительной проверки подлинности, проблема заключается в том, что пользователь вошел в систему в качестве субъекта-службы. Команда должна завершиться успешно, если она выполняется пользователем.
- Если вы получаете Истек срок действия подключения, может потребоваться задать для connection string параметра
TransparentNetworkIPResolutionзначение false. Дополнительные сведения см. в статье Проблема истечения времени ожидания соединения в .NET Framework 4.6.1 — "TransparentNetworkIPResolution".
Дополнительные сведения о создании пользователей автономной базы данных на основе удостоверений Microsoft Entra см. в разделе CREATE USER.
Настройка многофакторной проверки подлинности
Чтобы повысить безопасность ресурса Azure SQL, рассмотрите возможность настройки мультифакторной проверки подлинности (MFA), которая предлагает пользователю использовать второй альтернативный метод для проверки подлинности в базе данных, например телефонный звонок или приложение для проверки подлинности.
Чтобы использовать многофакторную проверку подлинности с ресурсом Azure SQL, сначала enable multifactor authentication, а затем используйте политику доступа Кондициональный доступ для применения MFA для ресурса Azure SQL.
Подключитесь к Microsoft Entra
После настройки проверки подлинности Microsoft Entra его можно использовать для подключения к ресурсу SQL с помощью таких инструментов Microsoft, как SQL Server Management Studio и SQL Server Data Tools, и настройки клиентских приложений для подключения с использованием удостоверений Microsoft Entra.
Устранение неполадок аутентификации Microsoft Entra
Рекомендации по устранению неполадок см. в разделе Blog: устранение неполадок, связанных с проверкой подлинности Microsoft Entra с помощью Azure SQL Database и Azure Synapse.
Связанный контент
- Авторизуйте доступ к базам данных SQL, SQL Managed Instance и Azure Synapse Analytics
- Управляемые удостоверения в Microsoft Entra для Azure SQL
- Microsoft Entra субъекты-службы с Azure SQL
- Principals
- роли базы данных
- Azure SQL Database и правила брандмауэра AZURE SYNAPSE IP
- Создайте гостевых пользователей Microsoft Entra и назначьте их администраторами Microsoft Entra
- Руководство: создание пользователей Microsoft Entra через приложения Microsoft Entra