Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:✅базе данных SQL в Microsoft Fabric
В этой статье описывается проверка подлинности для баз данных SQL.
Как и другие типы элементов Microsoft Fabric, базы данных SQL используют проверку подлинности Microsoft Entra.
Чтобы успешно пройти проверку подлинности в базе данных SQL, пользователь Microsoft Entra, субъект-служба или их группа, должен иметь разрешение на чтение элемента для базы данных в Fabric. Сведения о предоставлении удостоверению Microsoft Entra доступа к рабочей области Fabric или определенной базе данных см. Элементы управления доступом Fabric.
Чтобы найти строку подключения к вашей базе данных SQL в Fabric, см. статью "Подключение к базе данных SQL в Microsoft Fabric".
Примечание.
Чтобы учетные записи служб могли подключаться к Fabric и базам данных SQL, необходимо также включить параметр клиента Fabric «Субъекты службы могут использовать API Fabric.» Чтобы узнать, как включить параметры арендатора, см. раздел "Параметры арендатора Fabric".
Подключение к базе данных SQL с помощью проверки подлинности Microsoft Entra
Вы можете подключиться к базе данных с помощью проверки подлинности Microsoft Entra с помощью:
- Средства SQL, поддерживающие проверку подлинности Microsoft Entra, включая SQL Server Management Studio и расширение mssql с помощью Visual Studio Code.
- Приложения, использующие драйверы клиентов SQL, поддерживающие проверку подлинности Microsoft Entra, включая SqlClient, JDBC, ODBC и OLE DB.
Приложения и средства должны обновить драйверы до версий, поддерживающих проверку подлинности Microsoft Entra, и добавить ключевое слово режима проверки подлинности в строка подключения SQL, например ActiveDirectoryInteractive, ActiveDirectoryServicePrincipalили ActiveDirectoryPassword.
Создайте пользователей базы данных для идентификаторов Microsoft Entra
Если вы планируете настроить элементы управления доступом SQL с помощью Transact-SQL, вы должны сначала создать пользователей данных, соответствующих удостоверениям Microsoft Entra — пользователям, служебным удостоверениям или их группам — с использованием CREATE USER (Transact-SQL).
Создание пользователей базы данных не требуется, если вы используете средства управления доступом Fabric (роли рабочей области или разрешения для элементов). При управлении ролями уровня базы данных SQL через портал Fabric вам также не нужно создавать пользователей — портал автоматически создает их при необходимости.
Создавайте пользователей базы данных, подключившись как пользователь Microsoft Entra
При подключении к базе данных в качестве пользователя Microsoft Entra, вы должны использовать CREATE USER с предложением FROM EXTERNAL PROVIDER для создания пользователей для основных объектов Microsoft Entra.
FROM EXTERNAL PROVIDER проверяет указанное имя субъекта с помощью Microsoft Entra, извлекает идентификатор субъекта (идентификатор объекта пользователя или группы, идентификатор приложения или идентификатор клиента) и сохраняет идентификатор в качестве идентификатора безопасности пользователя в метаданных SQL. При использовании предложения необходимо быть членом FROM EXTERNAL PROVIDER читателей каталогов в Microsoft Entra. В следующем примере скриптов T-SQL используется FROM EXTERNAL PROVIDER для создания пользователя, основанного на пользователе Microsoft Entra, служебном принципале в Microsoft Entra или группе в Microsoft Entra.
-- Create a user for a Microsoft Entra user
CREATE USER [[email protected]] FROM EXTERNAL PROVIDER;
-- Create a user for a service principal in Microsoft Entra
CREATE USER [HRApp] FROM EXTERNAL PROVIDER;
-- Create a user for a group in Microsoft Entra
CREATE USER [HR] FROM EXTERNAL PROVIDER;
Создавайте пользователей базы данных при подключении в качестве принципала службы Microsoft Entra
Если приложение подключено к базе данных с помощью служебного принципала, приложение должно выполнять команду CREATE USER с предложениями SID и TYPE для создания пользователей для принципов Microsoft Entra. Указанное главное имя не проверено в Microsoft Entra. Это ответственность приложения (разработчика приложения) по предоставлению допустимого имени, идентификатора безопасности и типа объекта пользователя.
Если указанный субъект является пользователем или группой в Microsoft Entra, SID должен быть объект ID этого пользователя или группы в Microsoft Entra. Если указанный субъект является субъектом-службой в Microsoft Entra, идентификатор безопасности должен быть идентификатором приложения (идентификатором клиента) субъекта-службы в Microsoft Entra. Идентификаторы объектов и идентификаторы приложений (идентификаторы клиентов), полученные от Microsoft Entra, должны быть преобразованы в двоичный(16).
Значение аргумента TYPE должно быть:
-
E— если указанный субъект Microsoft Entra является пользователем или субъектом-службой. -
X— если указанный субъект Microsoft Entra является группой.
Следующий пример скрипта T-SQL создает пользователя базы данных для пользователя Microsoft Entra с именем [email protected], задавая SID нового пользователя на объектный идентификатор пользователя Microsoft Entra. Уникальный идентификатор объекта пользователя преобразуется и затем объединяется в оператор CREATE USER. Замените <unique identifier sid> идентификатором объекта пользователя в Microsoft Entra.
DECLARE @principal_name SYSNAME = '[email protected]';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- user's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = E;'
EXEC (@cmd);
В следующем примере создается пользователь базы данных для служебного субъекта Microsoft Entra с именем HRApp, при этом идентификатор безопасности нового пользователя устанавливается в качестве идентификатора клиента служебного субъекта в Microsoft Entra.
DECLARE @principal_name SYSNAME = 'HRApp';
DECLARE @clientId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's client ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castClientId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @clientId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castClientId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castClientId + ', TYPE = E;'
EXEC (@cmd);
В следующем примере создается пользователь базы данных для группы Microsoft Entra с именем HR, устанавливая SID нового пользователя в идентификатор объекта группы.
DECLARE @group_name SYSNAME = 'HR';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@groupName] WITH SID = @castObjectId, TYPE = X;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @group_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Ограничения
- Microsoft Entra ID – это единственный поставщик удостоверений, поддерживаемый SQL-базой данных в Fabric. В частности, проверка подлинности SQL не поддерживается.
- Входы (принципы сервера) не поддерживаются.
- В настоящее время единственной поддерживаемой политикой подключения для базы данных SQL в Microsoft Fabric является Default. Для получения дополнительных сведений см. политику подключения.
Связанный контент
- СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ (Transact-SQL)
- ALTER USER (Transact-SQL)
- DROP USER (Transact-SQL)
- Создание пользователя базы данных
- Входы и пользователи Microsoft Entra с не уникальными отображаемыми именами (предварительная версия)
- Авторизация в базе данных SQL в Microsoft Fabric
- Подключение к базе данных SQL в Microsoft Fabric