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
- 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”.
- Kliknij „Dodaj źródło danych”, a następnie „Przeglądaj” do pliku CSV utworzonego podczas eksportu. Następnie kliknij „OK”.
- 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”.
- Powinieneś teraz zobaczyć swoje pola na liście Źródła danych. Kliknij „Dalej”.
Stosowanie zabezpieczeń
- 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”.
- 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.
- 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”.
- 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”.
- 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.