Pular para o conteúdo principal

Melhores práticas para políticas ABAC

Considere as seguintes práticas recomendadas para o design de políticas ABAC e governança tag .

Padronizar atributos e nomenclatura

Estabeleça uma taxonomia de tags consistente antes de criar políticas. Definir em conjunto, entre as equipes, os nomes key tag , os valores permitidos e as convenções de nomenclatura. Um conjunto pequeno e bem definido de tags é mais fácil de gerenciar do que uma proliferação de tags ad hoc.

Por exemplo, use uma única tag sensitivity com valores controlados (public, internal, confidential, restricted) em vez de várias tags sobrepostas como is_sensitive, data_class e pii_level.

Controle quem pode definir tags

As tags são um limite de segurança no ABAC. Se um usuário puder alterar as tags de um ativo de dados, ele poderá alterar quais políticas se aplicam a ele. tags incorretas ou ausentes podem deixar os dados desprotegidos ou inacessíveis, pois as políticas só se aplicam quando as tags corretas estão presentes.

  • Restrinja a criação e modificação tag a administradores autorizados de gestão de dados ou governança. Consulte a seção tagsgovernadas" para saber como configurar as permissões tag .
  • As alterações tag de auditoria são feitas regularmente usando a tabela log auditoria do sistema.

Defina regras fallback para dados não classificados.

Não assuma que todos os objetos estão corretamente etiquetados. Utilize a automação para aplicar padrões de etiquetas e implementar mecanismos fallback para dados não classificados:

  • Aplique uma tag restritiva default (como classification : unverified) a novos objetos até que uma gestão de dados os revise.
  • Crie uma política que restrinja o acesso a objetos com a tag default .

Para um exemplo detalhado, consulte Impedir o acesso até que as colunas sensíveis sejam tags.

Defina políticas no âmbito mais amplo aplicável.

Anexe políticas no nível do catálogo ou do esquema sempre que possível. Políticas em nível de tabela são raras e devem ser a exceção.

As políticas com escopo de catálogo são avaliadas em todas as tabelas do catálogo, e as políticas com escopo de esquema são avaliadas em todas as tabelas do esquema. Ao adicionar novas tabelas, as políticas existentes se aplicam desde que suas tags correspondam às condições da política.

Evite a proliferação de políticas.

O ABAC foi projetado para reduzir o número de regras de controle de acesso, não para aumentá-lo. Se as equipes criarem muitas tags e políticas, o resultado será difícil de gerenciar e auditar.

  • Analise os requisitos de governança antes de criar políticas.
  • Comece com um pequeno número de políticas amplas, como o mascaramento de informações pessoais identificáveis (PII) em todo um catálogo ou a filtragem regional de linhas.
  • Evite criar uma política separada para cada caso extremo.
  • Revise as políticas periodicamente e consolide aquelas que se sobrepõem.

Um grande número de políticas e condições complexas podem tornar as verificações de autorização mais lentas. Consulte a seção Considerações sobre desempenho para obter mais detalhes.

Preferencialmente/Exceto para segmentação principal

Quando possível, use as cláusulas TO e EXCEPT da política para definir a quais usuários e grupos a política se aplica. Isso mantém a lógica da UDF simples. A cláusula EXCEPT exclui usuários específicos da política completamente, de modo que eles não estejam sujeitos a qualquer filtragem ou mascaramento. Quando é necessária uma lógica condicional complexa, funções de identidade como is_account_group_member() dentro de UDFs continuam sendo uma opção válida.

Para mais detalhes, consulte Abordagem para segmentação de diretores.

Plano para avaliação dinâmica de políticas

As políticas ABAC são dinâmicas. Ao contrário dos filtros de linha e máscaras de coluna em nível de tabela, que são diretamente visíveis na definição da tabela, as políticas ABAC são avaliadas no momento da consulta com base na identidade do usuário, nas associações a grupos e nas tags do objeto de dados no escopo da política. Isso pode dificultar a compreensão, por parte dos consumidores de dados e dos proprietários das tabelas, de quais regras de acesso se aplicam a uma determinada tabela.

  • Use SHOW EFFECTIVE POLICIES para determinar o que se aplica a uma tabela específica.
  • Documente a taxonomia de suas tags, políticas e abordagem de gerenciamento de grupos para que as equipes possam entender o modelo de governança sem precisar analisar cada política individualmente.
  • Se a transparência for essencial para uma tabela específica, considere usar filtros de linha e máscaras de coluna no nível da tabela para esse caso isolado. Certifique-se de resolver primeiro os possíveis conflitos.

Saber mais

tópico

Descrição

Considerações de desempenho

Como o design da política ABAC afeta o desempenho das consultas e como otimizar e testar suas políticas.

Quando usar ABAC versus filtros de linha e máscaras de coluna em nível de tabela

Diferenças em termos de escopo, propriedade e como escolher entre as duas abordagens.

Delta Sharing e ABAC

Como compartilhar tabelas protegidas por ABAC por meio Delta Sharing, gerenciar políticas do lado do destinatário e configurar a visualização local do destinatário.