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
Anchor |
Productie 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 AddedNa 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 |
---|
title | Toevoegen 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 RemovedImage 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 |
---|
title | Toepassen van de anonimisatie technieken |
---|
|
Toepassen van de anonimisatie techniekenNa 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 |
---|
| Redaction functieDeze 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 |
---|
title | Pseudonym vervanging |
---|
| Pseudonym vervangingDeze 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 |
---|
| Encryptie: AES128Er 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 |
---|
| MD5 HashingDe 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 |
---|
title | Uitvoeren van de IRI job |
---|
|
Uitvoeren van de IRI jobDe 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 |
---|
title | Vergelijking 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
Anchor |
---|
Het behouden van de referentiële integriteit in een geanonimiseerde databank | 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.
Expand |
---|
title | 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 |
---|
title | Toepassen van de anonimisatie techniek |
---|
|
Toepassen van de anonimisatie techniek
SHA1 HashingDe 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 |
---|
title | Uitvoeren van de IRI job |
---|
|
Image RemovedUitvoeren 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 |
---|
title | Vergelijking van de tabellen voor- en na het anonimisatieproces |
---|
|
Vergelijking van de tabellen voor- en na het anonimisatieproces
Voor het anonimisatieprocesDossiertabel in bedrijfsdatabase: |
Image RemovedImage Added Personentabel in bedrijfsdatabase: |
Image RemovedImage AddedNa het anonimisatieprocesDossiertabel in bedrijfsdatabase: |
Image RemovedImage Added Personentabel in bedrijfsdatabase: |
Image Removed
De context van een veldwaarde garanderen
Anchor |
De context van een veldwaarde garanderenImage 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 |
---|
title | Toevoegen van de databron |
---|
|
Toevoegen van de databronEr 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 |
---|
title | Toevoegen van de data target |
---|
|
Image RemovedImage RemovedToevoegen 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 |
---|
title | Toepassen anonimisatie techniek |
---|
|
Toepassen anonimisatie techniek
Blur functieDoormiddel 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 |
---|
title | Vergelijking 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
Anchor |
Het gebruiken van een niet referentiële databaseVergelijking van de kolommen in de databaseVoor de blur functieImage AddedNa de blur functieImage 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 |
---|
title | URL Connection Registry |
---|
|
URL Connection RegistryDeze 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 |
---|
title | Toevoegen van de databron |
---|
|
Toevoegen van de databronHet 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 |
---|
title | Toevoegen van de data target |
---|
|
Toevoegen van de data targetDefinieer 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 |
---|
title | Toepassen van de anonimisatie technieken |
---|
|
Toepassen van de anonimisatie techniekenRechterklik 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 AddedMD5 HashingVan 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 |
---|
title | Uitvoeren van de IRI job |
---|
|
Uitvoeren van de IRI jobOm 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
Anchor |
---|
Het gebruiken van een CSV als databron | 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
. Expand |
---|
title | Toevoegen 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 |
---|
title | Toevoegen 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 |
---|
title | Toepassen van de anonimisatietechnieken |
---|
|
Toepassen van de anonimisatietechniekenRechterklik 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 AddedString Manipulation functieMet 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 |
---|
title | Vergelijking van beide flat files |
---|
|
Vergelijking van beide flat files
personen.csv: |
Image RemovedImage Added
personen_masked.csv: |
Image RemovedImage Added |