Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:✅SQL database в Microsoft Fabric
В этой статье описывается проверка подлинности для баз данных SQL.
Как и другие типы элементов Microsoft Fabric, базы данных SQL используют проверку подлинности Microsoft Entra.
Чтобы успешно пройти проверку подлинности в базе данных SQL, пользователь Microsoft Entra, учетная запись службы, или их группа должен иметь разрешение на чтение элементов базы данных в системе Fabric. Сведения о том, как предоставить идентификатору Microsoft Entra доступ к рабочей области Fabric или определенной базе данных, см. в разделе Fabric access controls.
Сведения о том, как найти строку подключения для вашей базы данных SQL в Fabric, см. в разделе Connect to your SQL Database in 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 connection string, например 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, получает идентификатор субъекта (идентификатор объекта пользователя или группы, идентификатор приложения или идентификатор клиента) и сохраняет идентификатор в качестве идентификатора безопасности пользователя (SID) в метаданных 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 [alice@contoso.com] 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, идентификатор безопасности должен быть идентификатором объекта этого пользователя или группы в Microsoft Entra. Если указанный субъект является субъектом-службой в Microsoft Entra, идентификатор безопасности должен быть идентификатором приложения (идентификатором клиента) субъекта-службы в Microsoft Entra. Идентификаторы объектов и идентификаторы приложений (идентификаторы клиентов), полученные из Microsoft Entra, должны быть преобразованы в binary(16).
Значение аргумента TYPE должно быть:
-
E— если указанный субъект Microsoft Entra является пользователем или субъектом-службой. -
X— если указанный принципал Microsoft Entra является группой.
Следующий пример скрипта T-SQL создает пользователя базы данных для пользователя Microsoft Entra с именем bob@contoso.com, установив идентификатор нового пользователя как идентификатор объекта пользователя Microsoft Entra. Уникальный идентификатор объекта пользователя преобразуется и затем объединяется в оператор CREATE USER. Замените <unique identifier sid> идентификатором объекта пользователя в Microsoft Entra.
DECLARE @principal_name SYSNAME = 'bob@contoso.com';
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, присвоив SID нового пользователя идентификатор клиента учетной записи службы в 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. Для получения дополнительных сведений см. политику подключения.
Связанный контент
- CREATE USER (Transact-SQL)
- ALTER USER (Transact-SQL)
- DROP USER (Transact-SQL)
- Создание пользователя базы данных
- Microsoft Entra входы и пользователи с неуникальными отображаемыми именами (предварительная версия)
- Авторизация в базе данных SQL в Microsoft Fabric
- Подключитесь к вашей базе данных SQL в Microsoft Fabric