Permissões granulares do SQL no Microsoft Fabric

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

Quando as permissões predefinidas da atribuição de funções na área de trabalho ou as permissões do item não lhe conferirem o nível de controlo de que necessita, utilize instruções SQL padrão num armazém de dados do Fabric ou num ponto final de análise SQL para um controlo de acesso mais granular.

Para o endpoint de análise SQL e o Warehouse no Microsoft Fabric:

  • Gerir a segurança ao nível de objeto com as instruções T-SQL GRANT, REVOKE e DENY.
  • Atribuir utilizadores a funções SQL, quer funções personalizadas da base de dados quer funções incorporadas da base de dados.

Configurar permissões granulares de utilizador num armazém Fabric

  • Para que um utilizador se ligue a um armazém do Fabric ou a um ponto final de análise de SQL, tem de lhe atribuir uma função numa área de trabalho ou conceder-lhe a permissão de item Read. Sem permissão de leitura no mínimo, a conexão falha.
  • Para configurar as permissões granulares do utilizador antes de se ligar ao armazém, defina primeiro as permissões no SQL. Em seguida, dá-lhes acesso ao atribuir uma função no espaço de trabalho ou ao conceder permissões sobre os itens.

Limitação de CREATE USER

  • Não podes correr CREATE USER explicitamente num Fabric warehouse ou endpoint de análise SQL. Quando executa GRANT ou DENY, o Fabric cria automaticamente o utilizador da base de dados. O utilizador não pode estabelecer ligação até também ter permissões suficientes no espaço de trabalho.

Ver as minhas permissões

Depois de um utilizador estabelecer ligação a um armazém do Fabric ou a um ponto final de análise SQL através da cadeia de ligação SQL, pode ver as permissões de que dispõe utilizando a função sys.fn_my_permissions.

Permissões ao nível da base de dados para o utilizador atual:

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

Permissões no âmbito do esquema para o utilizador atual:

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

Permissões com âmbito de objeto para o utilizador atual:

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

Ver permissões concedidas explicitamente a utilizadores num armazém Fabric

Quando se liga a um armazém do Fabric ou a um ponto final de análise SQL através da cadeia de ligação SQL, um utilizador com permissões elevadas pode consultar as permissões concedidas através de vistas de sistema. Esta consulta não devolve as permissões que os utilizadores recebem através de um papel ou item do espaço de trabalho 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;

Funcionalidades de proteção de dados num armazém Fabric

No Warehouse e no endpoint de análise SQL, podes restringir o acesso a colunas específicas e a linhas específicas numa tabela, e mascarar dados sensíveis de não administradores.