Database
 sql >> Baza danych >  >> RDS >> Database

Jak zamaskować Cassandrę za pomocą IRI FieldShield

AKTUALIZACJA:II kwartał 2017 :Dołączone sterowniki JDBC i ODBC oraz oczekująca natywna obsługa JSON mogą sprawić, że połączenia będą szybsze i bardziej płynne niż podejście pokazane poniżej. Tak Możesz także użyć wersji Hadoop IRI Voracity do bezpośredniego maskowania danych w HDFS. Dane wyeksportowane w poniższy sposób do pliku płaskiego w HDFS można zamaskować na poziomie pola z modułu FieldShield Voracity w taki sam sposób, jak pokazano poniżej za pośrednictwem MapReduce2, Spark, Spark Stream, Storm lub Tez bez dodatkowego kodowania.

AKTUALIZACJA:III kwartał 2019 r. :Teraz dostępne w IRI DarkShield są natywne, gotowe do użycia złącza dla Cassandra i MongoDB, które nie wymagają kroków eksportu/maski/importu i mogą obsługiwać częściowo i nieustrukturyzowane dane gromadzenia. Podobnie jak FieldShield, DarkShield jest również dostępny (w zestawie) w ramach subskrypcji platformy Vorcity. Zobacz ten artykuł z instrukcjami do wyszukiwania i maskowania PII pływających w bazach danych Cassandra NoSQL. Jeśli chcesz zapełnić Cassandrę syntetycznymi danymi testowymi, zapoznaj się z tym artykułem.

DataStax / Cassandra nie mogą maskować określonych kolumn, aby uniemożliwić nieautoryzowanym użytkownikom dostęp do informacji umożliwiających identyfikację osób. W tym artykule pokażemy, jak wyeksportować dane z bazy danych Cassandra do pliku CSV i użyć produktu IRI FieldShield (dostępnego również na platformie IRI Voracity) do randomizacji, maskowania i szyfrowania danych w tym pliku CSV. Następnie zaimportujemy te dane z powrotem do Cassandry, zaktualizowane i zabezpieczone. Kolejny artykuł jest planowany po wydaniu bardziej bezpośredniego połączenia IRI z bazą danych.

W naszym przykładzie mamy tabelę z informacjami o uczniach w DataStax. Kolumny to:id_num (klucz podstawowy), honors, semester_hours, socsecnum (numer ubezpieczenia społecznego) i user_id.

Aby odidentyfikować każdego ucznia, losowo podzielimy jego semestr_godziny, zamaskujemy jego socsecnum i zaszyfrujemy wartość user_id, aby zapewnić ochronę danych osobowych każdego ucznia.

Niechronione dane w Cassandrze

W naszych przykładach wiersza poleceń używamy powłoki DataStax Cassandra CQL.

Eksportowanie tabeli Cassandra do pliku CSV

Aby wyeksportować tabelę Cassandra do pliku CSV, uruchom następujące polecenie w powłoce Cassandra CQL:

COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;

Otwieranie i definiowanie źródła CSV

  1. Na górnym pasku narzędzi IRI Workbench GUI dla FieldShield (zbudowanym na Eclipse) znajdź ikonę FieldShield i wybierz „Nowe zadanie ochrony”, aby uruchomić kreatora. Nazwij plik zadania „CassShieldJob.fcl” i kliknij „Dalej”.
  2. Kliknij „Dodaj źródło danych”, a następnie „Przeglądaj” do pliku CSV utworzonego podczas eksportu. Następnie kliknij „OK”.
  3. Kliknij „Wykryj metadane” i nazwij (plik definicji danych wielokrotnego użytku) „StudentsMeta.ddf” i kliknij „Dalej”. Kliknij „Tak”, aby automatycznie wykryć i „Pobierz nazwy pól z wiersza nagłówka” przed kliknięciem „OK”, a następnie „Zakończ”.
  4. Powinieneś teraz zobaczyć swoje pola na liście Źródła danych. Kliknij „Dalej”.

Stosowanie zabezpieczeń

  1. Kliknij „Dodaj miejsce docelowe danych” i przejdź do utworzenia nowego docelowego pliku CSV do przechowywania chronionej wersji danych (lub do zastąpienia źródła, użyj tej samej ścieżki/pliku. Następnie kliknij „Pole docelowe” Układ”, aby przejrzeć układ i zastosować zabezpieczenia do pól wyjściowych. Dostępne są dwa pola listy; na górze wyświetlane są pola źródłowe, a na dole wyświetlane są pola docelowe, do których zostanie zastosowane pole „osłony”.
  2. Randomize semester_hours:wybierz nazwę pola semester_hours w okienku docelowym i kliknij opcję „Field Protection”. Wybierz Generowanie wartości losowych, a jako typ wybierz Cyfra. Ustaw losowe rozmiary minimalne i maksymalne na 2 i kliknij OK.
  3. Maskowanie socsecnum:wybierz pole socsecnum i ponownie kliknij opcję „Field Protection”. Wybierz Maskowanie i wybierz domyślną opcję USA SSN, aby odsłonić tylko cztery ostatnie cyfry numeru SSN. Kliknij „OK”.
  4. Zaszyfruj identyfikator użytkownika:wybierz identyfikator użytkownika i ponownie kliknij „Ochrona pola”. Wybierz Szyfrowanie i odszyfrowywanie i wybierz enc_fp_aes256_alphanum, aby zachować szyfrowanie w formacie. Wpisz hasło (klucz odszyfrowywania) i w polu Wyklucz wpisz „User_”, aby zapobiec szyfrowaniu części User_ naszej nazwy użytkownika. Następnie kliknij „Zakończ”.
  5. Pola, które mają być chronione, powinny wyglądać następująco:

Kliknij „OK”, a następnie „Zakończ”, aby zobaczyć faktycznie utworzony (wykonalne zadanie) skrypt utworzony dla Ciebie:

Uruchom zadanie w IRI Workbench lub w wierszu poleceń,

fieldshield /spec=CassShieldJob.fcl

Utworzony plik CSV będzie zawierał nowe zamaskowane i zaszyfrowane dane.

Importowanie chronionych danych do Cassandry

Aby zaimportować zmienione dane z powrotem do Cassandra, użyj następującego polecenia w powłoce Cassandra CQL:

COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';

Dane chronione w Cassandrze

Szczegółowe informacje na temat funkcji FieldShield można znaleźć na stronie http://www.iri.com/products/fieldshield/technical-details.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy powinienem używać NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT lub NOT EXISTS?

  2. Jak zamienić część ciągu w SQL?

  3. Minimalne rejestrowanie za pomocą INSERT…SELECT i szybkiego ładowania kontekstu

  4. Filtrowanie tabel w IRI Workbench

  5. Mapowanie lokalnych kontroli bezpieczeństwa w porównaniu z głównymi dostawcami chmury — wersja 4.0