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.

Auditar concessões diretas e políticas de GRANT ABAC em conjunto

dica

Os privilégios efetivos de um usuário em um objeto de dados são a união de concessões diretas e políticas GRANT de ABAC (Beta). Ao revisar o acesso, verifique tanto as concessões diretas quanto as políticas ABAC GRANT. Auditar somente uma superfície pode ocultar permissões não intencionais. Consulte Políticas ABAC GRANT para modelos (Beta).

Preferencialmente/Exceto para segmentação principal

Para políticas de filtro de linha e máscara de coluna, use as cláusulas TO e EXCEPT da política para definir a quais usuários e grupos ela se aplica. Isso mantém a lógica da UDF simples. A cláusula EXCEPT exclui completamente usuários específicos da política para que não sejam submetidos a qualquer filtragem ou mascaramento. Quando for necessária uma lógica condicional complexa, funções de identidade como is_account_group_member() dentro de Funções definidas pelo usuário (UDFs) continuam sendo uma opção válida.

Para políticas GRANT (Beta), TO e EXCEPT são os únicos mecanismos para direcionar principais porque as políticas GRANT não usam UDFs.

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.

OpenSharing e ABAC

Como compartilhar tabelas protegidas por ABAC por meio do OpenSharing, gerenciar políticas do lado do destinatário e configurar visualizações locais do destinatário.