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
- DatabricksBeta
Conector do SurveyMonkey chega ao Lakeflow Connect no Databricks
O Lakeflow Connect agora conta com conector nativo para o SurveyMonkey em Beta, permitindo ingestão incremental de pesquisas, respostas e contatos com governança no Unity Catalog.
lakeflow connect · surveymonkey - DatabricksBeta
Lakeflow Connect adiciona conector do Oracle Eloqua em Beta
O Lakeflow Connect agora oferece um conector gerenciado em Beta para o Oracle Eloqua, permitindo ingestão incremental de dados de marketing governados pelo Unity Catalog.
lakeflow connect · oracle eloqua - DatabricksBeta
Ingira métricas do GA4 com o novo conector do Lakeflow Connect
O Lakeflow Connect ganha conector gerenciado em Beta para o Google Analytics 4, permitindo ingestão incremental de relatórios agregados via API com governança no Unity Catalog.
lakeflow connect · google analytics