MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mascaramento de PII no MongoDB e outros bancos de dados NoSQL via…


Observação do editor:este exemplo demonstra nosso mais antigo, menos direto (embora ainda disponível) método de usar o IRI FieldShield para proteger os dados encontrados nas tabelas do MongoDB. Como você lerá, o Utilitário de exportação do MongoDB neste caso extrai dados e cria um arquivo CSV que o FieldShield mascara externamente, antes de carregar os dados recém-protegidos de volta ao MongoDB. Você pode usar essa mesma abordagem para dados em outros bancos de dados NoSQL, como Cassandra e ElasticSearch.

IRI também oferece métodos mais diretos para mover dados entre coleções MongoDB e mecanismos de mascaramento de dados IRI como FieldShield ou Voracity. Um artigo sobre como mascarar dados diretos de dados estruturados do MongoDB por meio de ODBC de 2016 está aqui , e por meio do driver nativo do MongoDB compatível com CoSort v10 (alimentando FieldShield e Voracity) em 2018 está aqui. O método mais recente (quarto método) — que pode encontrar e mascarar PII em coleções estruturadas e não estruturadas do MongoDB usando o IRI DarkShield — na GUI desde 2019 é aqui e na API desde 2021 está aqui.



MongoDB é um poderoso banco de dados NoSQL que pode armazenar grandes quantidades de dados em pacotes chamados coleções (semelhantes a tabelas em bancos de dados relacionais). Embora seja dimensionado horizontalmente (adicione energia ao banco de dados adicionando máquinas), o MongoDB não tem uma maneira interna de mascarar os dados depois de inseridos, exceto atualizar manualmente cada registro.

O exemplo abaixo protege os valores do MongoDB externamente. Explico como exportar uma coleção para um arquivo CSV, usar o IRI FieldShield para mascarar um campo nesse arquivo e importar esse arquivo de volta para o Mongo para que a coleção seja protegida adequadamente. Observe que você pode mascarar qualquer número de campos de 14 maneiras diferentes usando o FieldShield.

Também é possível descobrir e mascarar dados automaticamente em várias fontes estruturadas, semiestruturadas e não estruturadas com base em classes de dados definidas centralmente, que outros artigos neste blog (como este) detalham. Este exemplo mostra apenas os aspectos de mascaramento, no entanto, com base nas coleções exportadas.

Dados antes do mascaramento

Aqui estão os registros na tabela de origem, mostrados com MongoVUE.




Exportando os dados da tabela


Use o utilitário MongoDB Export (mongoexport) para executar o comando:
--db <Database Name> --collection <Collection Name> --csv --fields <field1,field2,...> --out <Output Path>




Usando a GUI do FieldShield para criar o trabalho de mascaramento de dados

  • Abra o IRI Workbench e inicie o assistente Criar nova tarefa de proteção (mascaramento) para FieldShield.
  • Escolha o nome que você gostaria de dar ao trabalho e clique em próximo.
  • Na tela Fontes de dados, clique em Adicionar fonte de dados e localize o arquivo CSV que você criou.
  • Clique em Editar opções de origem e, em Opções, altere o tipo de formato para CSV e clique em OK.
  • Clique em Descobrir metadados e siga o assistente. Ele deve detectar o separador como ',' e ser capaz de gerar os dados de campo. Ele provavelmente escolherá ASCII para o tipo de dados. Para alterar isso, clique no tipo de dados de campo que deseja alterar e selecione o tipo de dados que deseja usar. Quando estiver satisfeito com seus tipos de dados, clique em Concluir .


  • Clique em Avançar para acessar a tela Data Targets e clique em Add Data Target . Em seguida, nomeie um arquivo CSV que você deseja criar e clique em OK .
  • Clique em Layout do campo de destino para abrir a tela onde você aplicará a máscara:


  • A tabela inferior mostrará todos os campos que estarão no seu arquivo de destino. Selecione o nome do campo que você deseja mascarar, clique na seta do menu Proteção de campo e escolha a função de mascaramento desejada na caixa suspensa.
  • Complete os parâmetros da caixa de diálogo, clique em OK (duas vezes) e Concluir   para concluir o assistente de trabalho.
  • Seu trabalho do FieldShield deve ser gerado para você:



Revise e, se necessário, modifique e salve novamente seu trabalho de mascaramento de dados. Execute-o na GUI, na linha de comando ou em um aplicativo para gerar o arquivo que você fará upload de volta para o MongoDB.


Importando a tabela mascarada


Use o utilitário MongoDB Import (mongoimport) para executar os comandos:
--db <Database Name> --collection <Collection Name> --type csv --fields <field1,field2,...> --upsert --upsertFields <Field to match to old database*> --file <File Path of the file to import (The file created by the Mask Script)>



*Para importar tudo de volta para a coleção antiga, você deve informar qual dos campos você está inserindo para consultar os registros existentes. Um exemplo seria e-mail; ele corresponderia a todos os registros de importação em relação ao e-mail existente e atualizaria o registro.


Dados após mascaramento


Abaixo estão os registros na tabela de destino; mostrado com MongoVUE. Observe que apenas os números de cartão de crédito foram editados no processo FieldShield; outros campos poderiam ter sido protegidos com funções semelhantes ou diferentes ao mesmo tempo.



Além da definição e execução relativamente fáceis dos trabalhos do FieldShield, há outras vantagens em usá-lo com o Mongo, incluindo:
  • velocidade em volume — as arquiteturas de desempenho IRI e Mongo são projetadas para escalar linearmente
  • compatibilidade entre plataformas — escolha entre estas fontes compatíveis
  • recursos simultâneos de integração, migração, replicação, federação e geração de relatórios de dados no mesmo script de trabalho CoSort (programa SortCL, pai do FieldShield) e passagem de E/S

Entre em contato com  se tiver dúvidas sobre esse processo ou comente abaixo.