Data maskeren in Salesforce

Voldoe aan de AVG door het maskeren van data in een Salesforce omgeving

In software ontwikkeling zijn we altijd gefocust op tijd. We moeten tijdig releasen: op tijd en op verzoek. Om dat te kunnen, proberen we zoveel mogelijk te automatiseren. Salesforce heeft standaard een productie-omgeving en helpt ons met het samenstellen van zogenaamde sandboxes voor ontwikkeling (dit kan een ruime hoeveelheid sandboxes zijn). Elk van deze sandboxes moet voldoen aan privacywetgeving, net zoals de productie-omgeving. Maar hoe doe je dat?

salesforce-data-masking

Bescherm klantdata

Als organisatie wil je goed zorgen voor je klanten en hun data. Zij vertrouwen jou hun data toe dus moet je jezelf afvragen: “Wat moet ik doen om mijn klantdata veilig te houden?” Hoe zorg je ervoor dat de data in je Salesforce sandboxes geanonimiseerd is zodat het kan en mag worden gebruikt voor test- en ontwikkeldoeleinden? Er zijn een paar dingen waar je rekening mee moet houden, want het aanpassen van data voor je sandboxes heeft impact op de teams die werken met deze sandboxes (analyse, test en ontwikkeling).

De meeste organisaties maken meerdere kopieën van productie voor de ‘lagere’ omgevingen zoals development, test and acceptance. Vervolgens worden deze kopieën geanonimiseerd of gemaskeerd. Maar dit beïnvloedt teams die in deze omgevingen werken, omdat je data aanpast terwijl zij ontwikkelen en testen met de originele data. Hier is een oplossing voor. 

Met behulp van een toegewezen omgeving kun je je productiedata repliceren op elk gewenst moment. Deze “Test Data Master” (zoals wij het noemen) kun je vervolgens maskeren of anonimiseren. Vervolgens kun je focussen op de verstrekking (geautomatiseerd of op aanvraag) vanuit deze gemaskeerde bron.

Salesforce uitdaging

In Salesforce kunnen gebruikers of teams sandboxes ontwikkelen voor specifieke omgevingen, zoals ontwikkeling en test. Deze sandboxes hebben data nodig, dus hoe krijgen we data van productie in deze sandboxes? Een beetje ouderwetse maar nog steeds veel gebruikte methode is door het maken van een exacte kopie van productie naar deze sandboxes: alles wordt gekopieerd vanuit productie, zowel functioneel als technisch. Je creëert dan dus eigenlijk een tweede productie-omgeving. Dit zou je niet moeten willen. Je wilt niet dat je ontwikkelaars en testers al deze klantgegevens kunnen inzien; je wilt (en moet!) deze data juist beschermen.

De oplossing

Samen met onze partner Valori hebben we een oplossing bedacht en gecreëerd om de klantdata in ontwikkel- en testwerkzaamheden te beschermen. Valori is al jaren onze trainings- en implementatiepartner. Hun focus – al 30 jaar lang – ligt bij ‘testing and quality’. Ze zorgen ervoor dat software op het juiste kwaliteitsniveau wordt geleverd. Test Data Management is één van de pijlers waarmee ze hun klanten helpen om dit te realiseren. Met een combinatie van DATPROF Runtime en DATPROF Privacy hebben ze een package gecreëerd die het mogelijk maakt om alle informatie in de Salesforce omgeving (productie bijvoorbeeld) in te lezen en een één-op-één kopie in een aparte omgeving (een ‘DATPROF omgeving’) te maken. Deze omgeving moet nog steeds worden behandeld als zijnde een productie-omgeving. Het resultaat van deze kopie is een ‘normale’ relationele database die we kunnen wijzigen met DATPROF Privacy scripts om zo de data te anonimiseren. Wanneer de data geanonimiseerd is, kunnen we het terug sturen naar de Salesforce omgeving. Dan hebben we een geanonimiseerde, functioneel en technisch intacte kopie van productie die kan – en mag – worden gebruikt voor ontwikkel- en testwerkzaamheden: de klantdata is beschermd.

Meerdere sandboxes

Maar wat als je meerdere teams hebt en je wilt meerdere sandboxes creëren of je moet meerdere omgevingen onderhouden? Veel organisaties gebruiken nog steeds de DTAP benadering, waarbij ontwikkel- test- en acceptatie-omgevingen met elkaar verbonden zijn. Maar met Salesforce kun je slechts één volledige kopie van productie maken, volgens de standaardinstellingen. Dus hoe krijgen we data in de andere omgevingen?

Dankzij de intelligente oplossing is het niet alleen mogelijk om de geanonimiseerde data terug te sturen naar de originele bron, het is ook mogelijk om het naar andere sandboxes te sturen. Stel je dus voor dat je alle informatie van productie hebt, je hebt hieruit een geanonimiseerde dataset gecreëerd en je hebt 3 omgevingen die data nodig hebben… Dan creëer je drie pipelines in DATPROF Runtime om zo alle drie sandbox omgevingen te voorzien van deze nieuwe dataset. Op deze manier heeft elke ontwikkelaar of tester zijn of haar eigen geïsoleerde omgeving zonder een keten van omgevingen te breken, zonder andere tests te beïnvloeden en zonder te worden beïnvloed door andere mensen. Zeer voordelig dus voor de gehele snelheid in ontwikkeling en test.

Bekijk de demo video om de oplossing in actie te zien!

Demo data masking in salesforce

Functionele integriteit

Dankzij de gezamenlijke inspanningen van DATPROF en Valori hebben we deze oplossing voor Salesforce kunnen creëren. Tijdens de eerste implementatie door Valori op locatie bij de klant werd de uitdaging breder dan alleen het anonimiseren en subsetten van data binnen Salesforce. Een belangrijk aspect voor het succes van de implementatie was de functionele integriteit van de data tussen de Salesforce-applicatie en andere applicaties binnen de keten. Specifieke processen, die end-to-end moesten worden getest, waren afhankelijk van Salesforce en een ander systeem. Daarom ontstond de behoefte aan functionele integriteit van data. De oplossing werd aangepast door Valori om te worden geketend en tegelijkertijd geanonimiseerd en gesubset voor beide systemen.

Conclusie

Met de oplossing die hierboven is beschreven en getoond in de demo video kunnen we data uit de Salesforce-productieomgeving hergebruiken en anonimiseren. Het maakt niet uit of je één of twintig sandboxes nodig hebt – het kan allemaal. Ook kun je je data vanuit Salesforce koppelen met bijvoorbeeld SAP, het Pega Platform of een stand-alone platform of applicaties die je zelf hebt gemaakt. Je kunt dezelfde data tussen deze systemen synchroniseren.

Wil je meer weten?

Stuur even een berichtje!

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Data Masking

DATPROF Privacy

Data Automation

DATPROF Runtime

Data Discovery

DATPROF Analyze