Anmerkung der Redaktion:Dieses Beispiel zeigt unsere am frühesten, am wenigsten direkt (obwohl noch verfügbar) Methode zur Verwendung von IRI FieldShield zum Schutz von Daten, die in MongoDB-Tabellen gefunden werden. Wie Sie lesen werden, extrahiert das MongoDB Export Utility in diesem Fall Daten und erstellt eine CSV-Datei, die FieldShield extern maskiert, bevor die neu gesicherten Daten wieder in MongoDB geladen werden. Sie können denselben Ansatz für Daten in anderen NoSQL-Datenbanken wie Cassandra und ElasticSearch verwenden.
IRI bietet auch direktere Methoden zum Verschieben von Daten zwischen MongoDB-Sammlungen und IRI-Datenmaskierungs-Engines wie FieldShield oder Voracity. Einen Anleitungsartikel zur direkten Datenmaskierung von strukturierten MongoDB-Daten durch ODBC von 2016 finden Sie hier , und durch den nativen Treiber von MongoDB, der in CoSort v10 (unterstützt FieldShield und Voracity) im2018 unterstützt wird, ist hier. Die neueste (vierte Methode) Methode – die PII in strukturierten und unstrukturierten MongoDB-Sammlungen mit IRI DarkShield finden und maskieren kann – in der GUI seit 2019 ist hier und in der API seit 2021 ist hier.
MongoDB ist eine leistungsstarke NoSQL-Datenbank, die große Datenmengen in Paketen speichern kann, die Sammlungen genannt werden (ähnlich wie Tabellen in relationalen Datenbanken). Obwohl es horizontal skaliert wird (die Datenbank durch Hinzufügen von Maschinen erweitern), hat MongoDB keine interne Möglichkeit, Daten zu maskieren, nachdem sie eingegeben wurden, außer der manuellen Aktualisierung jedes Datensatzes.
Das Beispiel unten schützt MongoDB-Werte extern. Ich erkläre, wie man eine Sammlung in eine CSV-Datei exportiert, IRI FieldShield verwendet, um ein Feld in dieser Datei zu maskieren, und diese Datei wieder in Mongo importiert, damit die Sammlung angemessen geschützt ist. Beachten Sie, dass Sie mit FieldShield eine beliebige Anzahl von Feldern auf 14 verschiedene Arten maskieren können.
Es ist auch möglich, Daten in mehreren strukturierten, halbstrukturierten, unstrukturierten Quellen auf der Grundlage zentral definierter Datenklassen automatisch zu entdecken und zu maskieren, was andere Artikel in diesem Blog (wie dieser) detailliert beschreiben. Dieses Beispiel zeigt jedoch nur die Maskierungsaspekte, basierend auf exportierten Sammlungen.
Daten vor dem Maskieren
Hier sind die Datensätze in der Quelltabelle, die mit MongoVUE angezeigt werden.
Tabellendaten exportieren
Verwenden Sie das MongoDB-Exportdienstprogramm (mongoexport), um den folgenden Befehl auszuführen:
--db <Database Name> --collection <Collection Name> --csv --fields <field1,field2,...> --out <Output Path>
Verwenden der FieldShield-GUI zum Erstellen des Datenmaskierungsauftrags
- Öffnen Sie die IRI-Workbench und starten Sie den Assistenten zum Erstellen eines neuen Schutzauftrags (Maskierung) für FieldShield.
- Wählen Sie einen beliebigen Namen für den Job und klicken Sie auf "Weiter".
- Klicken Sie auf dem Bildschirm "Datenquellen" auf Datenquelle hinzufügen und suchen Sie die von Ihnen erstellte CSV-Datei.
- Klicken Sie auf Quellenoptionen bearbeiten und ändern Sie unter Optionen den Formattyp in CSV und klicken Sie auf OK.
- Klicken Sie auf Metadaten entdecken und folgen Sie dem Assistenten. Es sollte das Trennzeichen als „,“ erkennen und die Felddaten generieren können. Es wird höchstwahrscheinlich ASCII als Datentyp auswählen. Um dies zu ändern, klicken Sie auf den Felddatentyp, den Sie ändern möchten, und wählen Sie dann den Datentyp aus, den Sie verwenden möchten. Wenn Sie mit Ihren Datentypen zufrieden sind, klicken Sie auf Fertig stellen .
- Klicken Sie auf Weiter um zum Bildschirm „Datenziele“ zu gelangen, und klicken Sie auf Datenziel hinzufügen . Benennen Sie dann eine CSV-Datei, die Sie erstellen möchten, und klicken Sie auf OK .
- Klicken Sie auf Zielfeldlayout So rufen Sie den Bildschirm auf, auf dem Sie die Maske anwenden:
- Die untere Tabelle zeigt Ihnen alle Felder, die in Ihrer Zieldatei enthalten sein werden. Wählen Sie den Feldnamen aus, den Sie maskieren möchten, klicken Sie auf den Menüpfeil Feldschutz und wählen Sie die gewünschte Maskierungsfunktion aus dem Dropdown-Feld aus.
- Vervollständigen Sie die Parameter des Dialogfelds und klicken Sie auf OK (zweimal) und Fertig stellen um den Auftragsassistenten abzuschließen.
- Ihr FieldShield-Job sollte dann für Sie generiert werden:
Überprüfen Sie Ihren Datenmaskierungsauftrag, ändern Sie ihn gegebenenfalls und speichern Sie ihn erneut. Führen Sie es über die GUI, die Befehlszeile oder innerhalb einer Anwendung aus, um die Datei zu generieren, die Sie wieder in MongoDB hochladen.
Maskierte Tabelle importieren
Verwenden Sie das MongoDB-Importdienstprogramm (mongoimport), um die Befehle auszuführen:
--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)>
*Um alles zurück in die alte Sammlung zu importieren, müssen Sie ihr mitteilen, welches der Felder Sie eingeben, um die vorhandenen Datensätze abzufragen. Ein Beispiel wäre E-Mail; Es würde alle importierten Datensätze mit ihrer vorhandenen E-Mail-Adresse abgleichen und den Datensatz aktualisieren.
Daten nach Maskierung
Unten sind die Datensätze in der Zieltabelle aufgeführt; mit MongoVUE angezeigt. Beachten Sie, dass im FieldShield-Prozess nur die Kreditkartennummern unkenntlich gemacht wurden; andere Felder hätten gleichzeitig mit ähnlichen oder anderen Funktionen geschützt werden können.
Neben der relativ einfachen Definition und Ausführung von FieldShield-Jobs gibt es weitere Vorteile bei der Verwendung mit Mongo, darunter:
- Geschwindigkeit im Volumen – sowohl IRI als auch die Leistungsarchitekturen von Mongo sind so konzipiert, dass sie linear skalieren
- plattformübergreifende Kompatibilität – wählen Sie aus diesen unterstützten Quellen
- gleichzeitige Datenintegration, Migration, Replikation, Föderation und Berichterstellungsfunktionen in demselben CoSort (SortCL-Programm, Elternteil von FieldShield) Jobskript und E/A-Pass
Wenden Sie sich an , wenn Sie Fragen zu diesem Vorgang haben, oder geben Sie unten einen Kommentar ab.