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


Детализированные разрешения 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. Вы также можете маскировку конфиденциальных данных от неадминистраторов с помощью динамического маскирования данных.