MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Maskowanie danych osobowych w MongoDB, Cassandra i Elasticsearch za pomocą DarkShield:…

W tym artykule pokazano, jak używać IRI DarkShield do identyfikowania i korygowania (maskowania) danych osobowych (PII) i innych poufnych danych w bazach danych MongoDB, Cassandra i Elasticsearch. Chociaż te kroki koncentrują się głównie na znajdowaniu i zabezpieczaniu danych w kolekcjach MongoDB, te same kroki można również zastosować do danych w tabelach Cassandra. Zobacz również ten artykuł na temat Elasticsearch.

Zauważ, że ten artykuł przedstawia czwartą metodę obsługiwaną przez IRI do maskowania danych w MongoDB oraz drugą metodę dla Cassandry. Te poprzednie i nadal obsługiwane metody opierają się na wykrywaniu danych strukturalnych i deidentyfikacji za pośrednictwem IRI FieldShield, podczas gdy metoda DarkShield obsługuje dane tekstowe w kolekcjach ustrukturyzowanych lub nieustrukturyzowanych. Chociaż DarkShield i FieldShield są samodzielnymi produktami do maskowania danych IRI, oba są zawarte w platformie zarządzania danymi IRI Vorcity.

Najnowsze podejście wykorzystuje niektóre elementy Klasyfikacji danych , zintegrowany paradygmat katalogowania danych do definiowania metod wyszukiwania wykorzystywanych do znajdowania PII niezależnie od źródła danych. Chociaż ten artykuł zawiera krótkie wprowadzenie do klasyfikacji danych w kroku 1, warto przeczytać, w jaki sposób klasyfikacja danych pasuje do naszego ujednoliconego podejścia do wyszukiwania. Aby uzyskać więcej informacji na temat klasyfikacji danych w interfejsie IRI Workbench dla DarkShield i innych, przeczytaj ten artykuł przed kontynuowaniem.

Identyfikacja i naprawa PII przy użyciu IRI DarkShield obejmuje 4 ogólne kroki:

(Opcjonalny) Krok – Zarejestruj swoje źródła danych

W tym (opcjonalnym) kroku rejestrowane są źródła danych dla bazy danych Mongo, przestrzeni kluczy Cassandra lub klastra Elasticsearch. Pozwala to na ponowne wykorzystanie źródeł danych. W rezultacie ten krok jest opcjonalny, jeśli żądane źródło danych już istnieje w rejestrze lub jeśli planujesz zdefiniować je za pomocą kreatora.

Krok 1 – Określ parametry wyszukiwania

Tutaj wybierane są wszystkie aspekty wyszukiwania. Najpierw konfiguruje się źródłową i docelową kolekcję/tabelę na podstawie połączenia danych określonego w rejestrze lub utworzonego w kreatorze. Następnie możesz określić kryteria wyszukiwania i korygowania danych za pomocą funkcji dopasowujących wyszukiwania, rodzaje informacji, które mają być wyszukiwane, oraz sposób, w jaki te informacje powinny być korygowane. Wynikiem tego kroku jest .wyszukiwanie plik.

Krok 2 – Przeprowadź wyszukiwanie

Wyszukiwanie można uruchomić z .search plik. Wynikiem jest .darkdata plik z adnotacjami do wszelkich zidentyfikowanych informacji umożliwiających identyfikację.

Krok 3 – Naprawa (maskowanie)

Naprawę można wykonać z .darkdata plik. Wszelkie zidentyfikowane informacje umożliwiające identyfikację osoby zostaną usunięte w sposób określony podczas tworzenia wyszukiwania.

(Opcjonalny) Krok – Zarejestruj swoje źródła danych

Jako warunek wstępny należy zarejestrować połączenia ze źródłami danych online (i miejscami docelowymi) w rejestrze połączeń URL, który znajduje się w Preferencje> IRI> Rejestr połączeń URL w IRI Workbench.

Można zapisać wszystkie połączenia URL, w tym parametry połączenia URI dla MongoDB, Cassandra i Elasticsearch. Dzięki temu adresy URL, dane uwierzytelniające i wszelkie dodatkowe parametry mogą być zapisywane i przechowywane przez IRI Workbench do wykorzystania w przyszłości.

Krok 1 – Określ parametry wyszukiwania (utwórz plik .Search)

W IRI Workbench IDE dla DarkShield, wybierz New Database Discovery Job z menu DarkShield. Wybierz folder projektu i wprowadź nazwę zadania:

Określanie źródła i celu

Wszystkie Mongo, Cassandra lub ElasticsearchURL, które zostały wcześniej utworzone i zapisane w rejestrze, są dostępne z URI menu rozwijane dla selektorów Źródło i Cel. Należy również wprowadzić nazwę odpowiedniej kolekcji MongoDB, tabeli Cassandra lub indeksu Elasticsearch:

Nowy identyfikator URI można również utworzyć, naciskając przycisk Nowy przycisk. Spowoduje to otwarcie okna dialogowego Szczegóły połączenia URL. Wprowadź nazwę połączenia, wybierz żądany schemat, wprowadź hosta i wprowadź bazę danych. Jeśli nie ma portu, zostanie przyjęty domyślny port dla schematu.

Nazwę użytkownika i hasło można również podać, jeśli baza danych wymaga autoryzacji. Wszelkie nowe połączenia URL będą zapisywane w Rejestrze połączeń URL i mogą być ponownie użyte jako cel.

Po określeniu źródła możesz przejść do następnej strony, aby wybrać lub utworzyć docelowy identyfikator URI. Schemat docelowego URI będzie ograniczony do wybranego źródłowego URI, więc źródło MongoDB może być wysłane tylko do innego celu MongoDB i podobnie do Cassandra lub Elasticsearch.

Po uruchomieniu zadania maskowania wszystkie wiersze w źródle zostaną dołączone do celu, a wszystkie wiersze z pasującymi kluczami zostaną nadpisane. W przypadku Cassandry upewnij się, że schemat tabeli docelowej jest zgodny z danymi z tabeli źródłowej.

Dodawanie dopasowań wyszukiwania

Po określeniu źródła i celu możesz przejść do następnej strony, aby dodać dopasowania wyszukiwania. Wybierz lokalizację biblioteki zawierającą dowolne biblioteki wzorców lub reguł, których chcesz użyć, i kliknij przycisk Dodaj aby dodać nowe dopasowanie wyszukiwania.

KeyNameMatcher

Pierwszy Search Matcher, który utworzymy, zostanie użyty do dopasowania całej wartości odpowiadającej dowolnemu kluczowi „nazwy” znajdującemu się w arbitralnie zagnieżdżonych strukturach json i zastosowania algorytmu Format Preserving Encryption, aby go zamaskować. Możemy to osiągnąć, tworząc filtr ścieżki JSON „$..name”. Więcej informacji o ścieżkach JSON można znaleźć tutaj.

Ponieważ kolekcje MongoDB, tabele Cassandra i indeksy Elasticsearch są analizowane przez DarkShield jako dokumenty json, filtr można zastosować do obu w celu zamaskowania dowolnej wartości odpowiadającej dowolnemu kluczowi „nazwy”.

Aby dopasować zawartość filtrowanych danych, musimy utworzyć nową Klasę danych . Klasa danych reprezentuje dane osobowe i powiązane elementy dopasowujące używane do ich identyfikacji. Te dopasowania mogą zawierać dowolną kombinację:

  • Wzorce wyrażeń regularnych
  • Ustaw wyszukiwanie słownika plików
  • Modele rozpoznawania nazwanych jednostek
  • Dopasowujące ramki graniczne (tylko obrazy)
  • Rozpoznawanie twarzy (tylko obrazy)

Klasy danych można zdefiniować w kreatorze lub otwierając Klasy i grupy danych na stronie Preferencje IRI . Klasy danych zdefiniowane w preferencjach mogą być używane zarówno w FieldShield, jak i DarkShield dla innych źródeł danych, w tym danych strukturalnych i niestrukturalnych.

Możemy stworzyć powiązane WSZYSTKO Klasa danych dla tego elementu dopasowującego, która będzie pasować na całej zawartości wartości, ponieważ jesteśmy dość pewni, że wszystko, co znajdziemy w wartościach, to nazwy. Możesz użyć zestawu wyszukiwania plików zawierającego słownik nazw, jeśli nie masz pewności co do zawartości kluczy „nazwy” lub jeśli chcesz zamaskować tylko podzbiór nazw.

Dla Nazwy reguły w polu KeyNameMatcher możemy wybrać istniejącą regułę danych z wybranej przez nas lokalizacji biblioteki lub utworzyć nową regułę wykorzystującą szyfrowanie z zachowaniem formatu (FPE), na przykład:

Aby utworzyć regułę FPE, kliknij Utwórz obok Nazwy reguły wybierz Funkcje szyfrowania lub deszyfrowania z kreatora reguł danych, który się pojawi:

Określ odpowiednie hasło, które będzie służyć jako klucz szyfrowania/odszyfrowywania, które może być jawnym ciągiem, zmienną środowiskową lub nazwą zabezpieczonego pliku zawierającego ten ciąg.

Dopasowywanie wiadomości e-mail

Po zakończeniu poprzedniego okna dialogowego i utworzeniu naszego nowego KeyNameMatcher, możemy dodać kolejny Search Matcher dla adresów e-mail. Wystarczy kliknąć Dodaj aby utworzyć kolejne dopasowanie wyszukiwania i dodać je do listy.

Środowisko pracy IRI jest fabrycznie wyposażony w EMAIL Klasa danych, którą można wybrać, klikając Przeglądaj obok Nazwy klasy danych i wybierając EMAIL z menu rozwijanego.

W przypadku reguły danych możesz wybrać regułę FPE utworzoną dla poprzedniego dopasowania wyszukiwania, klikając opcję Przeglądaj obok Nazwy reguły pole lub utwórz nowe z jedną z wielu dostępnych funkcji maskowania. Stworzyłem prostą funkcję redakcji danych, która zastępuje cały e-mail gwiazdkami.

Twój Search Matcher można teraz dodać do listy, klikając OK.

NamesMatcher

Nasz ostatni Search Matcher będzie używany do znajdowania nazw w swobodnym tekście. W tym celu użyjemy rozpoznawania nazwanych jednostek (NER) znaleźć nazwy na podstawie kontekstu zdania. Aby rozpocząć, musimy kliknąć Dodaj aby utworzyć nową wyszukiwarkę dopasowującą i utworzyć nową klasę danych o nazwie NAMES_NER:

Aby utworzyć NAMES_NER Data Class, najpierw musimy pobrać model Person Name Finder, en-ner-person.bin , z repozytorium OpenNLP sourceforge. Następnie kliknij Dodaj aby dodać nowe dopasowanie, wybierz Model NER z listy rozwijanej. Kliknij Przeglądaj i przejdź do lokalizacji pobranego modelu; na przykład:

Po utworzeniu nowej klasy danych kliknij OK i wybierz zdefiniowaną wcześniej regułę danych FPE, aby zakończyć tworzenie dopasowania wyszukiwania:

Zwróć uwagę, że nasz NamesMatcher i KeyNameMatcher mogą mieć nakładające się dopasowania. Jeśli tak się stanie, DarkShield wybiera najdłuższy dostępny mecz i usuwa wszelkie inne nakładające się dopasowania. W ten sposób nie musisz się martwić, że DarkShield zastosuje funkcję maskowania na już zamaskowanych wartościach.

Po dodaniu wszystkich żądanych dopasowań kliknij Zakończ, aby wygenerować .search plik.

Wygenerowane .search plik można sprawdzić, aby pokazać szczegóły dotyczące wyszukiwania. Obejmuje to źródłowy i docelowy identyfikator URI oraz informacje o wszystkich dopasowaniach.

Krok 2 – Przeprowadź wyszukiwanie (Utwórz .Darkdata Plik)

Ukończenie Dark Data Discovery Job kreator generuje nowe .wyszukiwanie plik konfiguracyjny. Ten plik zawiera wybrane przez nas opcje, w tym źródło i cel naszych danych, a także elementy wyszukiwania, które będą używane do oznaczania danych osobowych w celu odkrycia, dostarczenia, usunięcia i/lub deidentyfikacji.

Aby rozpocząć wyszukiwanie, kliknij prawym przyciskiem myszy .szukaj plik, wybierz Uruchom jako i wybierz IRI Search Job lub Zlecenie wyszukiwania i naprawy IRI .

Szukaj przeprowadzi tylko wyszukiwanie, podczas gdy Wyszukaj i napraw podejmie również próbę zamaskowania (lub usunięcia) wszelkich zidentyfikowanych danych. Oba wygenerują .darkdata plik identyfikujący wszelkie interesujące dane.

Źródło, którego użyłem, zostało wypełnione losowo wygenerowanymi wartościami, więc nie ma nic złego w udostępnianiu wygenerowanych .darkdata plik tutaj. Jednak podczas obsługi poufnych informacji użytkownicy powinni upewnić się, że .darkdata plik nie jest ujawniany i jest bezpiecznie archiwizowany lub usuwany po zakończeniu działań naprawczych, aby zapobiec wyciekowi informacji umożliwiających identyfikację. IRI doda opcję kwarantanny do przechowywania .darkdata plik i odpowiadające mu artefakty wyszukiwania w bezpiecznej lokalizacji; skontaktuj się z [email protected], aby uzyskać szczegółowe informacje na temat tej planowanej funkcji.

Krok 3 – Naprawa (maskowanie)

Ponownie maskowanie lub usuwanie danych można wykonać podczas operacji wyszukiwania za pomocą Wyszukaj i napraw w kreatorze Dark Data Discovery. Jeśli jednak chcesz tylko zbadać zidentyfikowane informacje i naprawić je później, uruchom zadania maskowania z .darkdata plik utworzony w wyszukiwarce (krok 2) w ten sposób: 

Kliknij prawym przyciskiem myszy .darkdata plik, najedź myszą na Uruchom jako i kliknij Zadanie naprawcze IRI . Po uruchomieniu zadania skorygowane dane powinny pojawić się w docelowej bazie danych.

Oto przykład pokazujący przed i po małej kolekcji bazy danych MongoDB przy użyciu wiersza poleceń Workbench w celu uzyskania dostępu do lokalnego serwera Mongo:

WNIOSEK

W tym artykule zademonstrowaliśmy nową zdolność IRI do uzyskiwania dostępu do nieustrukturyzowanych danych w bazach danych Mongo, przestrzeniach kluczy Cassandra i klastrach Elasticsearch przy użyciu kilku dopasowań wyszukiwania w IRI DarkShield. Możesz sprawdzić wygenerowane .darkdata modelu, aby zobaczyć wyniki wyszukiwania, które zostały znalezione i skorygowane, oraz sprawdź swoją bazę danych, aby zobaczyć zaktualizowane tabele/kolekcje.

  1. Jeśli dane osobowe są osadzone w obiektach binarnych w kolekcjach MongoDB, Cassandra, Elasticsearch, możemy pomóc zautomatyzować ich wyodrębnianie do samodzielnych plików dla operacji wyszukiwania/maskowania DarkShield i ich ponownego importu.
  2. IRI Workbench IDE, oparte na Eclipse™, obsługuje wszystkie funkcje maskowania FieldShield, DarkShield i powiązanych danych — oraz szersze możliwości obsługi danych — na platformie IRI Vorcity.
  3. Rejestr połączeń URL służy do konfigurowania i zapisywania źródeł danych opartych na adresach URL używanych w operacjach ETL wyszukiwania/maskowania DarkShield i CoSort/SortCL (Voracity); np. łyżki HDFS, Kafka, S3, MongoDB, S/FTP. Ten rejestr jest podobny, ale nie identyczny, z rejestrem Data Connection w IRI Workbench dla źródeł relacyjnych baz danych, w których DSN ODBC są połączone z odpowiednimi profilami połączeń JDBC na korzyść kreatorów zadań wykorzystujących oba połączenia.
  4. Dopasowanie wyszukiwania to powiązanie między klasą danych , który służy do definiowania metody wyszukiwania służącej do znajdowania i klasyfikowania danych osobowych oraz Reguły danych która zostanie zastosowana do dowolnej instancji klasy danych znalezionej w kolekcji lub tabeli. Dodatkowo Search Matchers pozwalają zdefiniować filtry, których można użyć do ograniczenia zakresu wyszukiwania. Jest to szczególnie przydatne w kolekcjach Mongo, tabelach Cassandra i indeksach Elasticsearch, ponieważ nazwa klucza może wskazywać na dane osobowe przechowywane w odpowiedniej wartości.

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis kontra MongoDB

  2. Wszystko, co musisz wiedzieć o kliencie MongoDB

  3. Usuń MongoDB()

  4. Zapytanie Mongo używające mongoid w aplikacji rails powodujące błąd przekroczenia limitu czasu kursora

  5. Dlaczego kierunek indeksu ma znaczenie w MongoDB?