Oracle Data Safe – Data Discovery e Data Masking

O Oracle Data Safe é uma ferramenta que reúne as principais informações relacionadas à segurança do seu banco de dados e atualmente ele é gratuito para a analise de banco que estão na cloud:

Ele é divido em 5 categorias: Security Assessment, User Assessment, Data Discovery, Data Masking e Activity Auditing, hoje vou falar um pouco sobre a parte de Discovery e de Masking que podem ser utilizados para descobrir que tipo de dados você possuí e aplicar uma máscara para proteger os dados .

Aqui fica o aviso: não rode o Data Masking em ambientes produtivos! Você pode acabar perdendo todos os seus dados.

Ativação

A ativação do Data Safe é bem simples e direta, basta ir na página da ferramenta que fica na lista de serviços do lado esquerdo na categoria Database Related Services ou usando a barra de pesquisa.

Na página do serviço, clique no botão Enable Data Safe:

Se você possuir todas as permissões necessárias, a seguinte mensagem de erro não vai aparecer:

A forma mais simples de ativar o Data Safe é fazer parte do grupo de administradores do tenancy, mas caso isso não seja possível, você precisa das seguintes permissões de IAM:

Allow group Data-Safe-Admins to manage data-safe in tenancy
Allow group Data-Safe-Admins to inspect groups in tenancy

Aqui você pode ter acesso a outros tipos de permissões que podem ser dadas: https://docs.oracle.com/en-us/iaas/data-safe/doc/create-oracle-data-safe-administrators-group.html

Registrando um banco de dados

Após o Data Safe ter sido ativado na sua conta, você pode adicionar uma novo database para ser analisado por ele, se o banco for do tipo Autonomous (aqui estou usando um Always Free), basta ir na página do banco e clicar em Register que ele vai fazer o resto sozinho

Se for um DBCS ou um banco On-Premise, o registro é feito no console do Data Safe na aba Targets:

Após o Target adicionado, você pode gerenciar(remover) ele na aba de Target:

Depois de adicionado o Data Safe já roda uma análise do banco e você já pode começar a acompanhar na aba home:

Data Discovery

Como disse no começo, a ideia aqui é falar do Data Discovery que nos ajuda a entender melhor o nosso banco de dados, na aba Home, clique em Data Discovery e selecione o nosso target, aqui vou selecionar o banco orcl que já estava usando para alguns testes, nesse banco eu importei o Schema HR, adicionei uma coluna chamada CPF (que é o dado que vamos procurar) na tabela employees e inseri alguns dados nela.

Após selecionar o Target, precisamos escolher o modelo de como vamos fazer a analise dos dados Sensíveis, podemos usar uma analise já existente ou criar a nossa, nesse caso vamos criar uma nova, recomendo marcar a opção Show and Save Data para que ao final(Passo 3) ele exiba um exemplo do que encontrou.

Selecione um compartimento para salvar o modelo.

Agora podemos escolher um ou vários schemas que serão analisados:

Escolha em qual schema deseja rodar a analise.

Essa é uma das melhores partes do Data Safe, ele já vem com diversos modelos de análise para o nosso discovery:

No nosso caso que estamos procurando por CPF, você pode tanto usar a barra de pesquisa no canto superior direito quanto ir em Identification Information -> Personal Identifiers -> Brazil CPF Number.

Caso clique no nome do padrão, ele te exibe uma tela com o que ele vai procurar:

Perceba que ele já te da um resumo do tipo de dados que está procurando( Sensitive Type Description), ele também mostra que pode procurar tanto pelo nome da coluna (Column Name Pattern), pelo comentário e pelo formato do dado armazenado(Column Data Pattern) que é o importante aqui para a nossa analise, além disso ele já nos da uma sugestão do tipo de máscara a ser aplicada (Default Masking Format), clique no checkbox e depois em Continue, um job vai ser criado:

Você pode aguardar com essa tela aberta ou ir na aba Jobs para acompanhar o status.

Após o Job ter finalizado, no passo 3 você consegue validar o que o Data Discovery encontrou, como pode ver, ele encontrou a coluna CPF da tabela EMPLOYEES e existem 107 possíveis linhas com o padrão procurado:

Ao clicar em Report, você tem um resumo do que foi encontrado e já pode aplicar o Data Mask:

Além disso você pode exportar esse relatório em PDF ou XLS:

No relatório você tem acesso ao que foi identificado no Data Discovery:

Data Masking

Agora que já conhecemos o conteúdo do nosso banco de dados, podemos aplicar o Mascaramento de dados (Data Masking) e aqui fica o mesmo aviso que dei no começo: NÃO APLIQUE O DATA MASKING EM AMBIENTES PRODUTIVOS!

O procedimento para aplicar o Data Masking é bem parecido com o que fizemos para o Data Discovery, precisamos escolher um target e após isso vamos preenchendo o wizard:

Na parte de escolhermos qual a Masking Policy, podemos usar tanto uma já existente ou uma nova, aqui vamos usar uma nova, nessa mesma tela, precisamos escolher como ele vai julgar o que é dado sensível, ele pode usar um Discovery que já criamos ou um novo, aqui vou usar um já existente (Pick From Library).

Selecione o Discovery que executou no passo anterior:

Um job vai ser iniciado:

Note que no meu caso, nenhum dado Sensível foi encontrado, isso se deve pois não tive nenhuma alteração em meu ambiente entre o Data Discovery e o Data Masking, por isso basta clicar em View All sensitive Columns

Nosso campo de CPF vai ser exibido:

No passo 2 (Define Policy) é onde a mágica acontece, nele vamos escolher o que queremos que seja feito com o nosso campo de CPF, se você clicar em Expand All , vai ver que o formato “Format preserving Randomization” já foi escolhido, essa politica vai alterar os valores do campo mas vai preservar o seu formato.

Cliquem em Confirm Policy e ele vai te perguntar quando deseja executar o Job que vai mascarar os dados, no meu caso eu escolhi Right Now para que seja executado assim que eu confirmar que está tudo certo:

Ele vai pedir para que confirme o ambiente onde está conectado e vai executar o mascaramento, caso esteja tudo certo, basta clicar em submit:

E um job vai ser executado:

Resultado

Nesse primeiro exemplo, usei a opção de apenas substituir os valores mas preservar o formato, esse era o nosso conteúdo original:

E abaixo nossos dados após o Masking:

Note que o Masking foi aplicado apenas na coluna CPF e que os outros dados estão como o original.

Permissões de banco

Para cada um dos recursos do Data Safe, uma permissão especifica a nível de banco de dados é necessária, nesse link: https://docs.oracle.com/en-us/iaas/data-safe/doc/grant-and-revoke-roles-oracle-data-safe-service-your-target-database.html você tem acesso a todas elas, é importante notar que para cada tipo de ambiente (Db system ou Autonomous) existe um comando diferente, para poder executar o Data Masking a permissão necessária é a DS$DATA_MASKING_ROLE que pode ser concedida com o seguinte comando:

EXECUTE DS_TARGET_UTIL.GRANT_ROLE('DS$DATA_MASKING_ROLE');

chevron_left
chevron_right