UPDATE:2e kwartaal 2017 :Meegeleverde JDBC- en ODBC-stuurprogramma's en in afwachting van native JSON-verwerking kunnen de verbindingen sneller en naadloos maken dan de onderstaande benadering. Ja U kunt ook de Hadoop-editie van IRI Voracity gebruiken om gegevens in HDFS rechtstreeks te maskeren. Gegevens die op de onderstaande manier zijn geëxporteerd naar een plat bestand in HDFS kunnen op veldniveau worden gemaskeerd vanuit de FieldShield-module Voracity op dezelfde manier als hieronder wordt weergegeven via MapReduce2, Spark, Spark Stream, Storm of Tez zonder aanvullende codering.
UPDATE:Q3’19 :Nu beschikbaar in IRI DarkShield zijn standaard kant-en-klare connectoren voor Cassandra en MongoDB die geen export-/masker-/importstappen vereisen en die semi- en ongestructureerde verzamelingsgegevens kunnen verwerken. Net als FieldShield is DarkShield ook beschikbaar (inbegrepen) in abonnementen op het Voracity-platform. Zie dit how-to-artikel voor het vinden en maskeren van PII die in Cassandra NoSQL DB's zweeft. Als je geïnteresseerd bent in het vullen van Cassandra met synthetische testgegevens, bekijk dan dit artikel.
DataStax / Cassandra kan geen specifieke kolommen maskeren om te voorkomen dat onbevoegde gebruikers persoonlijk identificeerbare informatie (PII) zien. In dit artikel laten we zien hoe u gegevens uit een Cassandra-database exporteert naar een CSV-bestand en hoe u het IRI FieldShield-product (ook beschikbaar in het IRI Voracity-platform) gebruikt om de gegevens in dat CSV-bestand willekeurig te verdelen, te maskeren en te versleutelen. Daarna importeren we die gegevens terug in Cassandra, bijgewerkt en beschermd. Een ander artikel is gepland bij de release van IRI's meer directe verbinding met de database.
In ons voorbeeld hebben we een tabel met leerlinggegevens in DataStax. De kolommen zijn:id_num (de primaire sleutel), honors, semester_hours, socsecnum (sofinummer) en user_id.
Om elke leerling te de-identificeren, zullen we hun semester_uren willekeurig verdelen, hun socsecnum maskeren en de user_id-waarde versleutelen zodat de PII van elke leerling wordt beschermd.
Onbeschermde gegevens in Cassandra
Voor onze opdrachtregelvoorbeelden gebruiken we de DataStax Cassandra CQL-shell.
Een Cassandra-tabel exporteren naar een CSV-bestand
Om een Cassandra-tabel naar een CSV-bestand te exporteren, voert u de volgende opdracht uit vanuit de Cassandra CQL-shell:
COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;
De CSV-bron openen en definiëren
- Ga in de bovenste werkbalk van de IRI Workbench GUI voor FieldShield (gebouwd op Eclipse) naar het FieldShield-pictogram en selecteer 'Nieuwe beveiligingstaak' om de wizard uit te voeren. Geef uw taakbestand de naam 'CassShieldJob.fcl' en klik op 'Volgende'.
- Klik op 'Gegevensbron toevoegen' en vervolgens op 'Bladeren' naar het CSV-bestand dat u met uw export hebt gemaakt. Klik vervolgens op 'OK'.
- Klik op 'Metadata ontdekken', noem het (herbruikbare gegevensdefinitiebestand) 'StudentsMeta.ddf' en klik op 'Volgende'. Klik op 'Ja' om automatisch te detecteren en op 'Veldnamen uit koprij ophalen' voordat u op 'OK' klikt en vervolgens op 'Voltooien'.
- U zou nu uw velden in de lijst met gegevensbronnen moeten zien. Klik op 'Volgende'.
De beveiligingen toepassen
- Klik op 'Gegevensdoel toevoegen' en blader om een nieuw CSV-bestandsdoel te maken waarin de beveiligde versie van de gegevens wordt bewaard (of gebruik hetzelfde pad/bestand om de bron te overschrijven). Klik vervolgens op 'Doelveld' Lay-out', om de lay-out te bekijken en de beveiligingen toe te passen op de uitvoervelden. Er zijn twee keuzelijsten:de bovenkant toont de bronvelden en de onderkant toont de doelvelden waarop u het veld 'schilden' wilt toepassen.
- Semester_hours willekeurig maken: Selecteer de veldnaam semester_hours in het doelvenster en klik op 'Veldbeveiliging'. Selecteer Willekeurige waarde genereren en selecteer bij type Cijfer. Stel de willekeurige minimum- en maximumgrootte in op 2 en klik op OK.
- Mask socsecnum:Selecteer het veld socsecnum en klik nogmaals op 'Field Protection'. Selecteer Maskeren en kies de standaard VSSN-optie om alleen de laatste vier cijfers van de SSN's zichtbaar te maken. Klik op 'OK'.
- Gebruikers-ID coderen:selecteer de gebruikers-ID en klik nogmaals op 'Veldbeveiliging'. Selecteer Versleuteling en ontsleuteling en kies enc_fp_aes256_alphanum voor versleuteling met behoud van de indeling. Voer een wachtwoordzin in (de decoderingssleutel) en typ 'User_' in het vak Uitsluiten om te voorkomen dat het User_-gedeelte van onze gebruikersnaam wordt versleuteld. Klik vervolgens op 'Voltooien'.
- De te beveiligen velden moeten er als volgt uitzien:
Klik op 'OK' en vervolgens op 'Voltooien' om het daadwerkelijke (uitvoerbare taak) script te zien dat voor u is gemaakt:
Voer de taak uit in de IRI Workbench of op de opdrachtregel,
fieldshield /spec=CassShieldJob.fcl
Het CSV-bestand dat u heeft gemaakt, bevat de nieuwe gemaskeerde en versleutelde gegevens.
Beveiligde gegevens importeren in Cassandra
Gebruik de volgende opdracht in de Cassandra CQL-shell om de gewijzigde gegevens weer in Cassandra te importeren:
COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';
Beveiligde gegevens in Cassandra
Voor details over FieldShield-mogelijkheden, zie http://www.iri.com/products/fieldshield/technical-details.