Permissões granulares do SQL no Microsoft Fabric

Aplica-se a:✅ ponto de extremidade de análise SQL e Warehouse no Microsoft Fabric

Quando as permissões padrão fornecidas pela atribuição a funções de espaço de trabalho ou concedidas por meio de permissões de item são insuficientes, construções SQL padrão estão disponíveis para controle mais granular.

Para o endpoint de análise SQL e o Warehouse:

  • A segurança no nível do objeto pode ser gerenciada usando a sintaxe GRANT, REVOKE e DENY T-SQL.
  • Os usuários podem ser atribuídos a funções SQL, funções de banco de dados personalizadas e internas.

Permissões granulares do usuário

  • Para que um usuário se conecte ao banco de dados, ele deve ser atribuído a uma função Espaço de Trabalho ou à permissão de Leitura do item. Sem permissão de leitura no mínimo, a conexão falha.
  • Se você quiser configurar as permissões granulares de um usuário antes de permitir que ele se conecte ao depósito, as permissões podem ser configuradas primeiro no SQL. Em seguida, eles podem receber acesso atribuindo-os a uma função de Espaço de Trabalho ou concedendo permissões de item.

Limitações

  • CREATE USER não pode ser executado explicitamente atualmente. Quando GRANT ou DENY é executado, o usuário é criado automaticamente. O usuário não poderá se conectar até que direitos suficientes no nível do espaço de trabalho sejam concedidos.

Ver as minhas permissões

Quando um usuário se conecta à cadeia de conexão SQL, ele pode exibir as permissões disponíveis para ele usando a função sys.fn_my_permissions .

Permissões com escopo do banco de dados do usuário:

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

Permissões com escopo de esquema do usuário:

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

Permissões de escopo de objeto do usuário:

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

Exibir permissões concedidas explicitamente aos usuários

Quando conectado por meio da cadeia de conexão SQL, um usuário com permissões elevadas pode consultar as permissões concedidas usando exibições do sistema. Isso não mostra os usuários ou permissões de usuário que são dadas aos usuários por serem atribuídos a funções de espaço de trabalho ou permissões de item atribuídas.

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;

Recursos de proteção de dados

Você pode proteger filtros de coluna e filtros de linha baseados em predicados em tabelas no Warehouse ou no ponto de extremidade de análise SQL para funções e usuários no Microsoft Fabric. Você também pode mascarar dados confidenciais de não-administradores usando o mascaramento dinâmico de dados.