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

Maskowanie danych osobowych w MongoDB i innych bazach danych NoSQL za pośrednictwem…

Uwaga redaktora:ten przykład pokazuje nasz najwcześniejszy, najmniej bezpośredni (choć nadal dostępna) metoda używania IRI FieldShield do ochrony danych znalezionych w tabelach MongoDB. Jak można przeczytać, narzędzie MongoDB Export Utility w tym przypadku wyodrębnia dane i tworzy plik CSV, który FieldShield maskuje zewnętrznie przed załadowaniem nowo zabezpieczonych danych z powrotem do MongoDB. Możesz użyć tego samego podejścia do danych w innych bazach danych NoSQL, takich jak Cassandra i ElasticSearch.

IRI oferuje również bardziej bezpośrednie metody przenoszenia danych między kolekcjami MongoDB i silnikami maskowania danych IRI, takimi jak FieldShield lub Vorcity. Poradnik dotyczący bezpośredniego maskowania ustrukturyzowanych danych MongoDB przez ODBC z2016 r. jest tutaj , a dzięki natywnemu sterownikowi MongoDB obsługiwanemu w CoSort v10 (zasilającym FieldShield i Voracity) w 2018 r. jest już dostępny. Najnowsza (czwarta metoda) metoda, która umożliwia wyszukiwanie i maskowanie informacji umożliwiających identyfikację osób zarówno w ustrukturyzowanych, jak i nieustrukturyzowanych kolekcjach MongoDB przy użyciu funkcji IRI DarkShield — w GUI od 2019 to tutaj i w interfejsie API od 2021 jest tutaj.

MongoDB to potężna baza danych NoSQL, która może przechowywać duże ilości danych w pakietach zwanych kolekcjami (podobnie jak tabele w relacyjnych bazach danych). Mimo że skaluje się w poziomie (dodaj moc do bazy danych przez dodanie maszyn), MongoDB nie ma wewnętrznego sposobu maskowania danych po ich wprowadzeniu, poza ręczną aktualizacją każdego rekordu.

Poniższy przykład chroni wartości MongoDB zewnętrznie. Wyjaśniam, jak wyeksportować kolekcję do pliku CSV, użyć IRI FieldShield do zamaskowania pola w tym pliku i zaimportować ten plik z powrotem do Mongo, aby kolekcja była odpowiednio chroniona. Pamiętaj, że za pomocą FieldShield możesz maskować dowolną liczbę pól na 14 różnych sposobów.

Możliwe jest również automatyczne wykrywanie i maskowanie danych w wielu ustrukturyzowanych, częściowo ustrukturyzowanych, nieustrukturyzowanych źródłach na podstawie centralnie zdefiniowanych klas danych, które szczegółowo opisano w innych artykułach na tym blogu (takim jak ten). Ten przykład pokazuje jednak tylko aspekty maskowania na podstawie wyeksportowanych kolekcji.

Dane przed maskowaniem

Oto rekordy w tabeli źródłowej, pokazane w MongoVUE.


Eksportowanie danych tabeli

Użyj narzędzia MongoDB Export (mongoexport), aby uruchomić polecenie:

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


Korzystanie z GUI FieldShield do tworzenia zadania maskowania danych

  • Otwórz IRI Workbench i uruchom kreatora Utwórz nowe zadanie ochrony (maskowanie) dla FieldShield.
  • Wybierz nazwę, którą chcesz nadać pracy, i kliknij Dalej.
  • Na ekranie Źródła danych kliknij Dodaj źródło danych i zlokalizuj utworzony plik CSV.
  • Kliknij Edytuj opcje źródła i w sekcji Opcje zmień typ formatu na CSV i kliknij OK.
  • Kliknij Odkryj metadane i postępuj zgodnie z instrukcjami kreatora. Powinien wykrywać separator jako „,” i być w stanie wygenerować dane pola. Najprawdopodobniej wybierze ASCII jako typ danych. Aby to zmienić, kliknij typ danych pola, który chcesz zmienić, a następnie wybierz typ danych, którego chcesz użyć. Gdy będziesz zadowolony ze swoich typów danych, kliknij Zakończ .

  • Kliknij Dalej aby przejść do ekranu celów danych, i kliknij Dodaj cel danych . Następnie nazwij plik CSV, który chcesz utworzyć, i kliknij OK .
  • Kliknij Układ pola docelowego aby wyświetlić ekran, na którym zastosujesz maskę:

  • Tabela dolna pokaże wszystkie pola, które będą znajdować się w pliku docelowym. Wybierz nazwę pola, które chcesz zamaskować, kliknij strzałkę menu Ochrona pola i wybierz żądaną funkcję maskowania z menu rozwijanego.
  • Wypełnij parametry okna dialogowego, kliknij OK (dwa razy) i Zakończ   aby zakończyć pracę kreatora.
  • Twoje zadanie FieldShield powinno zostać wygenerowane dla Ciebie:

Przejrzyj i, jeśli to konieczne, zmodyfikuj i ponownie zapisz zadanie maskowania danych. Uruchom go z GUI, wiersza poleceń lub z aplikacji, aby wygenerować plik, który prześlesz z powrotem do MongoDB.


Importowanie zamaskowanej tabeli

Użyj narzędzia MongoDB Import (mongoimport), aby uruchomić polecenia:

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

*Aby zaimportować wszystko z powrotem do starej kolekcji, musisz wskazać, które z pól wprowadzasz do zapytania względem istniejących rekordów. Przykładem może być e-mail; dopasuje wszystkie rekordy importu do ich istniejących e-maili i zaktualizuje rekord.


Dane po maskowaniu

Poniżej znajdują się rekordy w tabeli docelowej; pokazane z MongoVUE. Zauważ, że tylko numery kart kredytowych zostały zredagowane w procesie FieldShield; inne pola mogły być jednocześnie chronione podobnymi lub różnymi funkcjami.

Oprócz stosunkowo łatwego definiowania i wykonywania zadań FieldShield, istnieją inne zalety używania go z Mongo, w tym:

  • szybkość wolumenu — zarówno IRI, jak i architektury wydajności Mongo są zaprojektowane do liniowego skalowania
  • zgodność z wieloma platformami – wybierz spośród tych obsługiwanych źródeł
  • jednoczesna integracja danych, migracja, replikacja, federacja i możliwości raportowania w tym samym skrypcie zadania CoSort (program SortCL, nadrzędny program FieldShield) i przejściu we/wy

Skontaktuj się  jeśli masz jakiekolwiek pytania dotyczące tego procesu lub komentarz poniżej.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zastąpić istniejące dokumenty podczas importowania pliku do MongoDB

  2. Wydajność MongoDB przy rosnącej strukturze danych

  3. Najszybszy sposób na usunięcie duplikatów dokumentów w mongodb

  4. Radzenie sobie z powolnymi zapytaniami w MongoDB

  5. ScaleGrid ogłasza współdzielony hosting MongoDB na Amazon AWS