Skip to content

Proteção de dados no Databricks

Databricks e segurança de dados

Databricks é uma plataforma de unificada para construir, implementar, compartilhar e manter soluções de IA, análise e engenharia de dados a nível empresarial. A plataforma integra-se com o seu provedor de serviço de nuvem, gerenciando infraestrutura em seu nome. Para que isso ocorra em conformidade com as leis de proteção de dados, como a LGPD e a GDPR, a Databricks opera com base em seis princípios de segurança, privacidade e conformidade:

  1. Gerenciamento de identidade e acesso usando o menor privilégio, incluindo provisionamento, governança de identidade, autenticação, controle de acesso e federação de identidade.
  2. Proteção aos dados em trânsito e em repouso (in transit and at rest), através da classificação dos dados em níveis de sensibilidade, usando criptografia, tokenização e controle de acesso.
  3. Segurança e monitoramento da rede através de serviços dos provedores de nuvem, por exemplo.
  4. Modelo de responsabilidade compartilhada entre a Databricks, o usuário e a plataforma de nuvem utilizada, de modo que cada um é responsável por manter a segurança onde compete.
  5. Observância da privacidade de dados e das necessidades dos setores de compliance, favorecendo a automação ante a multiplicidade de marcos regulatórios.
  6. Monitoramento constante da segurança do sistema em busca de vulnerabilidades e incidentes, o que pode ser feito automaticamente com ferramentas de CI/CD.

Cada princípio pode ser associado a um conjunto de medidas. O gerenciamento de identidade e acesso usando o menor privilégio, por exemplo, pode ser concretizado através: a) do uso de service principals para executar jobs em produção; b) da limitação dos direitos de criação de clusters; c) do armazenamento e uso de segredos etc. Todas essas práticas são recomendadas pela própria Databricks, e podem ser mais bem analisadas nos manuais publicados sobre a plataforma, como, por exemplo, este para AWS.

Classificação dos dados

Para os fins deste artigo, devemos relembrar que a Lei Geral de Proteção de Dados conceitua dado pessoal como sendo a informação relacionada a pessoa natural identificada ou identificável (artigo 5º, inciso I). O dado pessoal sensível representa uma proteção adicional da intimidade garantida pelo artigo 5º, inciso II, da mesma lei. Para mais detalhes, remetemos o leitor a outro artigo.

Proteção de Dados Sensíveis

Escolher a estratégia ideal para proteção de dados é essencial para minimizar riscos. Após identificar e marcar os dados sensíveis no Unity Catalog, é possível adotar diferentes estratégias conforme sua classificação e importância para os negócios. Pode atuar das seguintes formas:

  1. Descarte: removendo a coluna com dados sensíveis que não são usados e não agregam valores.
  2. Hash: aplicação do hash em dados sensíveis para anonimizar e manter a integridade.
  3. Tokenização: substituir os dados sensíveis por tokens para casos em que a recuperação dos dados reais seja necessária.
  4. Criptografia de preservação do formato: protege os dados mantendo seu formato original quando necessário.

O Databricks fornece um recurso de classificação de dados chamado Lakehouse Monitoring, que detecta e marca automaticamente os dados confidenciais. Com base nas tags criadas, os usuários podem definir as políticas mais adequadas de proteção. No entanto, se ainda houver o risco de que dados sensíveis passem pelos filtros criados, os usuários devem considerar outras técnicas de proteção, como hashing.

O Databricks oferece funções integradas de criptografia, hash e mascaramento para simplificar o processo. O rastreio de linhagem de dados pelo unity catalog permite acompanhar tabelas e colunas sensíveis. No vídeo abaixo, temos um exemplo de como hash pode ser aplicado.

A criação de um processo para proteger dados envolve a criptografia. Uma solução possível é a utilização da biblioteca Fernet (from cryptography.fernet import Fernet), em Python. Essa biblioteca possibilita o uso de funções definidas pelo usuário que possibilitam a encriptação de qualquer coluna em um dataframe. Então, a chave criptográfica é armazenada como um segredo (secret) cujo acesso é permitido apenas aos processos de ingestão de dados. Assim, o acesso a dados sensíveis escritos numa delta table fica impossibilitado a usuário não autorizados.

Outro desafio muito comum para quem trabalha com dados está na identificação dos dados sensíveis em milhares de tabelas e, até mesmo, bilhões de registros. Sem uma estrutura adequada para a busca ativa de dados sensíveis naqueles que estão sendo ingeridos, o tamanho do risco permanece oculto.

Conclusão

O Databricks oferece um leque variado de alternativas para a proteção de dados, o que pode gerar confusão. Logo, percebemos que, para gerenciar dados sensíveis de forma eficaz e com agilidade, as organizações devem contar com equipes de dados treinadas e que conhecem as plataformas com as quais estão trabalhando.

Referências

CRIPTOGRAPHY. Fernet (symmetric encryption). Disponível em https://cryptography.io/en/latest/fernet/. Acesso em 20 jan. 2025.

DATABRICKS. Best practices for security, compliance & privacy. Disponível em https://docs.databricks.com/en/lakehouse-architecture/security-compliance-and-privacy/best-practices.html. Acesso em 21 jan. 2025.

DATABRICKS. Introduction to Databricks Lakehouse Monitoring. Disponível em https://docs.databricks.com/en/lakehouse-monitoring/index.html. Acesso em 19 jan. 2025.

DATABRICKS. Security, compliance, and privacy for the data lakehouse. Disponível em https://docs.databricks.com/en/lakehouse-architecture/security-compliance-and-privacy/index.html. Acesso em 22 jan. 2025.

FONSECA, Edson Pires. Lei geral de proteção de dados pessoais - LGPD. 2 ed. Editora JusPODIVM. 2022.

OLIVEIRA, Everson Elias Gonçalves. Classificação dos dados na LGPD. Disponível em https://blogs.datasource.expert/blog/2024/06/21/lgpd-brasil-classificacao-dados.html. Acesso em 21 jan. 2025.