Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In kader van software development en data mining worden volgende usecases gedemonstreerd. Deze handleiding biedt een stappenplan bij het uitvoeren van deze usecases.

  1. Productie data klaarmaken voor niet productie omgevingen

  2. Het behouden van de referentiële integriteit in een geanonimiseerde databank

  3. De context van een veldwaarde garanderen

  4. Het gebruiken van een niet referentiële database

  5. Het gebruiken van een CSV als databron

Productie data klaarmaken voor niet productie omgevingen

AnchorProductie data klaarmaken voor niet productie omgevingen

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.
Image Removed

Image Added

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.

Expand
titleToevoegen van de databron (productiedatabase)

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.

Image RemovedImage Removed

Image AddedImage Added


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.

Image Removed


Image Added


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.

Image Removed


Image Added


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.

Image RemovedImage Removed


Image AddedImage Added


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.

Image Removed


Image Added


Expand
titleToepassen van de anonimisatie technieken

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. Image Removed


Image Added


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...'.Image RemovedImage Removed


Image AddedImage Added


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...').


Expand
titleRedaction functie
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.


Expand
titlePseudonym vervanging
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'.



Expand
titleEncryptie: AES128
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.


Expand
titleMD5 Hashing
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.




Expand
titleUitvoeren van de IRI job

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.Image Removed


Image Added


Rechterklik hiervoor op het project zelf en kies voor de optie 'Run as >' en daarna voor 'Run Configurations ...'. Image Removed


Image Added


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.


Expand
titleVergelijking van productiedatabase met testdatabase na anonimisatieproces

Vergelijking van productiedatabase met testdatabase na anonimisatieproces


Productiedatabase:Image Removed

Image Added


Testdatabase:Image Removed

Image Added


Het behouden van de referentiële integriteit in een geanonimiseerde databank

AnchorHet behouden van de referentiële integriteit in een geanonimiseerde databankHet behouden van de referentiële integriteit in een geanonimiseerde databankDe 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


Expand
titleHet configureren van de wizard

Het configureren van de wizard

Image Removed


Image Added


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.

Image Removed


Image Added


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.

Image Removed


Image Added


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.

Image Removed


Image Added


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. 


Expand
titleToepassen van de anonimisatie techniek

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. 

Image Removed


Image Added


Kies daarna voor de 'hash_sha1' functie en druk op 'Finish' en 'Next >' om verder te gaan.

Image Removed


Image Added


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.


Expand
titleUitvoeren van de IRI job
Image Removed

Uitvoeren van de IRI job


Image Added


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'.


Expand
titleVergelijking van de tabellen voor- en na het anonimisatieproces 

Vergelijking van de tabellen voor- en na het anonimisatieproces 


Voor het anonimisatieproces

Dossiertabel in bedrijfsdatabase:

Image Removed
Image Added

Personentabel in bedrijfsdatabase:

Image Removed
Image Added
Na het anonimisatieproces

Dossiertabel in bedrijfsdatabase:

Image Removed
Image Added

Personentabel in bedrijfsdatabase:

Image Removed

De context van een veldwaarde garanderen

AnchorDe context van een veldwaarde garanderen
Image Added


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.kolom de blur functie gaan toepassen.


Expand
titleToevoegen van de databron

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. 

Image RemovedImage Removed


Image AddedImage Added


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.


Expand
titleToevoegen van de data target
Image RemovedImage Removed

Toevoegen van de data target


Image AddedImage Added


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...


Expand
titleToepassen anonimisatie techniek

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.

Image RemovedImage Removed


Image AddedImage Added


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'.

Image Removed


Image Added


Kies voor de blur_age functie en geef de gewenste parameters mee, druk daarna op 'Finish' om verder te gaan.



Expand
titleVergelijking van de kolommen in de database
Voor de blur functie

Image Removed

Na de blur functie

Image Removed

Het gebruiken van een niet referentiële database

AnchorHet gebruiken van een niet referentiële database

Vergelijking van de kolommen in de database

Voor de blur functie
Image Added
Na de blur functie
Image Added

Het gebruiken van een niet referentiële

database 

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.


Expand
titleURL Connection Registry

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.

Image Removed


Image Added


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.

Image Removed


Image Added


Expand
titleToevoegen van de databron

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.

Image Removed


Image Added


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.

Image Removed


Image Added


De volgende stap is om de metadata te onderzoeken binnenin de collectie. Druk op de knop 'Discover Metadata'.

Image Removed


Image Added


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.

Image Removed


Image Added


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.

Image Removed


Image Added


Expand
titleToevoegen van de data target

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.

Image Removed


Image Added


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'.

Image Removed


Image Added


Druk daarna op 'Finish' om de wizard te sluiten.


Expand
titleToepassen van de anonimisatie technieken

Toepassen van de anonimisatie technieken

Rechterklik nu op het gegeneerde script om anonimisatie hierop te toepassen. Kies voor 'IRI >' en daarna voor 'Edit Targets...'.

Image Removed


Image Added


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.

Image Removed


Image Added
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'.

Image Removed


Image Added


Expand
titleUitvoeren van de IRI job

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.

Image Removed


Image Added


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.

Image Removed


Image Added


Het gebruiken van een CSV als databron

AnchorHet gebruiken van een CSV als databronHet gebruiken van een CSV als databronIn 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.

Expand
titleToevoegen van de databron (.csv bestand)

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.

Image Removed


Image Added


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.

Image Removed


Image Added


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.

Image Removed


Image Added


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.



Expand
titleToevoegen van de data target (.csv bestand)

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.

Image Removed


Image Added



Expand
titleToepassen van de anonimisatietechnieken

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.

Image Removed


Image Added
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.

Image Removed


Image Added


Na het uitvoeren van het script, zullen de waarden in de kolom van familienaam vervangen worden door het gekozen karakter.


Expand
titleVergelijking van beide flat files

Vergelijking van beide flat files


personen.csv:

Image Removed
Image Added


personen_masked.csv:

Image Removed
Image Added


Op deze pagina: 

Table of Contents
maxLevel5


Info

Vragen of suggesties, contacteer ons via: integraties@vlaanderen.be 

Heb je nood aan ondersteuning bij het gebruik van de toepassing, contacteer de 1700.