Mascaramento de Dados

Olá, Pessoal! Hoje vamos falar um pouco sobre Mascaramento de dados.

Primeiro, vamos conceituar o mascaramento de dados: é uma técnica que impede determinados usuários de verem seus dados.

Ou seja, ele é diferente de criptografia de dados, a criptografia é feita nos dados gravados em disco e descriptografada quando o dado é lido, assim se alguém copiar os arquivos de dados do seu banco de dados ele não irá conseguir ler os arquivos por não ter as chaves para descriptografar os dados contidos nos arquivos.

O mascaramento é para impedir que alguém, que tem acesso ao banco, utilize os dados para outro fim que não seja o seu trabalho. Imagine que a sua empresa tenha um Administrador de banco de dados, ele tem que ter acesso ao todo o banco para executar suas funções de DBA, mas ele não precisa ver os dados dos clientes que tem cadastrado no banco. O mascaramento permite que sua empresa tenha este nível de segurança, impedindo que os administradores tenham acesso a dados confidenciais e ainda assim consigam fazer seu trabalho.

Agora vamos mostrar como usar o Data Masking em um banco de dados Azure SQL Database. Como o foco é mascaramento de dados, não mostrarei como criar um Azure SQL Database. Vamos direto à configuração do mascaramento.

Configurando o Mascaramento de Dados

Na imagem abaixo podemos ver que já temos um SQL Database criado, junto ao seu SQL Server ambos na região Sul do Brasil.

Este recurso está em um tier por DTU básico de até 2Gb, sendo este o tier de custo mais baixo possível neste recurso. Escolhemos este tier para mostrar que, mesmo na versão de menor custo, é possível ativar o mascaramento de dados.

O DDM (Dynamic Data Masking) pode ser habilitado de duas formas, pelo portal acessando o banco de dados, no menu da esquerda na sessão Security, e então Dynamic Data Masking.

Nesta tela, o Azure já mapeou as tabelas e campos do seu banco de dados e lista os campos sugeridos para mascaramento. Porém, a decisão sobre quais tabelas e campos mascarar é sua. No meu caso, que estou usando o banco de dados de testes que o Azure proporciona, ele me sugeriu mascarar 6 campos de uma tabela com 15 campos.

O Azure te sugere os campos que realmente precisam ser mascarados, como nomes, e-mails, telefones, nomes de usuário, número de documentos, endereços, nome de cidades, enfim todos os campos que possam identificar uma pessoa serão sugeridos para que sejam mascarados.

Na tela abaixo podem ver que temos a lista de sugestões para o mascaramento, inclusive os campos que já estão mascarados.

Para mascarar os dados temos duas formas, pelo próprio portal ou por script, vamos ver ambas as formas.

Pelo portal:

Esta é a forma mais fácil, é só clicar o no botão “Add mask” do campo que deseja mascarar e pronto, o campo irá sair da listagem e ir de campos recomendados e irá para cima na listagem de “Masking Rules”, e após é só salvar. O Azure SQL Server irá aplicar a regra padrão que é mostrar “XXXX” no lugar o texto que esta gravado no banco de dados. Podem ver na imagem abaixo que o campo “First Name” aparece “XXXX” ao invés do nome cadastrado.

Mas se eu usar um usuário com uma outra permissão posso ver os dados sem o mascaramento? Segue o resultado da mesma query com outro usuário:

Por script:

É tão fácil quanto via interface, porém exige conexão ao SQL Database por alguma ferramenta, como o SSMS (SQL Server Management Studio).

Após estar conectado deve-se utilizar o comando “alter table”, indicando a tabela com o Schema, logo após um “alter column” indicando qual é a coluna que será aplicado o Data Masking e, por fim, um “add Masked” com a função de mascaramento.

No comando abaixo aplicamos o mascaramento na tabela “[SalesLT]. [Customer]”, na coluna “EmailAddress” usando uma função padrão do Azure para mascarar os dados.

Após executar o comando, o Azure exibirá o campo com dados mascarados como se o portal tivesse aplicado. Isso ajuda você a controlar quais campos receberam Data Masking, seja pelo portal ou por comando.

E seguindo a regra do Data Masking, o sistema mostra os dados mascarados ou não, conforme o usuário. Observem na imagem abaixo: os campos que aparecem como XXXX são os mesmos da imagem acima, onde aplicamos o Data Masking.

Complementando, usuários com permissões de Sysadmin, Serveradmin e db_owner veem dados desmascarados; quem tem apenas leitura visualizará os dados mascarados.

Espero que este artigo tenha ajudado. Lembrem-se: proteger seus dados e os dos clientes é essencial e previsto na LGPD (Lei Geral de Proteção de Dados).

Até o próximo post, Pessoal! 😊

 

Por

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Artigos Recentes

Do Zero ao Primeiro Commit com Git + Github

Fale Conosco

Converse com nossos especialistas e descubra como transformar seus dados em informações seguras, disponíveis e acessíveis.

Endereço

Rua Angelo Antonello, 93 – Sala 62, Centro – Farroupilha/RS – CEP: 95170-492

Contato Comercial

Email: [email protected]
Telefone: (54) 3401-1471

Abrir bate-papo
Olá
Podemos ajudar?