Compartilhar via


Permissões granulares do SQL no Microsoft Fabric

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

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

Para o ponto de extremidade de análise do SQL e o Warehouse:

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

Permissões granulares do usuário

  • Para que um usuário se conecte ao banco de dados, o usuário deve ser atribuído a uma função workspace ou receber a permissão de Leitura do item. Sem a 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 warehouse, as permissões podem ser configuradas primeiro no SQL. Em seguida, eles podem receber acesso atribuindo-os a uma função workspace ou concedendo permissões de item.

Limitações

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

Exibir 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 no escopo do banco de dados do usuário:

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

Permissões no escopo do esquema do usuário:

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

Permissões no escopo do 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 string 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 concedidas aos usuários ao serem atribuídos a funções de workspace 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 os filtros de coluna e filtros de linha com base em predicados em tabelas no Warehouse ou no ponto de extremidade de análise do SQL para funções e usuários no Microsoft Fabric: Você também pode mascarar dados confidenciais de não administradores usando mascaramento dinâmico de dados.