O Dynamic Data Masking ou DDM é uma ferramenta de mascaramento de dados que é implementado de acordo com as informações sensíveis. Este recurso não criptografa, apenas mascara as informações sem modificá-las ou alterar qualquer parâmetro dentro da aplicação. Dessa forma, podemos deduzir que não é uma ferramenta que garante muita proteção ao banco, servindo apenas de medida local para ocultar informações de grupos desautorizados.
O DDM é útil em situações como:
- Mascarar dados sensíveis
- Proteger informações de terceiros
- Ocultar informações de desenvolvedores em ambientes de produção
O mascaramento suporta dois tipos de configuração:
- Custom String – que é um método que deixa apenas o primeiro e o último caractere visível, ocultando todo o resto
- Default – que irá depender do data type que se deseja mascarar
Segue alguns padrões adotados neste recurso:
- Binary – ASCII;
- Data type – 01.01.1900;
- Numeric – valor 0;
- String – XXXX;
- Email – apenas a primeira letra Axxxxx@xx.com;
- Random – irá substituir o valor por outro aleatório
Restrições
- Colunas que foram criptografadas pelo A.E;
- Column_set ou uma coluna que faça parte do column_set;
- File Stream;
- Computed Column colunas vão retornar dados mascarados;
- Colunas mascaradas não podem servir de chave para o full-text index;
- Quando aplicar o mascaramento, somente usuários com altos privilégios conseguem sobrepor o mascaramento e ler os dados;
- Se fizer uma alteração do data type de uma coluna, o mascaramento é desfeito;
HABILITANDO O DDM NO AZURE SQL
Vamos a prática e como habilitar esta feature no banco.
Antes de iniciar o processo, crie quatro colunas denominadas: RG, CPF, CARD e EMAIL.
Na página inicial do Azure, selecione o seu banco ao qual irá aplicar o DDM. Ao selecionar o banco, vá na opção ‘security‘ e clique no link ’Dynamic Data Masking’
Abaixo, selecione a coluna que deseja aplicar o mascaramento, o modelo e finalize no ADD:
Na próxima imagem, os modelos utilizados para RG e CPF:
Resultado da consulta após configuração do Dynamic Data Masking no Azure. (Usando o SSMS)
Segue abaixo, a sintaxe para criação do mascaramento usando a versão on-premises. O usuário precisa apenas alterar a coluna passando e passar a função de mascaramento desejada.
Select executado por um usuário que possui apenas a permissão de Datareader
Na versão on-premises há uma liberdade maior de customizar os parâmetros da função para melhor se encaixar às colunas criadas.
Enfim, com este post, fecho o assunto sobre segurança. Abordamos os principais tópicos que o exame irá cobrar (à confirmar) e mostrei o passo a passo para implementar tais soluções.
A próxima série de postagens (será longa) iremos abordar todo o conteúdo possível sobre Backup & Restore, espero trazer para vocês um conteúdo completo e com qualidade!
Aqui, está o link para quem quiser pegar o script de criação do DDM no SSMS.
Até o próximo post, fiquem bem!