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

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

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

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

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

Настройка подробных разрешений пользователя в хранилище Fabric

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

Ограничение команды CREATE USER

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

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

После того как пользователь подключится к хранилищу Fabric или конечной точке SQL Analytics с помощью строки подключения 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');

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

При подключении к хранилищу Fabric или конечной точке аналитики SQL с помощью строки подключения SQL пользователь с повышенными правами может запрашивать сведения о предоставленных разрешениях, используя системные представления. Этот запрос не возвращает разрешения, которые пользователи получают через роль или элемент рабочей области Fabric.

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;

Функции защиты данных в хранилище Fabric

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