- Created by Alessia Krioutchkova, last modified on 26 Apr, 2022
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 9 Next »
In kader van software development en data mining worden volgende usecases gedemonstreerd. Deze handleiding biedt een stappenplan bij het uitvoeren van deze usecases.
Productie data klaarmaken voor niet productie omgevingen
Het behouden van de referentiële integriteit in een geanonimiseerde databank
- De context van een veldwaarde garanderen
- Het gebruiken van een niet referentiële database
- Het gebruiken van een CSV als databron
Productie data klaarmaken voor niet productie omgevingen
De bedoeling is om aan de hand van de IRI Workbench te beschikken over een testdatabank die niet bestaat uit persoonsgevoelige informatie en kan gebruikt worden voor software development. Onderstaande databank (een productiedatabank in Oracle) bezit persoonsgegevens en wordt gebruikt als voorbeeld.
Na het bekijken van de data, kan er vastgesteld worden dat de database enkel bestaat uit gevoelige informatie. Deze informatie zal moeten worden geanonimiseerd zodat deze gegevens niet meer terug gelinkt kunnen worden aan bestaand individu.
Toevoegen van de databron (productiedatabase)
De eerste stap in het anonimisatieproces is uiteraard het starten van een masking job. Er wordt nu overgegaan naar de configuratiewizard na het configureren van de ODBC drivers, het linken van de DSN met de connectie profielen en het starten van een masking job.
Druk op de knop 'Add Data Source...' om de productiedatabank toe te voegen als databron. Kies daarna voor het type ODBC en kies de juiste DSN (werd eerder geconfigureerd in het stappenplan). Vervolgens zal er moeten worden ingelogd met de juiste logingegevens, druk daarna op 'OK' om verder te gaan.
Selecteer daarna de tabel in de database waarin men wenst gegevens te gaan anonimiseren. Druk daarna op 'OK' om verder te gaan in het anonimisatie proces.
Er zal moeten worden gezocht naar metadata, dit is noodzakelijk om de IRI Workbench te laten communiceren met kolommen in de tabel. De software van IRI moet uiteraard weten met welke kolomtypes er worden gewerkt. Druk hiervoor op de knop 'Discover Metadata...' en vervolgens op 'Next >'. Er zal nogmaals ingelogd moeten worden en daarna wordt men doorverwezen naar volgende windows.
Druk op 'Next >' om verder te gaan en daarna op 'Finish'.
Toevoegen van de data target (testdatabase)
De tweede stap in het anonimisatie proces is het toevoegen van de data target, de testdatabank. Dit gebeurd op dezelfde manier als de databron (productiedatabase). Dezelfde stappen zullen dus moeten worden uitgevoerd voor de testdatabank.
Zorg er zeker en vast voor dat database beschikt over een tabel met dezelfde velden en types. Dan kan de metadata, dat reeds werd opgeslaan bij het onderzoeken van metadata voor de databron, opnieuw gebruikt worden.
Toepassen van de anonimisatie technieken
Na het drukken op 'Finish' in de wizard, zal er automatisch een script gegenereerd worden. Doormiddel van dit script kunnen de anonimisatie technieken toegepast worden. De scripts worden dan gebruikt als input om een IRI job uit te voeren.
Om de verschillende methodes te gaan toepassen op bepaalde velden hoeft men enkel te rechter klikken op het gegenereerde script. Kies vervolgens voor de keuze 'IRI' en daarna voor 'Edit Targets...'.
Klik daarna op de outfile en op de knop 'Target Field Layout'. Dit opent de Target Field Layout wizard waarin we bepaalde velden kunnen gaan anonimiseren. Rechterklik op het veld in de databank dat men wenst te anonimiseren en kies voor de optie 'Apply Rule >'. Kies er daarna voor om een regel aan te maken ('Create Rule...').
Redaction functie
Deze methode zal gebruikt worden om het rijksregisternummer van de tabel te gaan anonimiseren. Aan de hand van deze methode kan een range van karakters omgezet worden in tekens. De methode komt met ingebouwde maskers maar het is ook mogelijk om zelf de maskers te gaan definiëren via de wizard. Kies dus vervolgens voor de optie 'Redaction Function' in de lijst.
Er zal in dit voorbeeld gebruik gemaakt worden van het reeds gedefinieerde mask van IRI, ook het rijksregisternummerformaat van België wordt hier ondersteund. Kies in de lijst voor 'Belgium NID'. En druk dan op 'Finish'. In de productiedatabase zal het rijksregisternummer nu geanonimiseerd worden doormiddel van de Redaction functie.
Pseudonym vervanging
Deze techniek zal worden toegepast om de voor- en achternamen van personen in de tabel te anonimiseren doormiddel van pseudoniemen te gebruiken van een lijst voor de waardes in de tabel. Als klant hebt u de keuze om gebruik te maken van de lijst van IRI of een eigen lijst te importeren. In deze usecase wordt er gebruik gemaakt van de lijst van IRI.
Kies dus voor de optie 'Use provided pseudonym list (non-recoverable), 'First' (Voornaam) en 'Both'. Druk vervolgens op 'Finish' om verder te gaan.
De waarden van de velden binnenin de voornaam kolom in de productiedatabase zullen nu gepseudonimiseerd worden. Ook de familienamen van de personen zullen gepseudonimiseerd worden op dezelfde manier. Kies hiervoor wel voor name type 'Last'.
Encryptie: AES128
Er wordt voor deze methode gekozen om het telefoonnummer van personen te transformeren, het principe van dit algoritme is simpel. Elke drie bytes in het veld zullen worden verplaatst met vier karakters. Aan de hand van een passphrase (een reeks van tekens) dat ergens veilig wordt opgeslagen, kunnen de velden worden omgezet naar hun originele waarde (decrypteren). Als klant hebt u de keuze zelf een passphrase te kiezen, wanneer hier niet wordt voor gekozen zal de passphrase secret gebruikt worden als default.
Kies voor 'enc_aes128', duid het juiste veld aan en kies voor een passphrase. In dit voorbeeld wordt er bewust niet gekozen voor een passphrase (standaard zal deze dus secret zijn). Druk daarna op 'Finish' om verder te gaan.
MD5 Hashing
De laatste techniek dat gedemonstreerd zal worden is hashing functie. Met MD5 hashing wordt een 32 bit hexadecimale waarde terug gegeven. Aan de hand van deze techniek zal een willekeurig e-mail adres onbruikbaar worden.
Klik daarna tweemaal op 'Finish' om verder te gaan.
Uitvoeren van de IRI job
De laatste stap in het proces is het effectief uitvoeren van het script als een IRI Job. Na deze stap zullen de gegevens binnenin de productiedatabase geanonimiseerd en overgedragen worden aan de testdatabase.
Rechterklik hiervoor op het project zelf en kies voor de optie 'Run as >' en daarna voor 'Run Configurations ...'.
Volgende wizard wordt geopend, kies voor het juiste project en voeg vervolgens de juiste scripts toe die moeten worden uitgevoerd. Druk vervolgens op 'OK' om de wizard af te sluiten. Het is mogelijk om de sequentie van de scripts te veranderen en dus de jobs uit te voeren in een specifieke volgorde. Dit kan gedaan worden door een job naar boven of onder te plaatsen, hiervoor wordt er geklikt op de 'Up' of 'Down' knop. Kies vervolgens op 'Apply' en 'Run' om de jobs uit te voeren.
Vergelijking van productiedatabase met testdatabase na anonimisatieproces
Productiedatabase:
Testdatabase:
Het behouden van de referentiële integriteit in een geanonimiseerde databank
De bedoeling van deze usecase is om een veld in een database te gaan anonimiseren en ondertussen de referentiële integriteit te behouden tussen tabellen. In onze bedrijfsdatabase is de tabel personen gekoppeld aan de tabel dossier aan de hand van een foreign key. Het is mogelijk om verschillende kolommen te anonimiseren binnen beide tabellen en de referentiële integriteit tussen deze tabellen te behouden. Tijdens dit proces worden de foreign keys tijdelijk gedropt, na het uitvoeren van het anonimisatieproces worden ze terug geïmplementeerd.
IRI ondersteund het behouden van referentiële integriteit en tegelijk het anonimiseren van waarden in een bepaalde kolom met de 'New Multi Table Masking Job...' wizard.
Het configureren van de wizard
Druk op het icoon en kies daarna voor 'New Multi Table Masking Job...' om de wizard hiervan te openen en te beginnen aan de configuratie van het script.
Kies een gepaste naam voor het script en kies daarna voor ODBC als loader en extractor. Druk dan vervolgens op 'Next' om verder te gaan.
In de volgende stap is het belangrijk om het juiste connectieprofiel te kiezen, het aanmaken van een connectieprofiel werd eerder in de handleiding getoond. Hou zeker rekening met de mapping van het connectieprofiel en de DSN (Connection Registry). Kies vervolgens voor de tabellen waar referentiële integriteit optreed en druk daarna op 'Next' om verder te gaan.
Druk eerst op de 'Create' knop in de wizard om vervolgens de Rule Matcher wizard te openen. Binnenin deze wizard is het mogelijk om een bestaande regel in het project mee te geven of een nieuwe te creëren. Zorg ervoor dat er een patroon wordt meegegeven zodat er gezocht kan worden naar de gewenste kolommen in de tabel. Klik daarvoor op 'Add...' en kies voor het type PATTERN. Hier wordt RN gekozen als patroon en VERANTWOORDELIJKE, deze twee kolommen zullen vervolgens geanonimiseerd worden. Daarna wordt er gekozen om een nieuwe regel aan te maken met als doel de twee gegeven tabellen te hashen en referentiële integriteit te behouden. Klik dus in de Rule Matcher wizard nogmaals op de knop 'Create...' en kies vervolgens voor 'Hashing Functions'. Geef de regel een passende naam en druk op 'Next >' om verder te gaan.
Toepassen van de anonimisatie techniek
SHA1 Hashing
De gegevens kolommen in beide tabellen zullen met deze methode worden getransformeerd naar een waarde van 24 bytes. Door dit proces te doorlopen met de Multi Table wizard zullen de kolommen gevuld worden met de overeenkomende getransformeerde waarden.
Kies daarna voor de 'hash_sha1' functie en druk op 'Finish' en 'Next >' om verder te gaan.
Kies in de Data Loading Stage wizard voor het juiste connectieprofiel, juiste naam van de tabel en als output mode voor 'UPDATE'. Druk op 'Next>' om verder te gaan en sluit na de samenvatting de wizard vervolgens af.
Voor beide tabellen wordt er een script gegenereerd (zowel voor de kolom in de tabel dossier als in de tabel personen). Deze scripts zullen gebruikt worden als input voor de IRI job.
Uitvoeren van de IRI job
Selecteer beide scripts en voeg ze toe in de job sequentie doormiddel van de knop 'Add...'. Druk daarna op 'Apply' en voer het script uit door te drukken op 'Run'.
Vergelijking van de tabellen voor- en na het anonimisatieproces
Voor het anonimisatieproces
Dossiertabel in bedrijfsdatabase:
Personentabel in bedrijfsdatabase:
Na het anonimisatieproces
Dossiertabel in bedrijfsdatabase:
Personentabel in bedrijfsdatabase:
De context van een veldwaarde garanderen
Het doel van deze usecase is om echter te kunnen aantonen dat een veld geanonimiseerd kan worden en ondertussen relevant kan blijven voor verder onderzoek . In ons voorbeeld wordt het veld leeftijd genomen uit de bedrijfsdatabase. We zullen vervolgens op deze kolom de blur functie gaan toepassen.
Toevoegen van de databron
Er wordt een nieuwe masking job gecreëerd in de projectfolder van de usecase rond referentiële intelligentie aangezien hier al gewerkt wordt met de bedrijfsdatabase.
Kies vervolgens om een data source toe te voegen door op de knop 'Add Data Source...' te drukken. Kies daarna om de metadata te onderzoeken en druk op 'Next >' om verder te gaan.
Toevoegen van de data target
Voeg daarna de data target toe (dezelfde tabel in de bedrijfsdatabase) en de bestaande metadata, dat reeds onderzocht werd voor de databron. Druk op 'Finish' om verder te gaan. De volgende stap in het proces is het toepassen van de anonimisatie techniek. Om de blur functie te gaan toepassen moet er geklikt worden op het script en vervolgens gedrukt worden op IRI > Edit Targets...
Toepassen anonimisatie techniek
Blur functie
Doormiddel van de blur functie zullen alle waarden in de leeftijd kolom getransformeerd worden aan de hand van parameters die gedefinieerd worden door de gebruiker.
Druk op de knop 'Target Field Layout...', kies de gewenste kolom en kies daarna voor Apply Rule > Create Rule...
Kies als masking regel voor de 'Blur Functions', vul een passende naam in voor de regel en druk daarna op 'Next'.
Kies voor de blur_age functie en geef de gewenste parameters mee, druk daarna op 'Finish' om verder te gaan.
Vergelijking van de kolommen in de database
Voor de blur functie
Na de blur functie
Het gebruiken van een niet referentiële database
IRI ondersteund verschillende soorten niet referentiële databases, in deze usecase zal er gebruik gemaakt worden van MongoDB. Er wordt vanuit gegaan dat de MongoDB database reeds vooraf geïnstalleerd en geconfigureerd werd.
URL Connection Registry
Deze databases hoeven niet geconfigureerd te worden als een driver maar als een URL. Navigeer hiervoor naar 'Window' in het menu en klik daarna op 'Preferences'. Klik daarna op de knop 'Add...' om een nieuwe URL toe te voegen.
Vul vervolgens de naam in van de connectie, het type van schema, de host, eventueel de poort en de database dat zal gebruikt worden. Het is ook mogelijk om authenticatie te gebruiken in de connectiestring maar dit werd niet geconfigureerd in dit voorbeeld zodus wordt deze stap overgeslagen. Klik daarna op 'OK' en 'Apply and Close' om verder te gaan.
Toevoegen van de databron
Het configureren van de masking jobs werd al eerder uitgelegd in de handleiding. Kies in de Masking Job Wizard voor de optie 'Add Data Source...' en kies vervolgens voor URL.
Kies voor de het juiste URL profiel dat eerder werd aangemaakt en specifieer binnen welke collectie er moet worden geanonimiseerd, de collectie genaamd personen wordt in dit voorbeeld gebruikt. Druk dan vervolgens op 'OK' om verder te gaan.
De volgende stap is om de metadata te onderzoeken binnenin de collectie. Druk op de knop 'Discover Metadata'.
Klik op 'Next >'. Volgende pop-up verschijnt, er wordt gevraagd om automatisch de Field Layout te analyseren. Er wordt gekozen voor 'Yes' omdat dit het onderzoekproces vergemakkelijkt. Druk 'Next >' om verder te gaan.
De velden worden correct gedetecteerd door de wizard en kan er nu overgegaan worden naar het anonimisatie proces. Druk op 'Finish' om de wizard af te sluiten.
Toevoegen van de data target
Definieer de data target, klik hiervoor op de knop 'Add Data Target...'. Kies voor het type URL, het juiste URL profiel en de juiste collectie. Er wordt best gekozen om een nieuwe collectie te gaan aanmaken waarin de geanonimiseerde gegevens zullen in terechtkomen. Druk daarna op 'OK' om verder te gaan.
Er moet uiteraard ook metadata gekoppeld worden aan de data target. De eerder onderzochte metadata van de databron zal gebruikt worden als metadata voor de data target. Klik daarvoor op de knop 'Add Existing Metadata...' en daarna op 'OK'.
Druk daarna op 'Finish' om de wizard te sluiten.
Toepassen van de anonimisatie technieken
Rechterklik nu op het gegeneerde script om anonimisatie hierop te toepassen. Kies voor 'IRI >' en daarna voor 'Edit Targets...'.
Klik op 'Target Field Layout' en klik daarna op het veld dat men wilt anonimiseren. Kies dan voor 'Apply Rule >' en 'Create Rule'. Doorloop de Field Rule wizard en kies voor de gewenste methode om te anonimiseren. In deze usecase wordt gekozen voor de hashing methode.
MD5 Hashing
Van deze functie werd reeds gebruikt gemaakt in een andere usecase. Het MD5 hashing-algoritme verwerkt gegevens in 512-bit strings, opgesplitst in 16 woorden die elk uit 32 bits bestaan. Er wordt gekozen om de familienaam van een persoon te transformeren met behulp van de hashing methode. Kies voor de 'hash_md5' methode, kies het juiste veld als Source field en druk daarna op 'Finish'.
Uitvoeren van de IRI job
Om de masking job uit te voeren kies je voor het 'Run' en 'Run configurations' in het menu. Maak een nieuwe IRI job aan en geef deze een passende naam. Kies uiteraard het juiste project, selecteer de job (script) dat werd geconfigureerd en voer deze uit.
Vervolgens zal de console weergegeven dat de job correct werd uitgevoerd. Zoals er gezien kan worden, is het veld dat werd meegegeven in het hashing proces geanonimiseerd in de collectie.
Het gebruiken van een CSV als databron
In deze usecase zal er gebruik gemaakt worden van een CSV bestand als input. Er zal eerst en vooral een nieuw project en een nieuwe masking job gecreëerd worden.
Toevoegen van de databron (.csv bestand)
De databron wordt toegevoegd, klik hiervoor op 'Add Data Source'. Kies voor type 'File', zoek dan op de lokale computer voor de flat file door op 'Browse' te klikken. Vul het juiste formaat van het bestand in en druk dan op 'OK' om verder te gaan.
De volgende stap is het linken van metadata aan de data source. Klik op 'Discover metadata' en er zal vervolgens een pop-up verschijnen die vraagt of hij de Target Field Lay-Out automatisch mag bepalen. Kies voor 'Yes' en dit zal de 'Delimited File Detection Options' wizard openen. Als de configuratieopties er goed uitzien in de wizard, klik dan op 'Ok' en 'Next > ' om verder te gaan. Let op: kies als formaat voor CSV anders zal de target field lay-out niet correct gedetecteerd worden.
Na het bekijken van de verschillende velden die gedetecteerd worden is het mogelijk om het datatype aan te passen. Rechterklik op een gewenst veld en kies voor 'Edit Datatype', kies daarna een datatype uit de lijst en druk op 'OK' om verder te gaan. Doorloop dit proces meerdere malen voor de verschillende velden.
Klik op 'Next' om verder te gaan en de data target te gaan specifiëren. Kies als type voor file, kies de juiste output file en het corresponderende formaat ervan. In dit voorbeeld maken we een nieuwe CSV aan genaamd 'personen_masked' waarin de geanonimiseerde data zal in terechtkomen. Druk op 'OK' om verder te gaan. Voeg bijgevolg ook weer de bestaande metadata toe.
Toevoegen van de data target (.csv bestand)
De volgende stap is het toevoegen van de data target, dezelfde stappen worden doorlopen als bij het toevoegen van de databron.
Toepassen van de anonimisatietechnieken
Rechterklik op het gegenereerde script en navigeer naar de data targets. Kies hierna voor de optie 'Target Field Layout...' waarin de anonimisatie processen zullen worden toegepast en geconfigureerd.
String Manipulation functie
Met de string manipulation functies is het mogelijk om allerlei strings te gaan transformeren op verschillende manieren. In dit voorbeeld wordt gebruik gemaakt van de replace_char functie om letters in de strings te vervangen door een bepaald karakter. Kies voor een passende regelnaam en druk op 'Next >' om verder te gaan.
Na het uitvoeren van het script, zullen de waarden in de kolom van familienaam vervangen worden door het gekozen karakter.
Vergelijking van beide flat files
personen.csv:
personen_masked.csv:
Op deze pagina:
Vragen of suggesties, contacteer ons via: integraties@vlaanderen.be
Heb je nood aan ondersteuning bij het gebruik van de toepassing, contacteer de 1700.
- No labels