Uso de VARIANT estendido para colunas ARRAY e MAP em máscaras ABAC
Agora você pode usar uma única função VARIANT para mascarar colunas dos tipos ARRAY e MAP em políticas ABAC.
O que mudou
O Databricks agora permite que funções de máscara baseadas no tipo VARIANT sejam aplicadas a colunas do tipo ARRAY e MAP, além de STRUCT. Isso simplifica a governança ao reduzir a quantidade de UDFs necessárias para mascarar dados complexos.
Para que serve
Imagine que você precisa ocultar dados sensíveis em tabelas que contêm listas ou dicionários de informações, e quer reutilizar a mesma lógica de segurança sem criar funções separadas para cada tipo de dado.
- Mascarar colunas
ARRAYeMAPusando uma única função baseada emVARIANT. - Reduzir o número de funções definidas pelo usuário (UDFs) e políticas de acesso para manter.
- Reconstruir estruturas de dados complexas preservando o esquema original após o mascaramento.
Como usar
Crie uma função SQL que aceite e retorne VARIANT, utilizando schema_of_variant() para identificar o tipo e reconstruir o valor com as funções array() ou map().
CREATE OR REPLACE FUNCTION generic_mask(val VARIANT)
RETURNS VARIANT
RETURN CASE
WHEN schema_of_variant(val) = 'ARRAY<STRING>' THEN
to_variant_object(array('redacted'))
WHEN schema_of_variant(val) = 'OBJECT<key1: STRING, key2: STRING>' THEN
to_variant_object(map('key1', 'redacted', 'key2', 'redacted'))
ELSE NULL::VARIANT
END;
O que acontece nesse código:
- A função recebe a coluna convertida automaticamente para o formato
VARIANT. - O comando
schema_of_variant(val)verifica a estrutura exata de cada linha em tempo de execução. - O bloco
CASEaplica a lógica de substituição adequada para cada tipo de esquema detectado. - O valor modificado é encapsulado por
to_variant_object()e retornado, sendo convertido de volta ao tipo original pelo Databricks.
Limitações e requisitos
- Requer o Databricks Runtime 19 ou superior para colunas
ARRAYeMAP. - Colunas complexas contendo
CHAR,VARCHAR,GEOMETRY,GEOGRAPHYouTIMEnão podem ser mascaradas comVARIANT. - As chaves de colunas do tipo
MAPprecisam ser estritamente do tipoSTRING. - Essa conversão funciona exclusivamente dentro de políticas de máscara de coluna e filtro de linha do Unity Catalog (ABAC), e não em consultas SQL gerais.
- unity catalog
- abac
- variant
- governance
- security
VARIANT cast extends to ARRAY and MAP columns in ABAC column masks
Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.
Relacionadas
- DatabricksGA
Repositórios de pacotes em nível de workspace para Databricks Apps
Administradores de workspace podem configurar repositórios padrão de pacotes Python e npm para Databricks Apps.
databricks apps · workspace settings - DatabricksGA
Redimensione partições de stateful streaming sem perder o checkpoint no Databricks
Agora é possível alterar o número de partições de shuffle em queries Structured Streaming e pipelines Lakeflow sem descartar o estado do checkpoint.
structured streaming · lakeflow - DatabricksAtualização
Google Gemini 4 Argon disponível no Unity Gateway do Databricks
O modelo multimodal Google Gemini 4 Argon já pode ser acessado via Foundation Model APIs e Unity Gateway.
unity catalog · foundation model apis