Databeveiliging · Snowflake · PII-architectuur

Maximaal beveiligd. Maar geen enkel dashboard werkte nog.

Het vault-systeem was waterdicht: PII uit de tabel, sleutel terug, join nodig voor de echte waarde. Waterdicht, totdat een dashboard die join afvuurde zonder toegang. Dan krijg je geen gemaskeerde waarde. Je krijgt een fout.

Voor & na
Crypto shredding
PII in de kluis, sleutel in de tabel
Stap 1 · Originele tabel
Naam
Email
Postcode
Sleutel
Jan d.V.
key-a1…
key-a1…
a1b2c3
Stap 2 · Vault tabel
Email_echt
Postcode_echt
Stap 3 · Dashboard query
JOIN op vault

JOIN mislukt zonder toegang → dashboard breekt

Toegang = alles zien of niets. Geen tussenweg.

Dynamic masking policy
Geen vault. Geen join. Gewoon de tabel.
Eén tabel · policy per kolom
Naam
Email
Postcode
Salaris
Jan d.V.
jan@…
1234AB
€4.200
Sara B.
sara@…
5678CD
€3.800
Masking policy
Dashboard query
SELECT * FROM klanten

Query slaagt altijd, voor elke rol

Zichtbaarheid per kolom instelbaar per rol.

Zie het verschil per rol

Klik op een rol om te zien wat diezelfde query teruggeeft.

SELECT * FROM klanten rol: Beheerder
Naam E-mailadres Postcode Salaris
Elke kolom heeft een eigen policy. Postcode geeft bij Analist alleen de cijfers, nuttig voor regioanalyse, zonder privacyrisico. Het salaris is altijd zichtbaar voor Analist omdat die rol budgetrapportages opstelt.
Maximale beveiliging hoeft gebruiksvriendelijkheid niet uit te sluiten. Dat is een ontwerpkeuze.