Compartilhar via


Segurança em nível de coluna no OneLake (versão prévia)

A CLS (segurança em nível de coluna) é um recurso de segurança do OneLake (versão prévia) que permite que você tenha acesso a colunas selecionadas em uma tabela em vez de acesso completo à tabela. O CLS permite especificar um subconjunto de tabelas que os usuários podem acessar. As colunas removidas da lista não são visíveis para os usuários.

Pré-requisitos

Implementar segurança em nível de coluna

O CLS de segurança do OneLake é imposto de uma das duas maneiras a seguir:

  • Tabelas filtradas em mecanismos do Fabric: Consultas aos mecanismos do Fabric, como notebooks Spark, resultam no usuário vendo apenas as colunas que tem permissão para ver de acordo com as regras cls.
  • Acesso bloqueado a tabelas: tabelas com regras CLS aplicadas a elas não podem ser lidas fora dos mecanismos do Fabric com suporte.

Para tabelas filtradas, os seguintes comportamentos se aplicam:

  • As regras CLS não restringem o acesso a usuários com as funções Administrador, Membro e Colaborador.
  • Se a regra CLS tiver uma incompatibilidade com a tabela em que está definida, a consulta falhará e nenhuma coluna será retornada. Por exemplo, se CLS for definido para uma coluna que não faz parte da tabela.
  • As consultas de tabelas CLS falharão com um erro se um usuário fizer parte de duas funções diferentes e uma das funções tiver segurança em nível de linha (RLS).
  • As regras CLS só podem ser impostas para objetos de tabela delta parquet.
    • As regras CLS aplicadas a objetos de tabela não Delta bloqueiam o acesso à tabela inteira para membros da função.
  • Se um usuário executar uma select * consulta em uma tabela em que só tenha acesso a algumas das colunas, as regras CLS se comportarão de forma diferente dependendo do mecanismo do Fabric.
    • Blocos de anotações do Spark: a consulta é bem-sucedida e mostra apenas as colunas permitidas.
    • Endpoint de análise SQL: o acesso às colunas é bloqueado para as colunas que o usuário não pode acessar.
    • Modelos semânticos: o acesso à coluna é bloqueado para as colunas que o usuário não pode acessar.

Definir regras de segurança em nível de coluna

Você pode definir a segurança em nível de coluna como parte de uma função de segurança do OneLake para qualquer tabela Delta-parquet na seção Tabelas de um item. O CLS sempre é especificado para uma tabela e está habilitado ou desabilitado. Por padrão, o CLS está desabilitado e os usuários têm acesso a todas as colunas. Os usuários podem habilitar o CLS e remover colunas da lista para revogar o acesso.

Importante

Remover o acesso a uma coluna não negará acesso a essa coluna se outra função conceder acesso a ela.

Use as seguintes etapas para definir a segurança em nível de coluna:

  1. Navegue até o item de dados e selecione Gerenciar segurança do OneLake (versão prévia).

  2. Selecione uma função existente para a qual você deseja definir a segurança de tabela ou pasta ou selecione Novo para criar uma nova função.

  3. Na página de detalhes da função, selecione mais opções (...) ao lado da tabela para a qual você deseja definir CLS e, em seguida, selecione Segurança de coluna (versão prévia).

    Captura de tela que mostra a seleção de

  4. Por padrão, o CLS para uma tabela está desabilitado. Selecione Habilitar CLS ou criar uma nova regra para habilitá-la.

    A interface do usuário é preenchida com uma lista de colunas para essa tabela que os usuários têm permissão para ver. Por padrão, ele mostra todas as colunas.

  5. Para restringir o acesso a uma coluna, marque a caixa de seleção ao lado do nome da coluna e selecione Remover. Pelo menos uma coluna deve permanecer na lista de colunas permitidas.

  6. Selecione Salvar para atualizar a função.

  7. Se você quiser adicionar uma coluna removida, selecione Nova regra. Essa ação adiciona uma nova entrada de regra CLS ao final da lista. Em seguida, use a lista suspensa para escolher a coluna que você deseja incluir no acesso.

  8. Depois de concluir as alterações, selecione Salvar.

Habilitar a segurança do OneLake para o endpoint de análise SQL

Antes de usar a segurança do OneLake com o ponto de extremidade de análise de SQL, você deve habilitar o Modo de Identidade do usuário. Os pontos de extremidade de análise do SQL recém-criados serão padrão para o modo de identidade do usuário, portanto, essas etapas devem ser seguidas para pontos de extremidade de análise de SQL existentes.

Observação

Alternar para o modo Identidade do Usuário só precisa ser feito uma vez por endpoint de análise SQL. Endpoints que não foram trocados para o modo de identidade do usuário continuarão a usar uma identidade delegada para avaliar as permissões.

  1. Navegue até o ponto de extremidade de análise do SQL.

  2. Na experiência do ponto de extremidade de análise do SQL, selecione a guia Segurança na faixa de opções superior.

  3. Selecione a identidade do usuário no modo de acesso do OneLake.

    Captura de tela que mostra a seleção de

  4. No prompt, selecione Sim, use a identidade do usuário.

    Captura de tela que exibe o aviso que o usuário deve aceitar para ativar a segurança do OneLake e permitir acesso de leitura às tabelas.

Agora, o endpoint de análise SQL está pronto para ser usado com a segurança do OneLake.

Segurança em nível de linha e em nível de coluna

A segurança em nível de linha e de coluna pode ser usada em conjunto para restringir o acesso do usuário a uma tabela. No entanto, as duas políticas precisam ser aplicadas usando uma única função de segurança do OneLake. Nesse cenário, o acesso aos dados é restrito de acordo com as regras definidas em uma função.

A segurança do OneLake não dá suporte à combinação de duas ou mais funções em que uma contém regras RLS e outra contém regras CLS. Os usuários que tentam acessar tabelas que fazem parte de uma combinação de função sem suporte recebem erros de consulta.