Поделиться через


Детализированные разрешения SQL в Microsoft Fabric

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

Если разрешения по умолчанию, предоставляемые назначением ролей рабочей области или предоставленные с помощью разрешений элемента, недостаточно, стандартные конструкции SQL доступны для более детального управления.

Для конечной точки аналитики SQL и хранилища:

  • Безопасность на уровне объектов может управляться с помощью синтаксиса GRANT, REVOKE и DENY T-SQL.
  • Пользователям могут быть назначены роли SQL, как пользовательские, так и встроенные роли базы данных.

Детализированные разрешения пользователя

  • Чтобы пользователь подключился к базе данных, пользователю необходимо назначить роль рабочей области или назначить разрешение на чтение элемента. Без разрешения на чтение по крайней мере подключение завершается ошибкой.
  • Если вы хотите настроить детализированные разрешения пользователя, прежде чем разрешить им подключаться к хранилищу, разрешения можно сначала настроить в SQL. Затем им можно предоставить доступ, назначив им роль рабочей области или предоставив им разрешения элемента.

Ограничения

  • CREATE USER в настоящее время невозможно явно выполнить. При GRANT выполнении DENY пользователя создается автоматически. Пользователь не сможет подключиться, пока не будут предоставлены достаточные права уровня рабочей области.

Просмотр моих разрешений

Когда пользователь подключается к СТРОКА ПОДКЛЮЧЕНИЯ SQL, он может просматривать разрешения, доступные для них с помощью функции sys.fn_my_permissions.

Разрешения базы данных пользователя:

SELECT *
FROM sys.fn_my_permissions(NULL, 'Database');

Разрешения на схему пользователя:

SELECT *
FROM sys.fn_my_permissions('<schema-name>', 'Schema');

Разрешения на уровне объектов пользователя:

SELECT *
FROM sys.fn_my_permissions('<schema-name>.<object-name>', 'Object');

Просмотр разрешений, предоставленных пользователям явным образом

При подключении через СТРОКА ПОДКЛЮЧЕНИЯ SQL пользователь с повышенными разрешениями может запрашивать предоставленные разрешения с помощью системных представлений. Это не показывает разрешения пользователей или пользователей, которые предоставляются пользователям, назначая ролям рабочей области или разрешениям на назначенный элемент.

SELECT DISTINCT pr.principal_id, pr.name, pr.type_desc, 
 pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe
 ON pe.grantee_principal_id = pr.principal_id;

Функции защиты данных

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