Проверка подлинности Microsoft Entra в качестве альтернативы проверке подлинности SQL

Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric

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

В этой статье рассматривается аутентификация Microsoft Entra в качестве альтернативы аутентификации SQL для таких элементов Microsoft Fabric, как Хранилище или конечная точка аналитики SQL в Lakehouse.

Преимущества аутентификации Microsoft Entra в Fabric

Одним из основных принципов Microsoft Fabric является защита путем разработки. Microsoft Entra является неотъемлемой частью безопасности Microsoft Fabric, обеспечивая надежную защиту данных, управление и соответствие требованиям.

Microsoft Entra играет важную роль в безопасности Microsoft Fabric по нескольким причинам:

  • Проверка подлинности. Проверка пользователей и субъектов-служб с помощью идентификатора Microsoft Entra, который предоставляет маркеры доступа для операций в Fabric.
  • Безопасный доступ. Безопасное подключение к облачным приложениям с любого устройства или сети, защита запросов, сделанных в Fabric.
  • Условный доступ: администраторы могут задавать политики, которые оценивают контекст пользователя, управляют доступом или применяют дополнительные действия проверки.
  • Интеграция: идентификатор Microsoft Entra ID легко работает со всеми предложениями Microsoft SaaS, включая Fabric, что обеспечивает простой доступ к устройствам и сетям.
  • Широкие возможности платформы: получайте доступ к Microsoft Fabric с помощью Microsoft Entra ID любым способом — через портал Fabric, строку подключения SQL, REST API или конечную точку XMLA.

Microsoft Entra принимает полную политику нулевого доверия, предлагая превосходную альтернативу традиционной проверке подлинности SQL, ограниченной именами пользователей и паролями. Этот подход:

  • Предотвращает выдачу себя за другого пользователя.
  • Обеспечивает точное управление доступом с учетом удостоверения пользователя, среды, устройств и т. д.
  • Поддерживает расширенную безопасность, например многофакторную проверку подлинности Microsoft Entra.

Конфигурация Fabric

Для использования аутентификации Microsoft Entra с конечной точкой SQL-аналитики хранилища или lakehouse требуется настройка как в параметрах Tenant, так и Workspace.

Параметр арендатора

Администратор Fabric в вашем тенанте должен разрешить доступ именам субъектов-служб (SPN) к API Fabric; это необходимо, чтобы SPN мог использоваться для строк подключения SQL к элементам хранилища Fabric или конечной точки аналитики SQL.

Этот параметр находится в разделе "Параметры разработчика" и имеет метку Субъекты-службы могут использовать API Fabric. Убедитесь, что он включен.

Снимок экрана из портала Fabric: страница «Параметры разработчика» в разделе «Параметры клиента».

Параметр рабочей области

Администратор Fabric в вашей рабочей области должен предоставить пользователю или субъекту-службе (SPN) доступ к элементам Fabric.

Существует два способа предоставления доступа пользователю или учетной записи службы:

  • Предоставить пользователю или SPN членство в роли: любая роль рабочей области (администратор, участник, соавтор или наблюдатель) достаточно для подключения к элементам хранилища или озера данных с помощью строки подключения SQL.

    1. В разделе "Управление доступом" в рабочей области назначьте роль участника. Дополнительные сведения см. в разделе "Роли службы".
  • Назначьте пользователя или участника-службы конкретному элементу: предоставьте доступ к определенному хранилищу данных или конечной точке аналитики SQL в Lakehouse. Администратор Fabric может выбрать разные уровни разрешений.

    1. Перейдите к соответствующему элементу Warehouse или конечной точки SQL-аналитики.
    2. Выберите "Дополнительные параметры" и "Управление разрешениями". Выберите Добавить пользователя.
    3. Добавьте пользователя или учетную запись службы на страницу Предоставление доступа пользователям.
    4. Назначьте необходимые разрешения пользователю или SPN. Выберите вариант «без дополнительных разрешений», чтобы предоставить только разрешения на подключение.

    Снимок экрана страницы «Предоставление доступа пользователям» на портале Fabric.

Вы можете изменить разрешения по умолчанию, которые система предоставляет пользователю или SPN. Используйте команды T-SQL GRANT и DENY , чтобы изменить разрешения по мере необходимости или ALTER ROLE , чтобы добавить членство в роли.

Поддержка удостоверений пользователей и имен субъектов-служб (SPN)

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

  • Удостоверения пользователей — это уникальные учетные данные для каждого пользователя в организации.
  • SPN представляют объекты приложений в арендаторе и служат удостоверением личности для экземпляров приложений, обеспечивая аутентификацию и авторизацию этих приложений.

Поддержка табличного потока данных (TDS)

Fabric использует протокол Tabular Data Stream (TDS), тот же, что и SQL Server, при подключении с помощью строки подключения.

Fabric совместима с любым приложением или инструментом, способным подключаться к продукту с компонентом SQL ядро СУБД. Как и подключение к экземпляру SQL Server, TDS работает с TCP-портом 1433. Дополнительные сведения о подключении к SQL Fabric и поиске строки подключения SQL см. в статье "Поиск строки подключения к хранилищу".

Пример SQL строка подключения выглядит следующим образом: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com

Приложения и клиентские средства могут указать свойство подключения Authentication в строке подключения, чтобы выбрать режим аутентификации Microsoft Entra. В следующей таблице описаны различные режимы проверки подлинности Microsoft Entra, включая поддержку многофакторной проверки подлинности (MFA) Microsoft Entra.

Режим проверки подлинности Сценарии Комментарии
Microsoft Entra Interactive Используется приложениями или инструментами в ситуациях, когда аутентификация пользователей может выполняться в интерактивном режиме или когда допустимо ручное вмешательство для проверки учетных данных. Включите MFA и политики условного доступа Microsoft Entra, чтобы обеспечить соблюдение правил организации.
Субъект-служба Microsoft Entra Используется приложениями для безопасной проверки подлинности без вмешательства человека, наиболее подходящим для интеграции приложений. Рекомендуется включить политики условного доступа Microsoft Entra.
Пароль Microsoft Entra Если приложения не могут использовать проверку подлинности на основе SPN из-за несовместимости, или если им требуются общие имя пользователя и пароль для многих пользователей, или если другие методы неприменимы. MFA должен быть отключен, и политики условного доступа не могут быть заданы. Перед выбором этого решения рекомендуется выполнить проверку с помощью команды безопасности клиента.

Блок-схема с режимами проверки подлинности Microsoft Entra и точками принятия решений.

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

Хотя большинство драйверов SQL изначально поддерживали аутентификацию Microsoft Entra, последние обновления расширили их совместимость и добавили поддержку аутентификации на основе имени субъекта-службы (SPN). Это улучшение упрощает переход на проверку подлинности Microsoft Entra для различных приложений и инструментов с помощью обновлений драйверов и добавления поддержки проверки подлинности Microsoft Entra.

Однако иногда необходимо настроить дополнительные параметры, такие как включение определенных портов или брандмауэров для упрощения проверки подлинности Microsoft Entra на хост-компьютере.

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

Структура совместима с собственными драйверами Майкрософт, включая OLE DB, Microsoft.Data.SqlClientи универсальные драйверы, такие как ODBC и JDBC. Переход для приложений, работающих с Fabric, можно управлять с помощью перенастройки для использования проверки подлинности на основе идентификатора Microsoft Entra.

Дополнительные сведения см. в разделе "Подключение к хранилищу данных" в Microsoft Fabric.

OLE DB (Майкрософт)

Драйвер OLE DB для SQL Server — это автономный API доступа к данным, предназначенный для OLE DB и впервые выпущенный вместе с SQL Server 2005 (9.x). Расширенные возможности, начиная с версии 18.5.0, включают проверку подлинности на основе SPN в дополнение к существующим методам проверки подлинности из предыдущих версий.

Режим проверки подлинности Строка подключения SQL
Microsoft Entra Interactive Интерактивная проверка подлинности Microsoft Entra
Субъект-служба Microsoft Entra Проверка подлинности субъекта-службы Microsoft Entra
Пароль Microsoft Entra Проверка подлинности имени пользователя и пароля Microsoft Entra

Фрагмент кода на C# с использованием OLE DB и аутентификацией на основе SPN см. в System.Data.OLEDB.Connect.cs.

Драйвер ODBC Microsoft.

Microsoft ODBC Driver для SQL Server — это одна динамически подключаемая библиотека (DLL), содержащая средства поддержки времени выполнения для приложений, использующих API собственного кода для подключения к SQL Server. Рекомендуется использовать последнюю версию для приложений для интеграции с Fabric.

Дополнительные сведения о проверке подлинности Microsoft Entra с помощью ODBC см. в статье Об использовании идентификатора Microsoft Entra с примером кода драйвера ODBC.

Режим проверки подлинности Строка подключения SQL
Microsoft Entra Interactive DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Субъект-служба Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Пароль Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Пример фрагмента кода Python с использованием ODBC и проверки подлинности на основе SPN см. в файле pyodbc-dw-connectivity.py.

Драйвер Microsoft JDBC

Драйвер Microsoft JDBC для SQL Server — это драйвер JDBC типа 4, который обеспечивает подключение к базе данных через стандартные интерфейсы программ приложений JDBC (API), доступные на платформе Java.

Начиная с версии 9.2, mssql-jdbc поддерживает ActiveDirectoryInteractive и ActiveDirectoryServicePrincipal, а ActiveDirectoryPassword поддерживается в версиях 12.2 и выше. Для этого драйвера требуются дополнительные jar-файлы в качестве зависимостей, которые должны быть совместимы с версией используемой mssql-driver в приложении. Дополнительные сведения см. в разделе Зависимости компонентов драйвера Microsoft JDBC и требования к настройке клиента.

Режим проверки подлинности Дополнительные сведения
Microsoft Entra Interactive Подключение с помощью режима проверки подлинности ActiveDirectoryInteractive
Субъект-служба Microsoft Entra Подключение с помощью режима проверки подлинности ActiveDirectoryServicePrincipal
Пароль Microsoft Entra Подключение с помощью режима проверки подлинности ActiveDirectoryPassword

Пример фрагмента кода Java с использованием JDBC и аутентификацией на основе SPN см. в fabrictoolbox/dw_connect.java и примере файла pom.xml.

Microsoft.Data.SqlClient в .NET

Эта библиотека Microsoft.Data.SqlClient является более новым кроссплатформенным поставщиком данных для SQL Server, предназначенным для замены старых System.Data.SqlClient версий, которые были только для Windows.

Поддерживаемые платформы:

  • .NET 8.0 и более поздние версии
  • .NET Framework 4.6.2 и более поздних версий

Пространство имен Microsoft.Data.SqlClient является объединением двух System.Data.SqlClient компонентов, предоставляя набор классов для доступа к базам данных ядра СУБД SQL. Microsoft.Data.SqlClient рекомендуется для всех новых разработок.

Режим проверки подлинности Дополнительные сведения
Microsoft Entra Interactive Использование интерактивной проверки подлинности
Субъект-служба Microsoft Entra Использование аутентификации на основе субъекта-службы
Пароль Microsoft Entra Использование проверки подлинности паролей

Фрагменты кода с использованием SPN: