Purview DLP-beleid Voor Nederlandse Overheden

💼 Management Samenvatting

Microsoft Purview Data Loss Prevention vormt de digitale sluis tussen gevoelige informatie en de buitenwereld. Voor Nederlandse overheidsorganisaties is een doordacht DLP-landschap de enige manier om aan burgers, toezichthouders en ketenpartners te laten zien dat persoonsgegevens en staatsgevoelige gegevens niet ongecontroleerd via e-mail, chat of cloudopslag kunnen uitlekken.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
200u (tech: 80u)
Van toepassing op:
Microsoft Purview
Exchange Online
SharePoint Online
OneDrive for Business
Microsoft Teams

Dagelijkse werkpraktijken bevatten talloze momenten waarop medewerkers documenten buiten de organisatie willen delen. Denk aan het versturen van bezwaarbesluiten naar advocaten, het delen van projectplannen met leveranciers of het uitwisselen van onderzoeksgegevens met Europese instellingen. Zonder Purview DLP ontbreekt een sluitend mechanisme dat automatisch controleert of deze uitwisseling is toegestaan, of dat er sprake is van persoonsgegevens die onder de AVG vallen, informatie die volgens de BIO als departementaal vertrouwelijk is geclassificeerd of gegevens die in de Wet politiegegevens of archiefwetgeving zijn verankerd. Alleen al het argument dat procedures bestaan is niet langer voldoende; bestuursorganen moeten aantoonbaar kunnen laten zien dat technische maatregelen elk bericht toetsen, blokkeren en registreren.

PowerShell Modules Vereist
Primary API: Microsoft Purview compliance portal, Security & Compliance PowerShell
Connection: Connect-IPPSSession, Connect-ExchangeOnline
Required Modules: ExchangeOnlineManagement

Implementatie

Dit artikel beschrijft hoe een volwassen Purview DLP-strategie wordt opgezet voor de context van de Nederlandse Baseline voor Veilige Cloud. We behandelen de vertaling van beleid naar architectuur, de inrichting van gevoelige informatietypen voor Nederlandse datasets, de automatisering van detectie en blokkades, de aansluiting op SOC-processen en de bewijslast richting auditors en toezichthouders. Het bijbehorende PowerShell-script biedt een reproduceerbare validatie die in Debug-modus lokaal te testen is en in productie zowel monitoring als remediatie kan uitvoeren.

Risicogestuurde architectuur voor Purview DLP

Een DLP-beleid dat werkelijk bijdraagt aan bestuurlijke zekerheid begint bij de vraag welke risico’s de organisatie moet beheersen. Overheidsinstellingen verwerken gegevens uit basisregistraties, BSN’s, medische dossiers, politiegegevens, financiële kengetallen en vertrouwelijke beleidsnotities. Purview DLP ondersteunt deze diversiteit alleen wanneer het beleid een duidelijke taxonomie kent voor informatiestromen, wanneer gevoeligheidslabels onlosmakelijk zijn verbonden met gegevensklassificaties en wanneer de juridische grondslag expliciet is. Het architectuurontwerp koppelt daarom direct het privacyregister, de BIO-controles en eventuele sectornormen (bijvoorbeeld BIR, BIC of Wpg) aan concrete beleidsregels. Zo ontstaat per gegevenscategorie een set detectieregels, acties en verantwoordelijken. Het gevolg is dat bestuurders precies kunnen zien welke waarborgen gelden voor bijvoorbeeld BSN’s in zaakdossiers of onderzoeksgegevens die gedeeld worden met Europese toezichthouders.

De governance-laag is minstens zo belangrijk als de techniek. Elk DLP-beleid heeft een eigenaar, meestal het CISO-office of de Chief Privacy Officer, terwijl functioneel beheer binnen een Purview-team is belegd. Besluitvorming over uitzonderingen wordt vastgelegd in een CAB-proces met dubbele goedkeuring en automatische expiratie. De architectuur voorziet in scenario’s voor samenwerking met ketenpartners, waarbij wordt vastgelegd of er gewerkt wordt met guest accounts, federatieve identiteiten of veilige kanalen zoals Zivver. Voor ieder scenario beschrijft de architectuur hoe Purview DLP de datastroom toetst, welke meldingen worden gegeven en hoe overrides worden geregistreerd in het incident- of privacyregister. Dit voorkomt dat beleidsmakers gedwongen worden ad hoc uitzonderingen toe te staan zonder controle op de geldigheidsduur of de herkomst van de gegevens.

Een volwassen architectuur integreert Purview DLP met andere beveiligingslagen. Gevoeligheidslabels, encryptie en Conditional Access zijn geen concurrerende technologieën, maar onderdelen van een keten. Wanneer een document het label “Departementaal Vertrouwelijk” draagt, moet Purview DLP de metadata kunnen lezen en er strengere acties aan koppelen. Het beleid vult deze keten aan met Signal-informatie uit Microsoft Defender for Cloud Apps, zodat het delen richting shadow-IT applicaties automatisch wordt geblokkeerd. Tegelijkertijd blijft gebruiksvriendelijkheid een ontwerpcriterium: gebruikers zien duidelijke beleidstips in hun eigen taal, inclusief verwijzing naar interne procedures en contactpersonen. Hierdoor wordt de koppeling tussen beleidsdoelen en gebruikerservaring zichtbaar, wat essentieel is voor draagvlak in organisaties die dagelijks onder politieke en maatschappelijke druk staan.

Omdat steeds meer gegevens grensoverschrijdend worden gedeeld, moet de architectuur rekening houden met internationale verplichtingen rond gegevensoverdracht. Purview DLP maakt het mogelijk onderscheid te maken tussen verkeer binnen de EU Data Boundary en uitgaande stromen naar derde landen. Organisaties die bijvoorbeeld deelnemen aan Europese samenwerkingsprogramma’s kunnen per beleidsregel specificeren welke landen of domeinen zijn toegestaan en welke aanvullende logging nodig is. De architectuur documenteert hoe DLP-signalen naar Microsoft Sentinel of een andere SIEM worden gestuurd, zodat ketenpartners een audittrail ontvangen wanneer informatie het land verlaat. Deze documentatie wordt onderdeel van het verwerkingsregister, wat het gesprek met de Functionaris Gegevensbescherming en externe auditors aanzienlijk versnelt. Zo wordt DLP een integraal onderdeel van risicomanagement en niet slechts een technische blokkade.

Implementatie van Purview DLP voor Nederlandse datasets

De implementatie start met een inventarisatie van gevoelige informatietypen. Naast standaard Microsoft-templates worden maatwerkdefinities toegevoegd voor Nederlandse context: burgerservicenummers, IBAN’s, erkenningsnummers voor zorgaanbieders, OM-zaken, gemeentelijke zaaknummers en combinaties van termen die vaak voorkomen in beslissingen of politierapporten. Exact Data Match (EDM) wordt ingezet om verzamelingen zoals uitkeringslijsten of subsidies te beschermen zonder dat de ruwe data naar de cloud hoeft te worden gekopieerd. Het projectteam documenteert per informatiestroom welke trefwoorden, regex-patronen en EDM-schema’s worden gebruikt en hoe false positives worden beperkt. Door de definities te koppelen aan bewaartermijnen en archiefniveaus uit de Archiefwet ontstaat een directe relatie tussen inhoud, bewaarbeleid en technische controles.

Daarna volgt het ontwerpen van beleidsregels per scenario. Voor e-mailstromen richting externe domeinen gelden andere acties dan voor het delen van documenten via Teams-kanalen of OneDrive-koppelingen. De roadmap beschrijft hoe policies trapsgewijs worden uitgerold: eerst in “Testen met volledige resultaten” voor een selecte groep eigenaars, daarna in auditmodus en uiteindelijk afdwingend. Elke fase bevat meetpunten zoals het percentage blokkades met succesvolle override, de duur van uitzonderingen en de hoeveelheid meldingen per afdeling. Medewerkers ontvangen vooraf communicatie waarin wordt uitgelegd hoe beleidstips werken en waarom blokkades soms noodzakelijk zijn. Trainingsmateriaal wordt afgestemd op rollen: juristen krijgen uitleg over juridische grondslagen, IT-beheer ziet hoe logboeken werken en directies krijgen dashboards met belangrijkste indicatoren.

Automatisering is cruciaal om het beleid beheersbaar te houden. PowerShell en Microsoft Graph automatiseren configuratie-export, policy-versiebeheer en rapportages richting het CISO-office. Change-scripts schrijven weggeschreven configuraties weg naar een git-repository zodat iedere wijziging herleidbaar is. Ook exception-workflows worden geautomatiseerd: wanneer een project tijdelijk ruimere deelrechten nodig heeft, ontstaat via een Power Automate-stroom een tijdelijk label waarmee DLP specifieke documenten doorlaat, inclusief automatische afloopdatum en logregels. Deze automatisering wordt gekoppeld aan het service management-systeem zodat CAB-besluiten direct zichtbaar zijn voor auditors. Hierdoor blijft de beheerlast beheersbaar en kan dezelfde kleine Purview-staf meerdere tenants bedienen.

Tot slot voorziet de roadmap in verificatie en performance-metingen. Voor elke policy worden synthetische documenten gebruikt om detectie en blokkade te testen binnen de maximaal vijftien seconden die voor lokale testscenario’s zijn toegestaan. Wanneer organisaties multi-tenant of multi-cloud werken, wordt ook gecontroleerd of uitgaand verkeer via Exchange-hybride servers of derde-partij gateways alsnog wordt afgevangen. Lessons learned worden verwerkt in een levend draaiboek dat zowel technische stappen als communicatie-templates bevat. Door implementatie, testing en documentatie als één geïntegreerd traject te organiseren, ontstaat een Purview DLP-omgeving die niet alleen technisch klopt, maar ook bestuurlijk en juridisch verdedigbaar is.

Operationele borging, monitoring en rapportage

Na oplevering verschuift de aandacht naar continue borging. Purview DLP levert rijke telemetrie die via de Activity Explorer, rapportage-API’s en Microsoft Sentinel kan worden ontsloten. Het operationele model beschrijft hoe dagelijks wordt gemonitord op pieken in blokkades, welke drempels aanleiding zijn voor onderzoek en hoe bevindingen worden gedeeld met het incident response-team. Voor vitale processen zoals verkiezingsdossiers of politiedata gelden verlaagde drempels zodat het SOC sneller wordt gealarmeerd. De monitoring sluit aan op bestaande runbooks waardoor incidenten rond gegevensverlies dezelfde structuur volgen als andere security-meldingen. Door elke melding te voorzien van beleid-ID, gevoeligheidslabel en betrokken locatie ontstaat een dataset waarmee trends vroegtijdig zichtbaar worden.

Rapportage richting bestuurders en toezichthouders vraagt een andere invalshoek dan technische monitoring. Maandelijks ontvangt het directieteam een samenvatting met kernindicatoren: percentage documenten met gevoeligheidslabel, aantal uitzonderingen dat is verlopen, top vijf van gedeelde domeinen en doorlooptijd van overrideverzoeken. Deze gegevens worden gekoppeld aan risicoregisters, zodat bestuurders kunnen afwegen of aanvullende maatregelen noodzakelijk zijn. Voor de Functionaris Gegevensbescherming worden rapportages aangevuld met informatie over persoonsgegevens-categorieën en juridische grondslagen. Wanneer de Algemene Rekenkamer of de Autoriteit Persoonsgegevens een onderzoek uitvoert, kunnen relevante dashboards en exportbestanden direct worden gedeeld, inclusief de bijbehorende change logs.

Operationele borging omvat ook periodieke herbeoordeling van policies. Jaarlijks worden gevoeligheidsdefinities getoetst aan nieuwe wet- en regelgeving, zoals wijzigingen in de Woo of de Wet digitale overheid. Daarnaast wordt geverifieerd of nieuwe cloudservices – bijvoorbeeld Loop, Viva Engage of Copilot-extensies – binnen de reikwijdte van DLP vallen. Het beheerteam werkt hierbij nauw samen met architecten en product owners zodat nieuwe functionaliteiten niet ongemerkt gevoelige data buiten de beveiligde kanalen laten stromen. Elk wijzigingsvoorstel bevat een risicoanalyse, een testplan en de uitkomst van lokale debug-sessies waarbij het script uit dit artikel wordt gebruikt om configuraties te valideren zonder productie te raken.

Tot slot borgt de organisatie kennis en vaardigheden. Nieuwe beheerders doorlopen een opleidingstraject waarin zowel technische bediening van Purview als juridische kaders worden behandeld. Gebruikerscommunicatie wordt jaarlijks vernieuwd met voorbeelden uit recente incidenten, zodat bewustzijn hoog blijft. Dezelfde communicatie dient als onderbouwing in volwassenheidsassessments zoals CMMI of BIO-zelfevaluaties. Door monitoring, rapportage, periodieke reviews en opleiding te combineren ontstaat een duurzaam programma waarbij Purview DLP niet wordt gezien als hinderlijke blokkade maar als onmisbare veiligheidsvoorziening die aantoonbaar bijdraagt aan vertrouwen in de digitale overheid.

Automatisering en validatie met PowerShell

Gebruik PowerShell-script dlp-policies.ps1 (functie Invoke-PurviewDlpBaseline) – Het script voert lokale debugcontroles uit, inventariseert bestaande Purview DLP-policies via Connect-IPPSSession en maakt waar nodig een baselinepolicy aan voor BSN-, IBAN- en andere Nederlandse gegevenssets. In monitoringmodus genereert het script een rapport met beleidsstatus en aanbevelingen; in remediatiemodus kan het dezelfde configuratie consistent uitrollen..

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Baselinecontrole voor Purview DLP-beleid in Microsoft 365. .DESCRIPTION Dit script valideert of een organisatiebrede Purview DLP-policy aanwezig is, controleert of BSN-, IBAN- en andere Nederlandse informatietypen worden afgedwongen en kan dezelfde configuratie automatisch uitrollen. Het script ondersteunt een DebugMode waarmee alle checks lokaal en zonder cloudverbinding in minder dan vijftien seconden kunnen worden getest. .NOTES Filename: dlp-policies.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-11-27 Last Modified: 2025-11-27 Version: 1.0 Related JSON: content/m365/purview/dlp-policies.json Workload: Microsoft 365 / Purview .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\dlp-policies.ps1 -Monitoring Voert een uitgebreide compliance- en monitoringcontrole uit. .EXAMPLE .\dlp-policies.ps1 -Remediation Maakt het baselinebeleid aan of herstelt ontbrekende onderdelen. .EXAMPLE .\dlp-policies.ps1 -DebugMode -Monitoring Voert een lokale test uit zonder verbinding te maken met Microsoft 365. #> #Requires -Version 5.1 #Requires -Modules ExchangeOnlineManagement [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [switch]$Revert, [Parameter()] [switch]$DebugMode, [Parameter()] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $script:Connected = $false $script:PurviewSession = $null $script:BaselinePolicyName = 'NL Sensitive Data Protection' $script:BaselineRuleName = "$script:BaselinePolicyName - BSN IBAN Rule" function Write-Banner { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Purview DLP baseline" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan } function Connect-RequiredServices { [CmdletBinding()] param() if ($DebugMode) { Write-Verbose "DebugMode actief: er wordt geen cloudverbinding opgebouwd." return } if ($script:Connected) { return } Write-Verbose "Verbinding maken met Exchange Online en Security & Compliance PowerShell." Connect-ExchangeOnline -ShowBanner:$false -ErrorAction Stop | Out-Null $session = Connect-IPPSSession -ShowBanner:$false -ErrorAction Stop $script:PurviewSession = $session $script:Connected = $true } function Disconnect-RequiredServices { [CmdletBinding()] param() if (-not $DebugMode) { try { if ($script:PurviewSession) { Remove-PSSession -Session $script:PurviewSession -ErrorAction SilentlyContinue $script:PurviewSession = $null } Disconnect-ExchangeOnline -Confirm:$false -ErrorAction SilentlyContinue | Out-Null } catch { Write-Verbose "Fout bij het verbreken van de sessies: $($_.Exception.Message)" } } $script:Connected = $false } function Get-BaselineDefinition { [CmdletBinding()] param() return [ordered]@{ PolicyName = $script:BaselinePolicyName RuleName = $script:BaselineRuleName SensitiveTypes = @( @{ Name = 'Netherlands Citizen Service Number (BSN)'; MinCount = 1 }, @{ Name = 'International Banking Account Number (IBAN)'; MinCount = 1 }, @{ Name = 'EU Debit Card Number'; MinCount = 1 } ) Locations = @('Exchange', 'SharePoint', 'OneDrive', 'Teams') } } function Get-PurviewDlpPolicies { [CmdletBinding()] param() if ($DebugMode) { return ,([pscustomobject]@{ Name = $script:BaselinePolicyName Enabled = $true Mode = 'Enable' ExchangeLocation = @('All') SharePointLocation = @('All') OneDriveLocation = @('All') TeamsLocation = @('All') }) } Connect-RequiredServices return Get-DlpCompliancePolicy -ErrorAction Stop } function Test-IsLocationComplete { [CmdletBinding()] param( [Parameter()] $Value ) if ($null -eq $Value) { return $false } if ($Value -is [string]) { return ($Value -eq 'All') } return ($Value -contains 'All') } function Get-PurviewDlpRules { [CmdletBinding()] param( [Parameter(Mandatory)] [string]$PolicyName ) if ($DebugMode) { return ,([pscustomobject]@{ Name = $script:BaselineRuleName Policy = $script:BaselinePolicyName ContentContainsSensitiveInformation = @( @{Name = 'Netherlands Citizen Service Number (BSN)'; MinCount = '1' }, @{Name = 'International Banking Account Number (IBAN)'; MinCount = '1' }, @{Name = 'EU Debit Card Number'; MinCount = '1' } ) BlockAccess = $true Mode = 'Enable' }) } Connect-RequiredServices return Get-DlpComplianceRule -Policy $PolicyName -ErrorAction Stop } function Test-Compliance { [CmdletBinding()] param() $baseline = Get-BaselineDefinition $policies = Get-PurviewDlpPolicies $result = [ordered]@{ ScriptName = 'dlp-policies' Timestamp = Get-Date IsCompliant = $false PolicyPresent = $false RulePresent = $false Mode = 'Unknown' Locations = @() Recommendations = @() } $policy = $policies | Where-Object { $_.Name -eq $baseline.PolicyName } if (-not $policy) { $result.Recommendations += "Maak de policy '$($baseline.PolicyName)' aan en activeer alle workloads." return [pscustomobject]$result } $result.PolicyPresent = $true $result.Mode = $policy.Mode $hasAllLocations = @( (Test-IsLocationComplete -Value $policy.ExchangeLocation), (Test-IsLocationComplete -Value $policy.SharePointLocation), (Test-IsLocationComplete -Value $policy.OneDriveLocation), (Test-IsLocationComplete -Value $policy.TeamsLocation) ) -notcontains $false if (-not $hasAllLocations) { $result.Recommendations += 'Zorg dat Exchange, SharePoint, OneDrive en Teams allemaal zijn opgenomen.' } else { $result.Locations = $baseline.Locations } $rules = Get-PurviewDlpRules -PolicyName $baseline.PolicyName $rule = $rules | Where-Object { $_.Name -eq $baseline.RuleName } if (-not $rule) { $result.Recommendations += "Voeg de regel '$($baseline.RuleName)' toe voor BSN- en IBAN-herkenning." return [pscustomobject]$result } $result.RulePresent = $true foreach ($type in $baseline.SensitiveTypes) { $match = $rule.ContentContainsSensitiveInformation | Where-Object { $_.Name -eq $type.Name -and [int]$_.MinCount -ge $type.MinCount } if (-not $match) { $result.Recommendations += "Breid de regel uit met het informatietype '$($type.Name)'." } } if ($rule.BlockAccess -ne $true) { $result.Recommendations += 'Schakel blokkeren in zodat gevoelige data niet kan worden gedeeld.' } if ($result.Recommendations.Count -eq 0 -and $policy.Enabled -and $policy.Mode -eq 'Enable' -and $hasAllLocations) { $result.IsCompliant = $true } return [pscustomobject]$result } function Invoke-Monitoring { [CmdletBinding()] param() Write-Verbose "Monitoring-modus gestart." $compliance = Test-Compliance Write-Host "Policy aanwezig : $($compliance.PolicyPresent)" -ForegroundColor Gray Write-Host "Regel aanwezig : $($compliance.RulePresent)" -ForegroundColor Gray Write-Host "Modus : $($compliance.Mode)" -ForegroundColor Gray if ($compliance.Locations.Count -gt 0) { Write-Host "Locaties : $($compliance.Locations -join ', ')" -ForegroundColor Gray } if ($compliance.IsCompliant) { Write-Host "`n[OK] Purview DLP voldoet aan de baseline." -ForegroundColor Green } else { Write-Host "`n[ALERT] Afwijkingen gevonden." -ForegroundColor Yellow foreach ($rec in $compliance.Recommendations) { Write-Host " - $rec" -ForegroundColor Yellow } } return $compliance } function Invoke-Remediation { [CmdletBinding()] param() $baseline = Get-BaselineDefinition if ($DebugMode) { Write-Host "DebugMode: remediatie wordt gesimuleerd voor '$($baseline.PolicyName)'." -ForegroundColor Yellow return } Connect-RequiredServices $policy = Get-DlpCompliancePolicy -Identity $baseline.PolicyName -ErrorAction SilentlyContinue if (-not $policy) { if ($WhatIf) { Write-Host "WhatIf: policy '$($baseline.PolicyName)' zou worden aangemaakt." -ForegroundColor Yellow } else { Write-Host "Aanmaken van DLP-policy '$($baseline.PolicyName)'..." -ForegroundColor Gray $policy = New-DlpCompliancePolicy ` -Name $baseline.PolicyName ` -Comment 'Baseline policy voor BSN/IBAN-bescherming (Nederlandse Baseline voor Veilige Cloud)' ` -Mode Enable ` -ExchangeLocation All ` -SharePointLocation All ` -OneDriveLocation All ` -TeamsLocation All ` -ErrorAction Stop } } else { Write-Host "Policy '$($baseline.PolicyName)' bestaat al." -ForegroundColor Green } $rule = Get-DlpComplianceRule -Policy $baseline.PolicyName -ErrorAction SilentlyContinue | Where-Object { $_.Name -eq $baseline.RuleName } if (-not $rule) { if ($WhatIf) { Write-Host "WhatIf: regel '$($baseline.RuleName)' zou worden aangemaakt." -ForegroundColor Yellow } else { Write-Host "Aanmaken van regel '$($baseline.RuleName)'..." -ForegroundColor Gray $null = New-DlpComplianceRule ` -Name $baseline.RuleName ` -Policy $baseline.PolicyName ` -ContentContainsSensitiveInformation @( @{Name = 'Netherlands Citizen Service Number (BSN)'; minCount = '1' }, @{Name = 'International Banking Account Number (IBAN)'; minCount = '1' }, @{Name = 'EU Debit Card Number'; minCount = '1' } ) ` -BlockAccess $true ` -NotifyUser 'Owner,LastModifier' ` -Mode Enforce ` -ErrorAction Stop } } else { Write-Host "Regel '$($baseline.RuleName)' is reeds aanwezig." -ForegroundColor Green } Write-Host "`nRemediatie afgerond." -ForegroundColor Green } function Invoke-Revert { [CmdletBinding()] param() if ($DebugMode) { Write-Host "DebugMode: revert wordt niet uitgevoerd." -ForegroundColor Yellow return } Connect-RequiredServices $baseline = Get-BaselineDefinition $policy = Get-DlpCompliancePolicy -Identity $baseline.PolicyName -ErrorAction SilentlyContinue if (-not $policy) { Write-Host "Er is geen baselinepolicy gevonden om te verwijderen." -ForegroundColor Yellow return } if ($WhatIf) { Write-Host "WhatIf: policy '$($baseline.PolicyName)' zou worden verwijderd." -ForegroundColor Yellow return } Write-Host "Verwijderen van regels gekoppeld aan '$($baseline.PolicyName)'..." -ForegroundColor Gray Get-DlpComplianceRule -Policy $baseline.PolicyName -ErrorAction SilentlyContinue | ForEach-Object { Remove-DlpComplianceRule -Identity $_.Identity -Confirm:$false -ErrorAction SilentlyContinue } Write-Host "Verwijderen van policy '$($baseline.PolicyName)'..." -ForegroundColor Gray Remove-DlpCompliancePolicy -Identity $baseline.PolicyName -Confirm:$false -ErrorAction Stop Write-Host "Policy verwijderd." -ForegroundColor Green } function Invoke-PurviewDlpBaseline { [CmdletBinding()] param() return Test-Compliance } try { Write-Banner if ($Monitoring) { Invoke-Monitoring | Out-Null } elseif ($Remediation) { Invoke-Remediation } elseif ($Revert) { Invoke-Revert } else { $summary = Invoke-PurviewDlpBaseline $summary | Format-List } } catch { Write-Error "Er is een fout opgetreden: $($_.Exception.Message)" throw } finally { Disconnect-RequiredServices Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Purview DLP beschikt de organisatie niet over een afdwingbaar mechanisme dat gevoelige gegevensstroom controleert. Eén verkeerd verzonden document kan leiden tot langdurige AVG-onderzoeken, dwangsommen, reputatieschade en politieke druk.

Management Samenvatting

Vertaal gegevensclassificatie en privacybeleid naar Purview DLP-policies die Nederlandse informatietypen herkennen, automatisch blokkeren en rapporteren. Combineer beleid, automatisering en monitoring zodat bestuurders en auditors direct inzicht hebben in de effectiviteit van gegevensverliespreventie.