MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mascheratura PII in MongoDB e altri DB NoSQL tramite...

Nota della redazione:questo esempio mostra il nostro primo, meno diretto (sebbene ancora disponibile) metodo di utilizzo di IRI FieldShield per proteggere i dati trovati all'interno delle tabelle MongoDB. Come leggerai, l'utilità di esportazione MongoDB in questo caso estrae i dati e crea un file CSV che FieldShield maschera esternamente, prima di caricare nuovamente i dati appena protetti in MongoDB. Puoi utilizzare questo stesso approccio per i dati in altri database NoSQL come Cassandra ed ElasticSearch.

IRI offre anche metodi più diretti per spostare i dati tra le raccolte MongoDB e i motori di mascheramento dei dati IRI come FieldShield o Voracity. Un articolo di istruzioni sul mascheramento diretto dei dati di dati MongoDB strutturati tramite ODBC da 2016 è qui e tramite il driver nativo di MongoDB supportato in CoSort v10 (che alimenta FieldShield e Voracity) nel 2018 è qui. Il metodo più recente (quarto metodo), che può trovare e mascherare PII in raccolte MongoDB sia strutturate che non strutturate utilizzando IRI DarkShield — nella GUI dal 2019 è qui e nell'API dal 2021 è qui.

MongoDB è un potente database NoSQL in grado di archiviare grandi quantità di dati in pacchetti chiamati raccolte (simili alle tabelle nei database relazionali). Sebbene si ridimensioni orizzontalmente (aggiungendo potenza al database aggiungendo macchine), MongoDB non ha alcun modo interno per mascherare i dati una volta inseriti, a parte l'aggiornamento manuale di ogni record.

L'esempio di seguito protegge i valori MongoDB esternamente. Spiego come esportare una raccolta in un file CSV, utilizzare IRI FieldShield per mascherare un campo in quel file e importare nuovamente quel file in Mongo in modo che la raccolta sia protetta in modo appropriato. Tieni presente che puoi mascherare qualsiasi numero di campi in 14 modi diversi utilizzando FieldShield.

È anche possibile scoprire e mascherare automaticamente i dati in più fonti strutturate, semi-strutturate e non strutturate sulla base di classi di dati definite centralmente, che altri articoli in questo blog (come questo) descrivono in dettaglio. Questo esempio mostra solo gli aspetti di mascheramento, tuttavia, in base alle selezioni esportate.

Dati prima del mascheramento

Ecco i record nella tabella di origine, mostrati con MongoVUE.


Esportazione dei dati della tabella

Utilizza l'utilità MongoDB Export (mongoexport) per eseguire il comando:

--db <Database Name> --collection <Collection Name> --csv --fields <field1,field2,...> --out <Output Path>


Utilizzo della GUI FieldShield per creare il processo di mascheramento dei dati

  • Apri l'IRI Workbench e avvia la procedura guidata Crea nuovo lavoro di protezione (mascheramento) per FieldShield.
  • Scegli il nome che desideri dare al lavoro e fai clic su Avanti.
  • Nella schermata Origini dati, fai clic su Aggiungi origine dati e individua il file CSV che hai creato.
  • Fai clic su Modifica opzioni sorgente e, in Opzioni, cambia il Tipo di formato in CSV e fai clic su OK.
  • Fai clic su Scopri metadati e segui la procedura guidata. Dovrebbe rilevare il separatore come "," ed essere in grado di generare i dati del campo. Molto probabilmente sceglierà ASCII per il tipo di dati. Per modificarlo, fai clic sul tipo di dati del campo che desideri modificare e quindi seleziona il tipo di dati che desideri utilizzare. Quando sei soddisfatto dei tuoi tipi di dati, fai clic su Fine .

  • Fai clic su Avanti per accedere alla schermata Target dati e fai clic su Aggiungi target dati . Quindi nomina un file CSV che desideri creare e fai clic su OK .
  • Fai clic su Layout campo di destinazione per visualizzare la schermata in cui applicherai la maschera:

  • La tabella in basso ti mostrerà tutti i campi che saranno nel tuo file di destinazione. Seleziona il nome del campo che desideri mascherare, fai clic sulla freccia del menu Protezione campo e scegli la funzione di mascheramento desiderata dalla casella a discesa.
  • Completa i parametri della finestra di dialogo, fai clic su OK (due volte) e Fine   per completare la procedura guidata di lavoro.
  • Il tuo lavoro FieldShield dovrebbe quindi essere generato per te:

Rivedi e, se necessario, modifica e salva nuovamente il tuo lavoro di mascheramento dei dati. Eseguilo dalla GUI, dalla riga di comando o da un'applicazione per generare il file che caricherai di nuovo in MongoDB.


Importazione della tabella mascherata

Utilizzare l'utilità MongoDB Import (mongoimport) per eseguire i comandi:

--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)>

*Per importare di nuovo tutto nella vecchia raccolta, devi dirgli quale dei campi stai inserendo per interrogare i record esistenti. Un esempio potrebbe essere l'e-mail; corrisponderebbe a tutti i record di importazione con l'email esistente e aggiornerebbe il record.


Dati dopo il mascheramento

Di seguito sono riportati i record nella tabella di destinazione; mostrato con MongoVUE. Si noti che solo i numeri di carta di credito sono stati oscurati nel processo FieldShield; altri campi avrebbero potuto essere protetti con funzioni simili o diverse contemporaneamente.

Oltre alla definizione e all'esecuzione relativamente facili dei lavori FieldShield, ci sono altri vantaggi nell'utilizzarlo con Mongo, tra cui:

  • velocità in termini di volume:sia l'architettura delle prestazioni IRI che quella di Mongo sono progettate per una scalabilità lineare
  • Compatibilità multipiattaforma :scegli tra queste fonti supportate
  • Integrazione dei dati, migrazione, replica, federazione e funzionalità di reporting simultanee nello stesso script di lavoro CoSort (programma SortCL, genitore di FieldShield) e pass I/O

Contatta  se hai domande su questo processo o commenta di seguito.