esito-logo
  • Online tjenester
  • g9
  • Produkter
  • Nyheter
  • Om oss
  • Kontakt
  • Switch to english

DBmasker

Innføringen av GDPR har store konsekvenser for behandlingen av personlige og sensitive data. DBmasker gir verktøystøtte for enkelt å lage programmer som understøtter funksjonelle krav som GDPR pålegger og DBmasker kan produsere databaser anonymisert for test- og utviklingspersonell.

DBmasker er en tilstandsløs skytjeneste som genererer anonymiseringsprogrammer basert på et enkelt språk: ANOnymization language ANO.

Hvordan kan DBmasker hjelpe deg?

  • Endre data ved hjelp av maskering og anonymisering

  • Lage et “subset” av databasen for test og utvikling

  • Lage syntetiske data som passer til dine tester

  • Bruke samme maskering på tvers av mange tabeller og databaser

  • Beskytte utviklere mot personidentifiserbare data

Hvordan virker det?

  • Skrive regler i et intuitivt og lettfattelig programmeringsspråk

  • DBmasker genererer programmet som maskerer og anonymiserer data

Import Database Model

 
 

DBmasker: Endrer data ved hjelp av maskering og anonymisering

  • Gjør data ugjenkjennelig: du kan maskere, permutere og randomisere data med input fra mange kilder
  • Gjør det mulig å anonymisere personidentifiserbare data som navn og fødselsnummer
  • Definer maskerings- og anonymiseringsregler med sekvens, tilfeldig valg, data fra filer eller databasekolonner
  • Bestem hvilke data som skal maskeres ved hjelp av logiske uttrykk og parametre
  • Masker data for utviklere i test/utvikling uten at de kan identifisere sensitiv informasjon
  • Utvid med algoritmer for typekonvertering og verditransformasjon, som sikrer riktig verdi og syntaks
  • Definer dine egne regler i jobber, som kjøres separat eller samlet
 
// Sample code for data masking
task Anonymize
	// Anonymize - Mask various fields
	update CUSTOMER
		// Create random norwegian phone number
		mask PHONE
			format "+47 %d"
			random integer 10001000 99909990
		// Create names from list of firstnames and lastnames, 
		// two parameters format
		mask NAME
			format "%s %s"
			file src/main/resources/firstname.txt random-order
			file src/main/resources/lastname.txt random-order
		// Create random creditcard with checksum that validates
		mask CREDITCARD
			format 41428340%d
			// Ensure that the number is valid
			transform CreditCard
			random integer 10001000 99919991
 

 
 

DBmasker: Lager et “subset” av databasen for test og utvikling

  • Reduser databasestørrelsen for testformål. En produksjonsdatabase er ofte stor, og det tar tid å kopiere. En database med redusert størrelse gjør hverdagen enklere for utviklere
  • Fjerning av dataforekomster bruker referanseintegritet i full dybde. En liten regel kan fjerne data fra mange tabeller som avhenger av hverandre
  • Du kan legge til avhengigheter hvis fremmednøkler mangler
  • Skaler ned, men behold representative data for test
 
// SUB-SETTING - remove records with multiple dependencies, depth first
delete HOTEL where "ID < 1000" {
	cascade BOOKING
	parent ID
	child HOTEL_ID {
		cascade STAY
		parent ID
		child BOOKING_ID {
			cascade NIGHT
			parent SERIALNO, CUSTOMER_CUSTOMERNO
			child STAY_SERIALNO, STAY_CUSTOMER_CUSTOMERNO
		}
	}
	cascade ROOM
	parent ID
	child HOTEL_ID {
		// The NIGHTs may have been removed already
		cascade NIGHT
		parent ID
		child ROOM_ID
	}
	// There migth be STAYs without BOOKINGs
	cascade STAY
	parent ID
	child LOCATION_ID {
		cascade NIGHT
		parent SERIALNO, CUSTOMER_CUSTOMERNO
		child STAY_SERIALNO, STAY_CUSTOMER_CUSTOMERNO
	}
}
 

 
 

DBmasker: Oppretter syntetiske data for å håndtere testene dine

  • Kom fort i gang fra en tom database ved å legge til innhold definert av regler
  • Lag data som støtter dine definerte tester
  • Innlegging av nye data støtter referanseintegritet i full dybde
  • Legg til data i medlemstabeller med fleksibel distribusjon av fremmednøkler på tvers av alle tabeller
  • Utvid med egendefinerte algoritmer for distribusjon av medlemsdata og fremmednøkler
 
// Insert new data
task "Create"
// Creating records in parent table
create HOTELCHAIN
	minimum-rows 5
	mask ID
		format %d
		sequence -1 1
	mask NAME
		format "%s's Hotels"
		file src/main/resources/hotelchain.txt random-order
// Creating records in child table HOTEL
create HOTEL
	mask ID
		format %d
		unique
		sequence -1 1
	mask NAME
		format "%s's Hotel"
		file src/main/resources/hotel.txt random-order
	// Divide Hotels per HotelChain with a deviation of 1
	distribute MinPerParent ""
		// Divide Hotels per HotelChain with a deviation of 1
		table HOTELCHAIN 2
			child CHAIN_ID
			parent ID
 

 
 

DBmasker: Samme maskering på tvers av mange tabeller og databaser sikrer konsistens

  • Støtter referanseintegritet over mange tabeller i full dybde
  • Manuelt definerte avhengigheter vil oppføre seg på samme måte som fremmednøkler
  • Legg til integritet for logiske pekere mellom databaser ved bruk av mapping og kryptering
  • Det genererte programmet kan kjøres mot ulike RDBMSer
 
task Advanced
// Export anonymization to mapping file
update HOTEL
	// Output results to an encrypted file
	shuffle NAME
		map hotelmap.txt output encrypted 
// Use a Mapping file as input
update COMPANY
	// Reuse masking from another database
	mask NAME 
		map company_name.txt input 
 

 
 

DBmasker: Beskytter utviklere mot personidentifiserbare data

  • Utviklere/testere blir ofte eksponert for data de ikke skulle se
  • Bruk DBmasker for å anonymisere, maskere, subsette og lage data for test- og utviklingsdatabaser
  • DBmasker forbedrer og akselererer utvikling av maskerte og anonymiserte data
  • GDPR endrer utviklingsprosessene

Beskytt utviklere

 
 

DBmasker: Skrive regler i et intuitivt og lettfattelig programmeringsspråk

  • DBmasker har et DSL skreddersydd for å definere data maskering og anonymisering
  • DBmasker kompilerer reglene til java
  • DBmasker supporterer JDBC database drivere
  • DBmasker ANO syntaks beskrivelse
 
// Sample schema definitions
table CUSTOMER
    column integer CUSTOMERNO size 10
    column text NAME size 40
    column text CREDITCARD size 16
    column text EMAIL size 40
    column text PHONE size 20
    primary-key CUSTOMERNO
    unique NAMEINDEX NAME
 
table INVOICE
    column integer INVOICENO size 10
    column text INVOICETEXT size 100
    column decimal VALUE size 10 scale 2
    column integer CUSTOMER_CUSTOMERNO size 10
    primary-key INVOICENO
 
foreign-key
    INVOICE CUSTOMER_CUSTOMERNO
    CUSTOMER CUSTOMERNO
 

 
 

DBmasker: Genererer programmet som maskerer og anonymiserer data

  • Genererer et program fra dine definerte maskering- og anonymiseringsregler
  • Programet gjør alt, du må bare kjøre det
  • Ingen “lock-in”, du kan vedlikeholde den genererte koden uavhengig av verktøyet
  • Supporterer JDBC baserte RDBMS some Oracle, SQL Server, Sybase, MySQL, PostgreSQL
  • Kan kjøres som CLI program eller bakes inn i en applikasjon
  • Enkelt, repeterbart, og lett å bruke. Du kan kjøre det generererte programmet mange ganger
  • DBmasker generator tjeneste

Eksempel på kjøring av generert programkode

Esito AS (987693681)
Nyheter
Datterselskap av
Inmeta Consulting

Sandakerveien 114 A
PB 4384 Nydalen
0402 Oslo
Se kart      

Telefon
+47 2289 1000
E-post
adm@esito.no
Support