Compartir vía


Permisos granulares de SQL en Microsoft Fabric

Se aplica a: punto de conexión de análisis SQL y un almacén de Microsoft Fabric

Cuando los permisos predeterminados proporcionados por la asignación a roles de área de trabajo o concedidos a través de permisos de elemento no son suficientes, las construcciones SQL estándar están disponibles para un control más granular.

Para el punto de conexión de análisis y almacenamiento SQL:

  • La seguridad de nivel de objeto se puede administrar mediante la sintaxis GRANT, REVOKE y DENY.
  • Los usuarios se pueden asignar a roles de SQL, tanto roles de base de datos personalizados como integrados.

Permisos granulares de usuario

  • Para que un usuario pueda conectarse a la base de datos, debe estar asignado a un rol de Área de trabajo o tener asignado el permiso de Lectura de elementos. Sin el permiso de Lectura como mínimo, se produce un error en la conexión.
  • Si desea configurar los permisos pormenorizados de un usuario antes de permitirles conectarse al almacenamiento, los permisos se pueden configurar primero en SQL. A continuación, se les puede conceder acceso asignando a un rol de área de trabajo o concediéndoles permisos de elemento.

Limitaciones

  • CREATE USER no puede ejecutarse explícitamente en este momento. Cuando se ejecuta GRANT o DENY, el usuario es creado automáticamente. El usuario no podrá conectarse hasta que se conceden suficientes derechos de nivel de área de trabajo.

Ver mis permisos

Cuando un usuario se conecta a la cadena de conexión SQL, puede ver los permisos disponibles para ellos mediante la función sys.fn_my_permissions.

Permisos con ámbito de base de datos del usuario:

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

Permisos con ámbito de esquema del usuario:

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

Permisos de ámbito de objeto del usuario:

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

Ver permisos concedidos explícitamente a los usuarios

Cuando se conecta a través de la cadena de conexión SQL, un usuario con permisos elevados puede consultar los permisos concedidos mediante vistas del sistema. Esto no muestra los usuarios o permisos de usuario que se conceden a los usuarios mediante la asignación de roles de área de trabajo o permisos de elemento asignados.

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;

Características de protección de datos

Puede proteger los filtros de columna y los filtros de fila basados en predicados en tablas de Almacén o del punto de conexión de análisis SQL en roles y usuarios de Microsoft Fabric. También puede enmascarar datos confidenciales de usuarios que no son administradores mediante el enmascaramiento de datos dinámico.