MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

PII in MongoDB, Cassandra und Elasticsearch mit DarkShield maskieren:…

Dieser Artikel demonstriert die Verwendung von IRI DarkShield zum Identifizieren und Korrigieren (Maskieren) von personenbezogenen Daten (PII) und anderen sensiblen Daten in MongoDB-, Cassandra- und Elasticsearch-Datenbanken. Obwohl sich diese Schritte hauptsächlich auf das Suchen und Schützen von Daten in MongoDB-Sammlungen konzentrieren, können dieselben Schritte auch für Daten in Cassandra-Tabellen verwendet werden. Siehe auch diesen Artikel zu Elasticsearch.

Beachten Sie, dass dieser Artikel die vierte Methode darstellt, die IRI zum Maskieren von Daten in MongoDB unterstützt, und die zweite Methode für Cassandra. Diese früheren und noch unterstützten Methoden beruhen auf der Erkennung und Anonymisierung strukturierter Daten über IRI FieldShield, während die DarkShield-Methode Textdaten in entweder strukturierten oder unstrukturierten Sammlungen unterstützt. Obwohl DarkShield und FieldShield eigenständige IRI-Datenmaskierungsprodukte sind, sind beide in der IRI-Voracity-Datenverwaltungsplattform enthalten.

Der neueste Ansatz verwendet einige Elemente der Datenklassifizierung , ein integriertes Datenkatalogisierungsparadigma zum Definieren der Suchmethoden, die zum Auffinden von PII verwendet werden, unabhängig von der Datenquelle. Während dieser Artikel eine kleine Einführung in die Datenklassifizierung in Schritt 1 bietet, finden Sie es möglicherweise hilfreich, sich darüber zu informieren, wie die Datenklassifizierung in unseren einheitlichen Ansatz zur Durchführung von Suchen passt. Für weitere Informationen zur Datenklassifizierung im Frontend der IRI Workbench für DarkShield et al. lesen Sie bitte diesen Artikel, bevor Sie fortfahren.

Die Identifizierung und Behebung von PII mit IRI DarkShield umfasst 4 allgemeine Schritte:

(Optionaler) Schritt – Registrieren Sie Ihre Datenquelle(n)

In diesem (optionalen) Schritt werden Datenquellen für eine Mongo-Datenbank, einen Cassandra-Schlüsselraum oder einen Elasticsearch-Cluster registriert. Dadurch können Datenquellen wiederverwendet werden. Daher ist dieser Schritt optional, wenn die gewünschte Datenquelle bereits in der Registrierung vorhanden ist oder wenn Sie beabsichtigen, sie vom Assistenten aus zu definieren.

Schritt 1 – Suchparameter angeben

Hier werden alle Aspekte einer Suche ausgewählt. Zunächst werden eine Quell- und eine Zielsammlung/-tabelle basierend auf der in der Registrierung angegebenen oder im Assistenten erstellten Datenverbindung eingerichtet. Anschließend können Sie die Such- und Korrekturkriterien für Ihre Daten mithilfe von Search Matchern angeben, nach welchen Arten von Informationen gesucht werden soll und wie diese Informationen korrigiert werden sollen. Das Ergebnis dieses Schritts ist eine .Suche Datei.

Schritt 2 – Suche durchführen

Eine Suche kann von einer .search ausgeführt werden Datei. Das Ergebnis ist ein .darkdata Datei, die alle identifizierten PII kommentiert.

Schritt 3 – Behebung (Maskierung)

Die Behebung kann über eine .darkdata erfolgen Datei. Alle identifizierten PII werden in der während der Sucherstellung angegebenen Weise korrigiert.

(Optionaler) Schritt – Registrieren Sie Ihre Datenquellen

Als Voraussetzung müssen Sie die Verbindungen zu Ihren Online-Datenquellen (und Zielen) in der URL-Verbindungsregistrierung registrieren, die sich unter Einstellungen> IRI> URL-Verbindungsregistrierung befindet Dialog in der IRI Workbench.

Alle URL-Verbindungen, einschließlich URI-Verbindungszeichenfolgen für MongoDB, Cassandra und Elasticsearch, können gespeichert werden. Dadurch können die URLs, Authentifizierungsdaten und alle zusätzlichen Parameter von IRI Workbench für die zukünftige Verwendung gespeichert und gespeichert werden.

Schritt 1 – Suchparameter festlegen (.Search-Datei erstellen)

Wählen Sie in der IRI Workbench IDE für DarkShield New Database Discovery Job aus dem DarkShield-Menü. Wählen Sie einen Projektordner aus und geben Sie einen Namen für den Job ein:

Quelle und Ziel angeben

Auf alle Mongo-, Cassandra- oder ElasticsearchURLs, die zuvor erstellt und in der Registrierung gespeichert wurden, kann über den URI zugegriffen werden Dropdown-Menü sowohl für die Quell- als auch für die Zielauswahl. Der Name der entsprechenden MongoDB-Sammlung, Cassandra-Tabelle oder des Elasticsearch-Index muss ebenfalls eingegeben werden:

Eine neue URI kann auch erstellt werden, indem Sie auf Neu klicken Taste. Dadurch wird das Dialogfeld URL-Verbindungsdetails geöffnet. Geben Sie einen Namen für die Verbindung ein, wählen Sie das gewünschte Schema aus, geben Sie den Host ein und geben Sie die Datenbank ein. Wenn kein Port vorhanden ist, wird der Standardport für das Schema angenommen.

Ein Benutzername und ein Passwort können auch bereitgestellt werden, wenn die Datenbank eine Autorisierung erfordert. Alle neuen URL-Verbindungen werden in der URL-Verbindungsregistrierung gespeichert und können als Ziel wiederverwendet werden.

Nachdem eine Quelle angegeben wurde, können Sie mit der nächsten Seite fortfahren, um einen Ziel-URI auszuwählen oder zu erstellen. Das Schema des Ziel-URI wird auf den ausgewählten Quell-URI beschränkt, sodass eine MongoDB-Quelle nur an ein anderes MongoDB-Ziel gesendet werden kann, und ähnlich für Cassandra oder Elasticsearch.

Wenn ein Maskierungsjob ausgeführt wird, werden alle Zeilen in der Quelle an das Ziel angehängt und alle Zeilen mit übereinstimmenden Schlüsseln werden überschrieben. Stellen Sie für Cassandra sicher, dass das Zieltabellenschema mit Daten aus der Quelltabelle kompatibel ist.

Suchabgleicher hinzufügen

Nachdem sowohl eine Quelle als auch ein Ziel angegeben wurden, können Sie zur nächsten Seite gehen, um Suchabgleicher hinzuzufügen. Wählen Sie einen Bibliotheksspeicherort aus, der Muster- oder Regelbibliotheken enthält, die Sie verwenden möchten, und klicken Sie auf Hinzufügen um einen neuen Search Matcher hinzuzufügen.

KeyNameMatcher

Der erste Search Matcher, den wir erstellen, wird verwendet, um den gesamten Wert abzugleichen, der einem beliebigen „Name“-Schlüssel entspricht, der sich in willkürlich verschachtelten JSON-Strukturen befindet, und wendet einen formaterhaltenden Verschlüsselungsalgorithmus an, um ihn zu maskieren. Wir können dies erreichen, indem wir einen JSON-Pfadfilter „$..name“ erstellen. Weitere Informationen zu JSON-Pfaden finden Sie hier.

Da MongoDB-Sammlungen, Cassandra-Tabellen und Elasticsearch-Indizes von DarkShield als JSON-Dokumente geparst werden, kann der Filter auf beide angewendet werden, um jeden Wert zu maskieren, der einem beliebigen „Name“-Schlüssel entspricht.

Um den Inhalt der gefilterten Daten abzugleichen, müssen wir eine neue Datenklasse erstellen . Eine Datenklasse stellt PII und die zugehörigen Matcher dar, die zu ihrer Identifizierung verwendet werden. Diese Matcher können eine beliebige Kombination aus Folgendem enthalten:

  • Muster für reguläre Ausdrücke
  • Nachschlagevorgänge im Dateiwörterbuch festlegen
  • Modelle zur Erkennung benannter Entitäten
  • Bounding Box Matchers (nur Bilder)
  • Gesichtserkennung (nur Bilder)

Sie können Datenklassen innerhalb des Assistenten definieren oder indem Sie Datenklassen und Gruppen öffnen Seite in den IRI-Einstellungen . Die in den Einstellungen definierten Datenklassen können sowohl in FieldShield als auch in DarkShield für andere Datenquellen verwendet werden, einschließlich strukturierter und unstrukturierter Daten.

Wir können ein zugehöriges ALLES erstellen Datenklasse für diesen Matcher, die mit dem gesamten Inhalt des Werts übereinstimmt, da wir ziemlich sicher sind, dass wir in den Werten nur Namen finden werden. Sie können festgelegte Dateisuchen verwenden, die ein Wörterbuch mit Namen enthalten, wenn Sie sich über den Inhalt Ihrer „Name“-Schlüssel nicht sicher sind oder wenn Sie nur eine Teilmenge von Namen maskieren möchten.

Für den Regelnamen Feld des KeyNameMatchers können wir eine vorhandene Datenregel aus dem von uns ausgewählten Bibliotheksspeicherort auswählen oder eine neue Regel erstellen, die die formaterhaltende Verschlüsselung (Format Preserving Encryption, FPE) verwendet, zum Beispiel:

Klicken Sie zum Erstellen einer FPE-Regel auf Erstellen neben dem Regelnamen Wählen Sie im Feld Verschlüsselungs- oder Entschlüsselungsfunktionen aus aus dem angezeigten Datenregel-Assistenten:

Geben Sie eine geeignete Passphrase an, die als Verschlüsselungs-/Entschlüsselungsschlüssel dienen soll. Dabei kann es sich um eine explizite Zeichenfolge, eine Umgebungsvariable oder den Namen einer gesicherten Datei handeln, die diese Zeichenfolge enthält.

E-MailMatcher

Nachdem wir den vorherigen Dialog abgeschlossen und unseren neuen KeyNameMatcher erstellt haben, können wir einen weiteren Search Matcher für E-Mail-Adressen hinzufügen. Klicken Sie einfach auf Hinzufügen um einen weiteren Search Matcher zu erstellen und der Liste hinzuzufügen.

Die IRI-Workbench ist mit einer EMAIL vorinstalliert Datenklasse, die durch Klicken auf Durchsuchen ausgewählt werden kann neben dem Datenklassennamen aus und wählen Sie EMAIL aus aus dem Dropdown-Menü.

Für die Datenregel können Sie die FPE-Regel auswählen, die Sie für den vorherigen Such-Matcher erstellt haben, indem Sie auf Durchsuchen klicken neben dem Regelnamen Feld oder erstellen Sie ein neues Feld mit einer der zahlreichen verfügbaren Maskierungsfunktionen. Ich habe eine einfache Datenschwärzungsfunktion erstellt, die die gesamte E-Mail durch Sternchen ersetzt.

Ihr Search Matcher kann nun der Liste hinzugefügt werden, indem Sie auf OK. klicken

NamesMatcher

Unser letzter Search Matcher wird verwendet, um Namen in frei fließendem Text zu finden. Dazu verwenden wir Named Entity Recognition (NER) Namen anhand des Kontexts des Satzes zu finden. Zunächst müssen wir auf Hinzufügen klicken um einen neuen Search Matcher zu erstellen, und erstellen Sie eine neue Datenklasse namens NAMES_NER:

Um einen NAMES_NER zu erstellen Data Class, müssen wir zuerst das Person Name Finder-Modell en-ner-person.bin herunterladen , aus dem OpenNLP-Sourceforge-Repository. Klicken Sie dann auf Hinzufügen Um einen neuen Matcher hinzuzufügen, wählen Sie NER-Modell aus der Dropdown-Liste. Klicken Sie auf Durchsuchen und zum Speicherort des heruntergeladenen Modells navigieren; zum Beispiel:

Nachdem Sie die neue Datenklasse erstellt haben, klicken Sie auf OK und wählen Sie die zuvor definierte FPE-Datenregel aus, um die Erstellung des Search Matchers abzuschließen:

Beachten Sie, dass unser NamesMatcher und KeyNameMatcher kann überlappende Übereinstimmungen haben. In diesem Fall wählt DarkShield die längste verfügbare Übereinstimmung aus und entfernt alle anderen überlappenden Übereinstimmungen. Auf diese Weise müssen Sie sich keine Sorgen darüber machen, dass DarkShield eine Maskierungsfunktion auf bereits maskierte Werte anwendet.

Nachdem Sie alle gewünschten Matcher hinzugefügt haben, klicken Sie auf „Fertig stellen“, um eine .Suche zu generieren Datei.

Die generierte .search Datei kann überprüft werden, um die Details zu einer Suche anzuzeigen. Dazu gehören die Quell- und Ziel-URIs sowie Informationen zu allen Matchern.

Schritt 2 – Führen Sie eine Suche durch (Erstellen Sie eine .Darkdata Datei)

Abschluss des Dark Data Discovery-Auftrags Der Assistent generiert eine neue .Suche Konfigurationsdatei. Diese Datei enthält die von uns ausgewählten Optionen, einschließlich der Quelle und des Ziels unserer Daten, und die Such-Matcher, die verwendet werden, um PII für die Ermittlung, Übermittlung, Löschung und/oder Anonymisierung zu markieren.

Um die Suche zu starten, klicken Sie mit der rechten Maustaste auf .search Datei, wählen Sie Ausführen als und wählen Sie entwederIRI Search Job oder IRI Search and Remediate Job .

Suchen führt nur eine Suche durch, während Suchen und beheben wird auch versuchen, alle identifizierten Daten zu maskieren (oder zu löschen). Beide erzeugen eine .darkdata Datei, die alle relevanten Daten identifiziert.

Die von mir verwendete Quelle wurde mit zufällig generierten Werten gefüllt, sodass es nicht schaden kann, die generierten .darkdata zu teilen Datei hier. Beim Umgang mit tatsächlich sensiblen Informationen sollten Benutzer jedoch die .darkdata sicherstellen Die Datei wird nicht offengelegt und nach Abschluss der Behebung sicher archiviert oder gelöscht, um PII-Lecks zu verhindern. IRI fügt eine Quarantäneoption zum Speichern der .darkdata hinzu Datei und entsprechende Suchartefakte an einem sicheren Ort; Wenden Sie sich an [email protected], um weitere Informationen zu dieser geplanten Funktion zu erhalten.

Schritt 3 – Behebung (Maskierung)

Auch hier kann das Maskieren oder Löschen von Daten während Suchvorgängen über Suchen und Korrigieren durchgeführt werden Option im Dark Data Discovery-Assistenten. Wenn Sie identifizierte Informationen jedoch nur untersuchen und später korrigieren möchten, führen Sie die Maskierungsjobs aus .darkdata aus Datei, die in der Suche (Schritt 2) auf diese Weise erstellt wurde: 

Klicken Sie mit der rechten Maustaste auf .darkdata Datei, bewegen Sie die Maus über Ausführen als , und klicken Sie auf IRI Remediate Job . Sobald der Job ausgeführt wird, sollten die korrigierten Daten in der Zieldatenbank angezeigt werden.

Hier ist ein Beispiel, das ein Vorher und Nachher einer kleinen MongoDB-Datenbanksammlung zeigt, die die Workbench-Eingabeaufforderung verwendet, um auf den lokalen Mongo-Server zuzugreifen:

SCHLUSSFOLGERUNG

In diesem Artikel haben wir die neue IRI-Fähigkeit für den Zugriff auf unstrukturierte Daten in Mongo-Datenbanken, Cassandra-Schlüsselräumen und Elasticsearch-Clustern unter Verwendung mehrerer Such-Matcher in IRI DarkShield demonstriert. Sie können die generierten .darkdata überprüfen model, um die gefundenen und korrigierten Suchergebnisse anzuzeigen, und überprüfen Sie Ihre Datenbank, um die aktualisierten Tabellen/Sammlungen anzuzeigen.

  1. Wenn personenbezogene Daten in Binärobjekte in Ihren MongoDB-, Cassandra-, Elasticsearch-Sammlungen eingebettet sind, können wir helfen, ihre Extraktion in eigenständige Dateien für DarkShield-Such-/Maskierungsvorgänge und deren erneuten Import zu automatisieren.
  2. li>
  3. Die IRI Workbench IDE, die auf Eclipse™ aufgebaut ist, bildet alle FieldShield-, DarkShield- und zugehörigen Datenmaskierungs- und breiteren Datenverarbeitungsfunktionen in der IRI-Voracity-Plattform als Frontend.
  4. Die URL-Verbindungsregistrierung wird verwendet, um URL-basierte Datenquellen zu konfigurieren und zu speichern, die in DarkShield-Such-/Masken- und CoSort/SortCL (Voracity) ETL-Operationen verwendet werden; B. HDFS, Kafka, S3-Buckets, MongoDB, S/FTP. Diese Registrierung ist ähnlich, aber nicht identisch mit der Datenverbindungsregistrierung in IRI Workbench für Quellen relationaler Datenbanken, wo ODBC-DSNs mit entsprechenden JDBC-Verbindungsprofilen überbrückt werden, um Job-Wizards zu unterstützen, die beide Verbindungen nutzen.
  5. Ein Search Matcher ist eine Zuordnung zwischen einer Datenklasse , die verwendet wird, um die Suchmethode zum Finden und Klassifizieren von PII zu definieren, und eine Datenregel die auf jede Instanz der Datenklasse angewendet wird, die in der Sammlung oder Tabelle gefunden wird. Darüber hinaus können Sie mit Such-Matchern Filter definieren, die verwendet werden können, um den Umfang der Suche zu reduzieren. Dies ist besonders nützlich in Mongo-Sammlungen, Cassandra-Tabellen und Elasticsearch-Indizes, da der Schlüsselname auf die PII hinweisen kann, die im entsprechenden Wert gespeichert ist.