Pular para o conteúdo principal

Requisitos, cotas e limitações para políticas de filtro de linhas e máscara de colunas

nota

Esta página aborda requisitos, cotas e limitações para políticas de filtro de linha e máscara de coluna. Para políticas GRANT, consulte políticas ABAC GRANT.

Esta página lista requisitos, cotas de política e limitações atuais para políticas de filtro de linha ABAC e de máscara de coluna no Unity Catalog.

requisitos de computação​

Para usar as políticas ABAC, você deve usar uma das seguintes configurações compute :

Para obter orientações sobre como executar cargas de trabalho que exigem tempos de execução mais antigos, consulte Acesso a partir de tempos de execução mais antigos.

Requisito tags regulamentadas​

As políticas ABAC usam tags regulamentadas, não tags não regulamentadas. tags governadas são definidas no nível account com controles de acesso que determinam quem pode criá-las, atribuí-las e gerenciá-las. Para obter detalhes completos, consulte tagsregulamentadas.

nota

Após atribuir ou modificar uma tag, pode levar alguns minutos para que a alteração entre em vigor.

Cotas de política​

Recursos

Limite

Políticas por metastore (todos os objetos)

10.000

Políticas por metastore, anexadas diretamente (Beta)

100

Políticas por catálogo

100

Políticas por esquema

100

Políticas por mesa

50

Principals por política (aplica-se às cláusulas TO e EXCEPT)

20

Condições de coluna por cláusula MATCH COLUMNS

3

Recursos

Limite

Políticas por metastore (todos os objetos)

10.000

Políticas por metastore, anexadas diretamente (Beta)

100

Políticas por catálogo

100

Políticas por esquema

100

Políticas por mesa

50

Principals por política (aplica-se às cláusulas TO e EXCEPT)

20

Condições de coluna por cláusula MATCH COLUMNS

3

Para obter mais detalhes, incluindo as quotas de tags regulamentadas, consulte Limites de serviço.

Limitações do ABAC​

Atributos de identidade em condições de política​

As funções has_identity_attribute_value e has_identity_attribute_tag_match avaliam os atributos de identidade do usuário que está executando a query. Eles são suportados na cláusula WHEN de políticas de máscara de coluna. Aplicam-se as seguintes limitações:

  • Eles não são suportados na cláusula MATCH COLUMNS de políticas de máscara de coluna.
  • Eles não são compatíveis com políticas GRANT ou DENY.
  • A interface de criação de políticas no Catalog Explorer não oferece suporte a funções de atributo. Use SQL para criar essas políticas.

Para padrões de uso, consulte Mascarar uma coluna com base nos atributos do usuário que realiza a consulta.

Acesso a partir de ambientes de execução mais antigos​

compute padrão e dedicados do Databricks Runtime , em versões anteriores à 16.4, não conseguem acessar tabelas protegidas por ABAC. Se você precisar que determinadas cargas de trabalho continuem sendo executadas em um ambiente de execução mais antigo, defina o escopo da política ABAC para um grupo específico em vez de aplicá-la de forma ampla. Adicione apenas os usuários ou entidades que você deseja que a política se aplique a esse grupo e exclua a entidade que executa a carga de trabalho de tempo de execução mais antiga usando a cláusula EXCEPT . Usuários externos ao grupo mantêm acesso total às tabelas subjacentes. Isso permite que essa carga de trabalho continue acessando as tabelas enquanto você faz a transição para um ambiente de execução compatível.

Políticas ABAC em views​

info

Beta

A aplicação de políticas ABAC em views está em Beta. Para usá-lo, um administrador do workspace deve ativar a pré-visualização do ABAC nas views na página Pré-visualizações das configurações do workspace, e você deve usar o Databricks Runtime 19 ou acima. Consulte Gerenciar prévias em nível de workspace.

Os seguintes requisitos e limitações se aplicam a políticas em views:

  • view de métricas não são suportadas : não é possível aplicar políticas de ABAC a view de métricas.
  • Uma única query pode sobrepor no máximo 20 políticas : uma tabela base pode ter uma política, e cada view criada com base nela pode ter sua própria política. Quando uma query lê dados por meio de uma view, todas as políticas aplicáveis se aplicam em cada nível da hierarquia. Se mais de 20 políticas fossem aplicadas, a query falhará.
  • CREATE OR REPLACE VIEW remove tags controladas e políticas anexadas diretamente : a substituição de uma view por uma instrução CREATE OR REPLACE limpa os metadados da view, juntamente com suas tags controladas e quaisquer políticas anexadas diretamente. Para preservar metadados, use ALTER VIEW em vez disso. Se você usar CREATE OR REPLACE, reaplique as tags e políticas controladas posteriormente.
  • Columns with governed tags cannot be dropped until the tags are removed : Assim como com as tabelas base, as tags governadas devem ser removidas da coluna de uma view antes de excluí-la. Caso contrário, as políticas que dependem da tag poderão ser descartadas inadvertidamente.
  • As políticas de ABAC não podem ser aplicadas a uma view compartilhada no lado do destinatário : Quando você compartilha uma view por meio do OpenSharing, o destinatário não pode aplicar políticas de ABAC a essa view compartilhada. Para impor políticas no lado do destinatário, compartilhe as tabelas base e faça com que o destinatário crie views locais do destinatário sobre elas, com políticas de ABAC nas tabelas compartilhadas. Consulte Views locais do destinatário em tabelas compartilhadas.

Políticas ABAC sobre visão materializada e tabelas de transmissão​

Quando um pipeline faz o refresh de uma view materializada ou tabela de transmissão, ele avalia as políticas usando a identidade do proprietário do pipeline ou a identidade de execução (run-as). Se essa identidade estiver sujeita a uma política ABAC, a view materializada ou a tabela de transmissão conterá permanentemente dados mascarados ou filtrados. Para evitar isso, adicione o proprietário do pipeline ou a identidade de execução (run-as) à cláusula EXCEPT das políticas ABAC associadas a todas as tabelas que estão sendo lidas durante o refresh do pipeline. Use a cláusula TO para especificar quais usuários e grupos recebem dados mascarados ou filtrados.

Tabelas OpenSharing com políticas ABAC ou visualizações que fazem referência a elas.​

Tabelas com políticas ABAC ou views que referenciam tabelas com políticas ABAC podem ser compartilhadas apenas via OpenSharing se o proprietário do compartilhamento estiver isento da política (listado na cláusula EXCEPT). A política não governa o acesso do destinatário. Os destinatários podem aplicar suas próprias políticas ABAC a tabelas compartilhadas para impor o controle de acesso do lado deles.

Para obter detalhes sobre como usar o OpenSharing com ABAC, consulte OpenSharing e ABAC.

Clonagem de tabelas com políticas ABAC​

Clones profundos e rasos não são suportados em tabelas com políticas ABAC. Para clonar uma tabela, use um service principal ou grupo listado na cláusula EXCEPT de todas as políticas aplicadas à tabela.

importante

Os diretores isentos visualizam dados não filtrados e não mascarados. Somente identidades confiáveis, como entidades de serviço usadas para cargas de trabalho ETL ou pipeline , devem ser isentas.

Por exemplo, a seguinte política mascara colunas PII para todos os usuários, exceto o etl_service_principal, que pode clonar a tabela:

SQL
CREATE POLICY mask_pii
ON CATALOG prod
COLUMN MASK prod.governance.mask_value
TO `account users`
EXCEPT `etl_service_principal`
FOR TABLES
MATCH COLUMNS
has_tag_value('pii', 'ssn') AS ssn
ON COLUMN ssn;

Índices de Pesquisa de IA e Políticas ABAC​

As políticas ABAC em uma tabela de origem não se aplicam aos índices de pesquisa de AI criados a partir dessa tabela. O índice sincroniza todas as linhas da tabela de origem e não aplica políticas de filtro de linha ou máscara de coluna ao executar consultas.

Para tabelas com máscaras de coluna, você pode excluir as colunas mascaradas do índice usando a configuração "Colunas a sincronizar" .

Várias políticas na mesma tabela ou coluna para o mesmo usuário.​

Apenas um filtro de linha distinto pode ser resolvido em tempo de execução para uma determinada tabela e um determinado usuário, e apenas uma máscara de coluna distinta pode ser resolvida para uma determinada coluna e um determinado usuário. Você pode definir várias políticas, mas quando um usuário consulta a tabela, apenas as condições de uma política precisam ser atendidas. Se vários filtros de linha ou máscaras de coluna distintos se aplicarem ao mesmo usuário e tabela ou coluna, o Databricks bloqueará o acesso e retornará um erro. É permitida a utilização de múltiplas políticas, desde que elas resultem na mesma UDF (função definida pelo usuário) de filtro de linha ou máscara de coluna com os mesmos argumentos.

Para obter detalhes, consulte Filtros e máscaras em conflito.

ABAC em computededicada​

Para limitações do ABAC em compute dedicada, consulte Limitações.

Limitações comuns ao ABAC e aos filtros de linha e máscara de coluna em nível de tabela.​

Para limitações gerais de filtros de linha e máscaras de coluna que se aplicam tanto a filtros de linha e máscaras de coluna em nível ABAC quanto em nível de tabela, consulte Limitações.