sql >> Database teknologi >  >> RDS >> Database

Sådan maskerer du Cassandra med IRI FieldShield

OPDATERING:Q2’17 :Inkluderede JDBC- og ODBC-drivere og afventende indbygget JSON-håndtering kan gøre forbindelserne hurtigere og mere sømløse end fremgangsmåden vist nedenfor. Y du kan også bruge Hadoop-udgaven af ​​IRI Voracity til at maskere data direkte i HDFS. Data eksporteret på nedenstående måde til en flad fil i HDFS kan maskeres på feltniveau fra FieldShield-modulet Voracity på samme måde som vist nedenfor via MapReduce2, Spark, Spark Stream, Storm eller Tez uden yderligere kodning.

OPDATERING:Q3’19 :Nu tilgængelige i IRI DarkShield er native out-of-the-box-stik til Cassandra og MongoDB, som ikke kræver eksport-/maske-/import-trin og kan håndtere semi- og ustrukturerede indsamlingsdata. Ligesom FieldShield er DarkShield også tilgængelig (inkluderet) i abonnementer på Voracity-platformen. Se denne how-to-artikel til at finde og maskere PII flydende i Cassandra NoSQL DB'er. Hvis du er interesseret i at udfylde Cassandra med syntetiske testdata, så se denne artikel.

DataStax / Cassandra kan ikke maskere specifikke kolonner for at forhindre uautoriserede brugere i at se personligt identificerbare oplysninger (PII). I denne artikel viser vi, hvordan du eksporterer data fra en Cassandra-database til en CSV-fil og bruger IRI FieldShield-produktet (også tilgængeligt på IRI Voracity-platformen) til at randomisere, maskere og kryptere dataene i den CSV-fil. Så importerer vi disse data tilbage til Cassandra, opdateret og beskyttet. En anden artikel er planlagt ved udgivelsen af ​​IRIs mere direkte forbindelse til DB.

I vores eksempel har vi en ​​tabel med elevoplysninger i DataStax. Kolonnerne er:id_num (den primære nøgle), honours, semester_hours, socsecnum (cpr-nummer) og user_id.

For at afidentificere hver elev vil vi randomisere deres semestertimer, maskere deres socsecnum og kryptere user_id-værdien, så hver elevs PII er beskyttet.

Ubeskyttede data i Cassandra

Til vores kommandolinjeeksempler bruger vi DataStax Cassandra CQL shell.

Eksport af en Cassandra-tabel til en CSV-fil

For at eksportere en Cassandra-tabel til en CSV-fil skal du køre følgende kommando fra Cassandra CQL-skallen:

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

Åbning og definition af CSV-kilden

  1. Find FieldShield-ikonet fra den øverste værktøjslinje i IRI Workbench GUI for FieldShield (bygget på Eclipse), og vælg 'New Protect Job' for at køre guiden. Navngiv din jobfil "CassShieldJob.fcl", og klik på "Næste".
  2. Klik på "Tilføj datakilde", og derefter "Gennemse" til den CSV-fil, du oprettede med din eksport. Klik derefter på 'OK'.
  3. Klik på "Opdag metadata", og navngiv den (genanvendelige datadefinitionsfil) "StudentsMeta.ddf", og klik på "Næste". Klik på "Ja" for automatisk at finde og "Hent feltnavne fra overskriftsrækken", før du klikker på "OK" og derefter "Udfør".
  4. Du bør nu se dine felter på listen over datakilder. Klik på 'Næste'.

Anvendelse af beskyttelserne

  1. Klik på "Tilføj datamål", og gennemse for at oprette et nyt CSV-filmål til at opbevare den beskyttede version af dataene (eller for at overskrive kilden, brug den samme sti/fil. Klik derefter på "Målfelt" Layout', for at gennemgå layoutet og anvende beskyttelsen til outputfelterne. Der er to listebokse; det øverste viser kildefelterne, og det nederste viser de målfelter, som du vil anvende feltet "skjolde" på.
  2. Randomiser semester_hours: Vælg semester_hours-feltnavnet i målruden, og klik på "Feltbeskyttelse." Vælg Generering af tilfældig værdi, og vælg Ciffer for type. Indstil de tilfældige minimum- og maksimumstørrelser til 2, og klik på OK.
  3. Maske socsecnum:Vælg feltet socsecnum, og klik på 'Feltbeskyttelse' igen. Vælg Maskering, og vælg standard USA SSN-indstillingen for kun at eksponere de sidste fire cifre i SSN'erne. Klik på 'OK'.
  4. Krypter bruger-id:Vælg bruger-id’et, og  klik på "Feltbeskyttelse" igen. Vælg Kryptering og dekryptering, og vælg enc_fp_aes256_alphanum for formatbevarende kryptering. Indtast en adgangssætning (dekrypteringsnøglen), og skriv "User_" i feltet Ekskluder "User_" for at forhindre User_-delen af ​​vores brugernavn i at blive krypteret. Klik derefter på "Udfør".
  5. Felterne, der skal beskyttes, skal vises som følger:

Klik på "OK" og derefter "Udfør" for at se det faktiske (eksekverbare job) script, der er oprettet til dig:

Kør jobbet i IRI Workbench eller på kommandolinjen,

fieldshield /spec=CassShieldJob.fcl

Den CSV-fil, du oprettede, indeholder de nye maskerede og krypterede data.

Import af de beskyttede data til Cassandra

For at importere de ændrede data tilbage til Cassandra skal du bruge følgende kommando i Cassandra CQL-skallen:

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

Beskyttede data i Cassandra

For detaljer om FieldShield-funktioner, se http://www.iri.com/products/fieldshield/technical-details.


  1. UTL_FILE.FREMOVE Eksempel:Slet en fil i Oracle

  2. Sådan returneres kun numeriske værdier i SQL Server

  3. Sådan importeres en Heroku PG-dump til lokal maskine

  4. Sådan importeres Room Persistence Library til et Android-projekt