sql >> Databasteknik >  >> RDS >> Database

Hur man maskerar Cassandra med IRI FieldShield

UPPDATERING:Q2’17 :Inkluderade JDBC- och ODBC-drivrutiner och pågående inbyggd JSON-hantering kan göra anslutningarna snabbare och mer sömlösa än metoden som visas nedan. Y du kan också använda Hadoop-utgåvan av IRI Voracity för att maskera data direkt i HDFS. Data som exporteras på sättet nedan till en flat-fil i HDFS kan maskeras på fältnivå från FieldShield-modulen Voracity på samma sätt som visas nedan via MapReduce2, Spark, Spark Stream, Storm eller Tez utan ytterligare kodning.

UPPDATERING:Q3’19 :Nu tillgängliga i IRI DarkShield finns inbyggda out-of-the-box-kontakter för Cassandra och MongoDB som inte kräver export-/maskerings-/importsteg och kan hantera semi- och ostrukturerad insamlingsdata. Liksom FieldShield är DarkShield också tillgängligt (ingår) i prenumerationer på Voracity-plattformen. Se denna artikel om hur man gör för att hitta och maskera PII flytande i Cassandra NoSQL DBs. Om du är intresserad av att fylla Cassandra med syntetiska testdata, se den här artikeln.

DataStax / Cassandra kan inte maskera specifika kolumner för att hindra obehöriga användare från att se personligt identifierbar information (PII). I den här artikeln kommer vi visa hur du exporterar data från en Cassandra-databas till en CSV-fil och använder IRI FieldShield-produkten (även tillgänglig i IRI Voracity-plattformen) för att randomisera, maskera och kryptera data i den CSV-filen. Sedan kommer vi att importera den datan tillbaka till Cassandra, uppdaterad och skyddad. En annan artikel planeras när IRI:s mer direkta anslutning till DB släpps.

I vårt exempel har vi en tabell med elevinformation i DataStax. Kolumnerna är:id_num (primärnyckeln), honours, semester_hours, socsecnum (personnummer) och user_id.

För att avidentifiera varje student kommer vi att randomisera deras semestertimmar, maskera deras socsecnum och kryptera user_id-värdet så att varje elevs PII skyddas.

Oskyddad data i Cassandra

För våra kommandoradsexempel använder vi DataStax Cassandra CQL-skalet.

Exportera en Cassandra-tabell till en CSV-fil

För att exportera en Cassandra-tabell till en CSV-fil, kör följande kommando från Cassandra CQL-skalet:

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

Öppna och definiera CSV-källan

  1. Från det övre verktygsfältet i IRI Workbench GUI för FieldShield (byggt på Eclipse), leta reda på FieldShield-ikonen och välj "New Protect Job" för att köra guiden. Namnge din jobbfil, "CassShieldJob.fcl" och klicka på "Nästa".
  2. Klicka på "Lägg till datakälla" och sedan på "Bläddra" till CSV-filen som du skapade med din export. Klicka sedan på "OK".
  3. Klicka på "Upptäck metadata" och namnge (återanvändbar datadefinitionsfil) "StudentsMeta.ddf" och klicka på "Nästa". Klicka på "Ja" för att automatiskt identifiera och "Hämta fältnamn från rubrikraden" innan du klickar på "OK" och sedan på "Slutför".
  4. Du bör nu se dina fält i listan Datakällor. Klicka på "Nästa".

Tillämpa skydden

  1. Klicka på "Lägg till datamål" och bläddra för att skapa ett nytt CSV-filmål som innehåller den skyddade versionen av data (eller för att skriva över källan, använd samma sökväg/fil. Klicka sedan på "Målfält" Layout', för att granska layouten och tillämpa skydden på utdatafälten. Det finns två listrutor; den översta visar källfälten och den nedre visar målfälten som du kommer att tillämpa fältet "shields" på.
  2. Slumpmässiga semester_hours: Välj semester_hours-fältnamnet i målrutan och klicka på "Fältskydd." Välj Generering av slumpmässigt värde och välj Siffra för typ. Ställ in de slumpmässiga minimi- och maxstorlekarna till 2 och klicka på OK.
  3. Mask socsecnum:Välj socsecnum-fältet och klicka på "Fältskydd" igen. Välj Maskering och välj standardalternativet USA SSN för att endast visa de sista fyra siffrorna i SSN:erna. Klicka på "OK".
  4. Kryptera user_id:Välj user_id och klicka på "Fältskydd" igen. Välj Kryptering och dekryptering och välj enc_fp_aes256_alphanum för formatbevarande kryptering. Ange en lösenfras (dekrypteringsnyckeln) och i rutan Uteslut skriv "User_" för att förhindra att User_-delen av vårt användarnamn krypteras. Klicka sedan på "Slutför".
  5. Fälten som ska skyddas bör visas enligt följande:

Klicka på "OK" och sedan "Slutför" för att se det faktiska (körbara jobb) skriptet som skapats åt dig:

Kör jobbet i IRI Workbench eller på kommandoraden,

fieldshield /spec=CassShieldJob.fcl

CSV-filen du skapade innehåller den nya maskerade och krypterade informationen.

Importera skyddad data till Cassandra

För att importera de ändrade data tillbaka till Cassandra, använd följande kommando i Cassandra CQL-skalet:

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

Skyddad data i Cassandra

Mer information om FieldShield-funktioner finns på http://www.iri.com/products/fieldshield/technical-details.


  1. SQL Server använder hög CPU vid sökning i nvarchar-strängar

  2. Kör inbyggd sql med viloläge

  3. Vad är standardnamnet för begränsningar i SQL Server?

  4. PostgreSQL Omvänd LIKE