Práticas recomendadas para políticas ABAC

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

Padronizar atributos e nomenclatura

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

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

Controlar quem pode definir marcas

A marcação é um limite de segurança no ABAC. Se um usuário puder alterar marcas em um ativo de dados, ele poderá alterar quais políticas se aplicam a ele. Marcas incorretas ou ausentes podem deixar os dados desprotegidos ou inacessíveis porque as políticas só se aplicam quando as marcas certas estão em vigor.

  • Restrinja a criação e a modificação de tags a administradores de dados autorizados ou administradores de governança. Consulte marcas governadas para saber como configurar permissões de marca.
  • Audite as alterações nas tags regularmente usando a tabela do sistema de log de auditoria.

Definir regras de fallback para dados não classificados

Não suponha que todos os objetos estejam marcados corretamente. Use a automação para impor padrões de marcação e implementar mecanismos de fallback para dados não classificados:

  • Aplique uma marca restritiva padrão (como classification : unverified) a novos objetos até que um administrador de dados os examine.
  • Crie uma política que restrinja o acesso a objetos com a marca padrão.

Para obter um exemplo detalhado, consulte Impedir o acesso até que colunas confidenciais sejam marcadas.

Definir políticas no escopo mais alto aplicável

Anexe políticas no nível de catálogo ou esquema quando possível. As políticas de 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 relação a todas as tabelas do catálogo e as políticas com escopo de esquema são avaliadas em relação a todas as tabelas no esquema. Quando você adiciona novas tabelas, as políticas existentes são aplicadas desde que suas etiquetas correspondam às condições da política.

Evitar expansão de política

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

  • Analise seus requisitos de governança antes de criar políticas.
  • Comece com um pequeno número de políticas abrangentes, como mascaramento de PII em um catálogo ou filtragem de linhas por região.
  • Evite criar uma política separada para cada caso excepcional.
  • Examine as políticas periodicamente e consolide as sobrepostas.

Um grande número de políticas e condições complexas pode atrasar as verificações de autorização. Confira as considerações de desempenho para obter detalhes.

Preferir TO/EXCEPT para direcionamento 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 UDF simples. A EXCEPT cláusula exclui inteiramente usuários específicos da política para que eles não estejam sujeitos a nenhuma filtragem ou máscara. Quando a lógica condicional complexa é necessária, funções de identidade como is_account_group_member() dentro de UDFs permanecem uma opção válida.

Para obter detalhes, consulte Abordagem para principais de destino.

Planejar a avaliação de política dinâmica

As políticas ABAC (Controle de Acesso Baseado em Atributos) são dinâmicas. Ao contrário dos filtros de linha no nível da tabela e das máscaras de coluna, que são diretamente visíveis na definição da tabela, as políticas ABAC são avaliadas no momento da consulta baseiam-se na identidade do usuário, nas associações de grupo e nas etiquetas no objeto de dados dentro do escopo da política. Isso pode dificultar que os consumidores de dados e os proprietários de tabelas entendam 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 sua taxonomia de marcação, políticas e abordagem de gerenciamento de grupo para que as equipes possam entender o modelo de governança sem inspecionar cada política individualmente.
  • Se a transparência for essencial para uma tabela específica, considere usar filtros de linha no nível da tabela e máscaras de coluna para esse caso isolado. Certifique-se de resolver possíveis conflitos primeiro.

Saiba mais

Tópico Description
Considerações sobre desempenho Como o design de política do ABAC afeta o desempenho da consulta e como otimizar e testar suas políticas.
Quando usar ABAC versus filtros de linha e máscaras de coluna de nível de tabela Diferenças no escopo, na propriedade e em como escolher entre as duas abordagens.
Compartilhamento Delta e ABAC Como compartilhar tabelas protegidas pelo ABAC por meio do Compartilhamento Delta, manipular políticas do lado do destinatário e configurar exibições locais de destinatário.