Gegevensclassificatie Met Sensitivity Labels In Microsoft 365
📅 2025-11-26
•
⏱️ 20 minuten lezen
•
🔴 Must-Have
💼 Management Samenvatting
Sensitivity labels vormen het technische hart van gegevensclassificatie in Microsoft 365. Ze maken het mogelijk om documenten, e-mails en Teams-omgevingen te voorzien van een duidelijke classificatie die automatisch beveiligingsmaatregelen activeert: encryptie, toegangsbeperkingen, watermerken en visuele markeringen. Voor Nederlandse overheidsorganisaties zijn sensitivity labels onmisbaar om te voldoen aan BIO-normen voor informatieclassificatie, AVG-vereisten voor passende beveiliging van persoonsgegevens en NIS2-eisen rondom bescherming van kritieke informatie.
Zonder gegevensclassificatie en sensitivity labels is het onmogelijk om in Microsoft 365 onderscheid te maken tussen openbare informatie, interne documenten en vertrouwelijke of zeer vertrouwelijke gegevens. Dit leidt tot twee problematische scenario's: óf alle informatie wordt met dezelfde, vaak te strenge beveiligingsmaatregelen behandeld, wat de werkbaarheid en samenwerking belemmert, óf gevoelige informatie wordt onvoldoende beschermd en kan onbedoeld worden gedeeld met onbevoegden. Beide situaties zijn onacceptabel voor overheidsorganisaties die werken met persoonsgegevens, bestuurlijke besluiten, juridische documenten en andere vertrouwelijke informatie. Daarnaast verwachten toezichthouders en auditors dat classificatie niet alleen in beleid is vastgelegd, maar ook technisch is geïmplementeerd en aantoonbaar wordt toegepast.
Dit artikel beschrijft hoe Nederlandse overheidsorganisaties een volwassen classificatiesysteem met sensitivity labels in Microsoft 365 ontwerpen en implementeren. We beginnen bij de governance: welke classificatieniveaus zijn nodig, wie bepaalt de classificatie en hoe wordt dit geborgd in processen. Vervolgens gaan we in op de technische implementatie: het ontwerpen van labels, het configureren van encryptie-instellingen, het inrichten van automatische labeling en het koppelen van labels aan DLP-beleid en toegangscontroles. We behandelen ook de praktische uitdagingen: gebruikersadoptie, training, monitoring en het voorkomen van over-classificatie. Tot slot laten we zien hoe u met het gekoppelde script `sensitivity-labels.ps1` periodiek controleert of labels correct zijn geconfigureerd, actief worden gebruikt en aansluiten op het beoogde beveiligingsniveau.
Classificatiekader, governance en rolverdeling
Een volwassen classificatiesysteem begint met een helder classificatiekader dat aansluit op de BIO-normen en de specifieke behoeften van de organisatie. Nederlandse overheidsorganisaties werken doorgaans met vier of vijf classificatieniveaus: Openbaar, Intern, Vertrouwelijk, Geheim en eventueel Zeer Geheim. Elk niveau heeft specifieke beveiligingseisen: Openbare informatie kan zonder restricties worden gedeeld, Interne documenten zijn alleen toegankelijk voor medewerkers, Vertrouwelijke informatie vereist encryptie en toegangsbeperkingen, en Geheime informatie heeft extra bescherming zoals watermerken, versleutelde communicatie en strikte toegangscontroles. Dit kader wordt niet alleen technisch vastgelegd in sensitivity labels, maar ook formeel vastgesteld in beleid en gekoppeld aan bestaande informatiebeveiligingsstandaarden zoals de BIO en ISO 27001.
Governance rondom classificatie is cruciaal om te voorkomen dat labels willekeurig of inconsistent worden toegepast. Binnen Nederlandse overheidsorganisaties spelen verschillende functionarissen een rol: de CISO en informatiebeveiligingsadviseurs zijn verantwoordelijk voor het technische classificatiekader en de aansluiting op BIO-normen, de Functionaris Gegevensbescherming (FG) kijkt vanuit AVG-perspectief naar de bescherming van persoonsgegevens, terwijl informatiebeheerders en documentbeheerders verantwoordelijk zijn voor de praktische toepassing en training van medewerkers. Daarnaast zijn er vaak classificatie-eigenaren per afdeling of informatietype die bepalen welke classificatie geldt voor specifieke documenten of dossiers. Deze rollen en verantwoordelijkheden worden expliciet vastgelegd in een governance-document, inclusief besluitvormingsprocessen voor nieuwe informatietypen, escalatieroutes bij twijfel over classificatie en procedures voor herclassificatie wanneer informatie ouder wordt of minder gevoelig wordt.
Een belangrijk onderdeel van governance is het voorkomen van over-classificatie. Wanneer medewerkers onzeker zijn over de juiste classificatie, kiezen zij vaak voor het hoogste niveau om risico's te vermijden. Dit leidt tot onnodige beveiligingsmaatregelen die samenwerking bemoeilijken, hogere beheerkosten veroorzaken en de werkbaarheid van Microsoft 365 ondermijnen. Het governance-model beschrijft daarom expliciet hoe medewerkers worden ondersteund bij classificatiebeslissingen: duidelijke richtlijnen per informatietype, praktische voorbeelden, training en toegankelijke hulpmiddelen zoals classificatiebomen of beslissingshulpen. Ook wordt vastgelegd hoe periodiek wordt gecontroleerd of classificatie consistent wordt toegepast en of labels daadwerkelijk worden gebruikt in plaats van genegeerd of omzeild. Door deze governance-structuur vooraf goed uit te werken, voorkomt de organisatie dat sensitivity labels een puur technische feature worden en zorgt zij dat classificatie daadwerkelijk onderdeel wordt van de organisatiecultuur.
Ontwerpen en configureren van sensitivity labels in Microsoft 365
Wanneer het classificatiekader en governance-model helder zijn, kunnen sensitivity labels worden ontworpen en geconfigureerd in Microsoft Purview. Een veelgemaakte fout is om voor elk denkbaar scenario een apart label te maken, wat leidt tot tientallen labels die moeilijk te beheren zijn en waarvan het onderscheid voor gebruikers onduidelijk is. Een professionelere aanpak werkt met een beperkt aantal, goed doordachte labels die corresponderen met de classificatieniveaus uit het kader. Denk aan labels zoals "Openbaar", "Intern", "Vertrouwelijk" en "Geheim", waarbij elk label specifieke beveiligingsinstellingen heeft die passen bij het classificatieniveau. Deze labels worden vervolgens gepubliceerd naar gebruikers en workloads, zodat ze beschikbaar zijn in Office-applicaties, SharePoint, OneDrive en Teams.
Bij het ontwerp van labels wordt expliciet rekening gehouden met de beveiligingsmaatregelen die per niveau nodig zijn. Voor Openbare informatie zijn meestal geen restricties nodig, terwijl Vertrouwelijke informatie encryptie vereist, toegangsbeperkingen en mogelijk watermerken. Geheime informatie heeft vaak extra bescherming zoals versleutelde e-mail, strikte toegangscontroles en visuele markeringen. Deze instellingen worden per label geconfigureerd in Microsoft Purview, waarbij gebruik wordt gemaakt van Azure Rights Management (Azure RMS) voor encryptie en toegangsbeperkingen. Daarnaast kunnen labels worden gekoppeld aan DLP-beleid, zodat automatisch wordt gecontroleerd of gevoelige informatie correct is geclassificeerd en of er geen onbevoegde toegang is. Deze technische configuratie wordt niet alleen vastgelegd in het Purview-portaal, maar ook functioneel beschreven in beleid en gebruikersinstructies, zodat medewerkers begrijpen welke labels beschikbaar zijn en wanneer ze moeten worden gebruikt.
Een volwassen labelontwerp maakt bovendien gebruik van automatische labeling om de adoptie te verhogen en consistentie te waarborgen. Automatische labeling kan worden ingericht op basis van inhoudsanalyse, gebruik van trefwoorden, detectie van persoonsgegevens of andere patronen. Zo kan een document dat BSN-nummers bevat automatisch worden geclassificeerd als Vertrouwelijk, terwijl een e-mail met het trefwoord "Geheim" automatisch het label Geheim krijgt. Deze automatische labeling wordt echter niet als vervanging gezien voor bewuste classificatie door gebruikers, maar als aanvulling die helpt bij het voorkomen van onder-classificatie. Daarnaast wordt de samenhang met andere beveiligingsmaatregelen geborgd: labels werken samen met DLP-beleid, Conditional Access, toegangscontroles in SharePoint en Teams, en logging en monitoring. Door deze samenhang expliciet mee te nemen in het ontwerp, ontstaat een classificatiesysteem dat zowel beveiliging biedt als praktisch bruikbaar is voor medewerkers in de dagelijkse werkpraktijk van Nederlandse overheidsorganisaties.
Implementatie, gebruikersadoptie en geautomatiseerde monitoring
Gebruik PowerShell-script sensitivity-labels.ps1 (functie Invoke-LabelOverview) – Geeft een samenvattend overzicht van alle sensitivity labels in Microsoft 365 en toetst of labels correct zijn geconfigureerd, actief worden gebruikt en aansluiten op het beoogde classificatiekader. Ondersteunt zowel veilige lokale debug-tests als live-controles in de tenant..
Nadat sensitivity labels zijn ontworpen en geconfigureerd, begint de fase van implementatie en gebruikersadoptie. In deze fase wordt het classificatiesysteem werkelijk onderdeel van de dagelijkse praktijk. Allereerst moeten beheerders en key-users begrijpen hoe labels werken: welke labels beschikbaar zijn, hoe ze worden toegepast, welke beveiligingsmaatregelen ze activeren en hoe automatische labeling functioneert. Heldere documentatie, praktijkgerichte handleidingen en scenario-gebaseerde trainingen zijn hierbij cruciaal. Medewerkers moeten bijvoorbeeld weten wanneer ze een document als Vertrouwelijk moeten classificeren, hoe ze labels toepassen in Office-applicaties, wat de gevolgen zijn van encryptie en toegangsbeperkingen, en hoe ze omgaan met gedeelde documenten en Teams-omgevingen. Deze uitleg wordt afgestemd op verschillende doelgroepen: van IT-beheerders en servicedeskmedewerkers tot zaakbehandelaars, beleidsmedewerkers en bestuursondersteuning.
Daarnaast is structurele monitoring nodig om te bewaken dat labels correct worden gebruikt en dat het classificatiesysteem in de praktijk nog steeds effectief is. Configuraties in Microsoft 365 veranderen door migraties, nieuwe werkruimtes, licentiewijzigingen en organisatorische herstructureringen. Zonder periodieke controles kunnen beleidsleemtes ontstaan: nieuwe Teams-omgevingen die niet zijn geclassificeerd, SharePoint-sites zonder labels, of labels die per ongeluk zijn uitgeschakeld of verwijderd. Met Security & Compliance PowerShell kan de organisatie daarom geautomatiseerde controles inrichten. Het bijbehorende script `sensitivity-labels.ps1` is ontworpen om een overzichtelijke rapportage te genereren van alle bestaande sensitivity labels, inclusief relevante eigenschappen zoals naamgeving, beveiligingsinstellingen, publicatiestatus en gebruik. In debug-modus kan dezelfde logica lokaal worden getest zonder verbinding met Microsoft 365, wat veilige ontwikkeling en validatie van de controlelogica mogelijk maakt.
De uitkomsten van deze controles worden opgenomen in de reguliere governance-cyclus. Periodieke rapportages worden gedeeld met CISO, FG, CIO en informatiebeheerders, en waar nodig besproken in architectuur- en stuurgroepen. Afwijkingen – zoals ontbrekende labels voor bepaalde classificatieniveaus, inconsistenties in naamgeving en beveiligingsinstellingen, of lage adoptiegraad – worden vastgelegd als formele bevindingen met toegewezen eigenaar, impactanalyse en beoogde oplostermijn. Door resultaten bovendien te koppelen aan dashboards of GRC-oplossingen ontstaat een doorlopend beeld van de volwassenheid van gegevensclassificatie in Microsoft 365. Zo groeit classificatie van een eenmalig project uit tot een continu verbeterproces, waarin beleid, techniek en organisatie elkaar versterken en de Nederlandse overheid aantoonbaar zorgvuldig omgaat met haar digitale informatie en voldoet aan BIO-normen, AVG-vereisten en NIS2-eisen.
Compliance & Frameworks
BIO: 12.04, 12.05, 18.01 - Borg systematische classificatie van informatie, passende beveiligingsmaatregelen per classificatieniveau en logging van toegang tot gevoelige informatie via sensitivity labels in Microsoft 365.
ISO 27001:2022: A.5.1, A.8.2.1, A.8.2.2, A.8.2.3 - Informatiebeveiligingsbeleid, classificatie en beheer van informatie-activa, toegangsbeperkingen en encryptie op basis van classificatieniveau, vertaald naar concrete sensitivity labels in Microsoft 365.
NIS2: Artikel - Doorlopende risicobeheersmaatregelen, classificatie en bescherming van kritieke informatie, logging en monitoring van toegang tot gevoelige gegevens ter ondersteuning van incidentrespons en toezicht.
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
Overzicht en kwaliteitscontrole van sensitivity labels in Microsoft 365
.DESCRIPTION
Dit script geeft een gestructureerd overzicht van sensitivity labels in Microsoft 365
en toetst in hoeverre de inrichting aansluit op een aantal basisontwerpcriteria:
duidelijke naamgeving, aanwezigheid van beveiligingsinstellingen, publicatiestatus
en gebruik van labels in de tenant.
Het script hoort bij het artikel 'Gegevensclassificatie met sensitivity labels in Microsoft 365'
binnen de Nederlandse Baseline voor Veilige Cloud en ondersteunt CISO, FG, informatiebeheerders
en technische beheerders bij periodieke kwaliteitscontroles.
.NOTES
Filename: sensitivity-labels.ps1
Author: Nederlandse Baseline voor Veilige Cloud
Created: 2025-11-26
Version: 1.0
Related JSON: content/m365/compliance/sensitivity-labels.json
Category: compliance
Workload: m365
.LINK
https://github.com/m365-tenant-best-practise
.EXAMPLE
.\sensitivity-labels.ps1 -Monitoring -DebugMode
Voert een lokale debug-run uit zonder verbinding met Microsoft 365 en toont voorbeeldgegevens.
.EXAMPLE
.\sensitivity-labels.ps1 -Monitoring
Haalt live sensitivity labels op via Security & Compliance PowerShell en toont een samenvatting.
.EXAMPLE
.\sensitivity-labels.ps1 -RemediationGuidance
Toont richtlijnen en voorbeeldstappen om naamgeving, beveiligingsinstellingen en ontwerp van labels te verbeteren.
#>
#Requires -Version 5.1#Requires -Modules ExchangeOnlineManagement
[CmdletBinding()]
param(
[Parameter(HelpMessage = "Voer een controle uit op het huidige sensitivity label-beleid")]
[switch]$Monitoring,
[Parameter(HelpMessage = "Toon remediatie-richtlijnen en voorbeeldstappen voor verbeterd ontwerp")]
[switch]$RemediationGuidance,
[Parameter(HelpMessage = "Toon welke acties u zou nemen zonder wijzigingen in de tenant")]
[switch]$WhatIf,
[Parameter(HelpMessage = "Voer een veilige lokale test uit zonder verbinding met Microsoft 365")]
[switch]$DebugMode
)
$ErrorActionPreference = 'Stop'
Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "Sensitivity Labels – Gegevensclassificatie" -ForegroundColor Cyan
Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan
Write-Host "========================================`n" -ForegroundColor Cyan
$script:ExpectedClassificationLevels = @(
"Openbaar",
"Intern",
"Vertrouwelijk",
"Geheim"
)
function Connect-ComplianceService {
<#
.SYNOPSIS
Maakt verbinding met Microsoft Purview (Security & Compliance).
.DESCRIPTION
Gebruikt Connect-IPPSSession uit de ExchangeOnlineManagement-module.
#>
[CmdletBinding()]
param()
Write-Host "Verbinding maken met Microsoft Purview (Security & Compliance)..." -ForegroundColor Gray
Connect-IPPSSession -ShowBanner:$false -ErrorAction Stop | Out-Null
}
functionGet-SensitivityLabelOverview {
<#
.SYNOPSIS
Haalt sensitivity labels en bijbehorende configuratie op.
.DESCRIPTION
Combineert Get-Label en Get-LabelPolicy tot een overzicht
met beveiligingsinstellingen, publicatiestatus en ontwerpkwaliteitsindicatoren.
.OUTPUTS
PSCustomObject per label.
#>
[CmdletBinding()]
param()
$labels = Get-Label -ErrorAction Stop
$policies = Get-LabelPolicy -ErrorAction SilentlyContinue
foreach ($label in $labels) {
$labelPolicies = $policies | Where-Object { $_.Labels -contains $label.Name }
$hasEncryption = $label.EncryptionEnabled -eq $true$hasContentMarking = ($label.ContentMarkingEnabled -eq $true) -or ($label.HeaderEnabled -eq $true) -or ($label.FooterEnabled -eq $true)
$hasWatermark = $label.WatermarkEnabled -eq $true$isPublished = ($labelPolicies | Measure-Object).Count -gt 0$hasClearName = $label.Name -match "Openbaar|Intern|Vertrouwelijk|Geheim|Public|Internal|Confidential|Secret"
[PSCustomObject]@{
Name = $label.Name
DisplayName = $label.DisplayName
Enabled = $label.Enabled
HasEncryption = $hasEncryption
HasContentMarking = $hasContentMarking
HasWatermark = $hasWatermark
IsPublished = $isPublished
HasClearName = $hasClearName
Tooltip = $label.Tooltip
}
}
}
function Invoke-LabelOverview {
<#
.SYNOPSIS
Voert de monitoring uit op de sensitivity labels.
.OUTPUTS
PSCustomObject met samenvatting en details.
#>
[CmdletBinding()]
param()
$result = [PSCustomObject]@{
ScriptName = "sensitivity-labels.ps1"
Timestamp = Get-Date
TotalLabels = 0
EnabledLabels = 0
PublishedLabels = 0
Labels = @()
Findings = @()
}
try {
if ($DebugMode) {
Write-Host "DebugMode ingeschakeld: er wordt geen verbinding gemaakt met Microsoft 365." -ForegroundColor Yellow
Write-Host "Voorbeeldgegevens worden gebruikt om logica en rapportage te testen.`n" -ForegroundColor Yellow
$sampleLabels = @(
[PSCustomObject]@{
Name = "Openbaar"
DisplayName = "Openbaar"
Enabled = $true
HasEncryption = $false
HasContentMarking = $false
HasWatermark = $false
IsPublished = $true
HasClearName = $true
Tooltip = "Openbare informatie zonder restricties"
},
[PSCustomObject]@{
Name = "Intern"
DisplayName = "Intern"
Enabled = $true
HasEncryption = $false
HasContentMarking = $true
HasWatermark = $false
IsPublished = $true
HasClearName = $true
Tooltip = "Interne documenten voor medewerkers"
},
[PSCustomObject]@{
Name = "Vertrouwelijk"
DisplayName = "Vertrouwelijk"
Enabled = $true
HasEncryption = $true
HasContentMarking = $true
HasWatermark = $true
IsPublished = $true
HasClearName = $true
Tooltip = "Vertrouwelijke informatie met encryptie"
}
)
$result.TotalLabels = $sampleLabels.Count
$result.EnabledLabels = ($sampleLabels | Where-Object { $_.Enabled }).Count
$result.PublishedLabels = ($sampleLabels | Where-Object { $_.IsPublished }).Count
$result.Labels = $sampleLabels
}
else {
Connect-ComplianceService
Write-Host "Ophalen van sensitivity labels en policies..." -ForegroundColor Gray
$overview = Get-SensitivityLabelOverviewif (-not $overview) {
$result.Findings += "Er zijn geen sensitivity labels gevonden in Microsoft Purview."
}
else {
$result.TotalLabels = ($overview | Measure-Object).Count
$result.EnabledLabels = ($overview | Where-Object { $_.Enabled }).Count
$result.PublishedLabels = ($overview | Where-Object { $_.IsPublished }).Count
$result.Labels = $overview$unpublished = $overview | Where-Object { -not $_.IsPublished }
if ($unpublished) {
$count = ($unpublished | Measure-Object).Count
$result.Findings += "$count labels zijn niet gepubliceerd en daardoor niet beschikbaar voor gebruikers."
}
$noEncryption = $overview | Where-Object {
($_.Name -match "Vertrouwelijk|Geheim|Confidential|Secret") -and -not $_.HasEncryption
}
if ($noEncryption) {
$count = ($noEncryption | Measure-Object).Count
$result.Findings += "$count labels voor vertrouwelijke of geheime informatie hebben geen encryptie ingeschakeld."
}
$unclearNames = $overview | Where-Object { -not $_.HasClearName }
if ($unclearNames) {
$count = ($unclearNames | Measure-Object).Count
$result.Findings += "$count labels hebben geen duidelijke naamgeving die het classificatieniveau herkenbaar maakt."
}
$noContentMarking = $overview | Where-Object {
($_.Name -match "Vertrouwelijk|Geheim|Confidential|Secret") -and -not $_.HasContentMarking
}
if ($noContentMarking) {
$count = ($noContentMarking | Measure-Object).Count
$result.Findings += "$count labels voor vertrouwelijke of geheime informatie hebben geen content marking (header/footer) ingeschakeld."
}
}
}
Write-Host "`nSamenvatting sensitivity labels:" -ForegroundColor Cyan
Write-Host (" Totaal aantal labels : {0}" -f $result.TotalLabels) -ForegroundColor White
Write-Host (" Actieve labels : {0}" -f $result.EnabledLabels) -ForegroundColor White
Write-Host (" Gepubliceerde labels : {0}" -f $result.PublishedLabels) -ForegroundColor White
if ($result.Findings.Count -gt 0) {
Write-Host "`nBelangrijkste bevindingen:" -ForegroundColor Yellow
foreach ($finding in $result.Findings) {
Write-Host (" - {0}" -f $finding) -ForegroundColor Yellow
}
}
else {
Write-Host "`nEr zijn geen directe kwaliteitsissues in de basiscontrole gevonden." -ForegroundColor Green
}
if ($result.Labels.Count -gt 0) {
Write-Host "`nOverzicht labels:" -ForegroundColor Cyan
foreach ($label in $result.Labels) {
$status = if ($label.Enabled) { "Actief" } else { "Uitgeschakeld" }
$published = if ($label.IsPublished) { "Gepubliceerd" } else { "Niet gepubliceerd" }
Write-Host (" - {0} ({1}, {2})" -f $label.Name, $status, $published) -ForegroundColor White
if ($label.HasEncryption) {
Write-Host (" Encryptie: Ingeschakeld") -ForegroundColor Gray
}
if ($label.HasContentMarking) {
Write-Host (" Content marking: Ingeschakeld") -ForegroundColor Gray
}
if ($label.HasWatermark) {
Write-Host (" Watermerk: Ingeschakeld") -ForegroundColor Gray
}
}
}
return$result
}
catch {
Write-Host "`n[FAIL] Fout tijdens controle van sensitivity labels: $_" -ForegroundColor Red
throw
}
}
function Show-RemediationGuidance {
<#
.SYNOPSIS
Geeft richtlijnen voor verbetering van ontwerp en governance van sensitivity labels.
.DESCRIPTION
Voert zelf geen wijzigingen door, maar beschrijft concrete stappen en voorbeeldcmdlets.
#>
[CmdletBinding()]
param()
Write-Host "`nRemediatie-richtlijnen voor sensitivity labels:" -ForegroundColor Cyan
Write-Host "`n1. Governance en classificatiekader" -ForegroundColor White
Write-Host " - Leg formeel vast welke classificatieniveaus nodig zijn (bijv. Openbaar, Intern, Vertrouwelijk, Geheim)." -ForegroundColor Gray
Write-Host " - Beschrijf de koppeling tussen BIO-normen, AVG-eisen en concrete labels in M365." -ForegroundColor Gray
Write-Host " - Stel verantwoordelijkheden vast voor classificatiebeslissingen en training." -ForegroundColor Gray
Write-Host "`n2. Naamgeving en labels" -ForegroundColor White
Write-Host " - Gebruik consistente, beschrijvende namen zoals 'Openbaar', 'Intern', 'Vertrouwelijk', 'Geheim'." -ForegroundColor Gray
Write-Host " - Vermijd cryptische of generieke namen die het classificatieniveau niet duidelijk maken." -ForegroundColor Gray
Write-Host " - Zorg dat labels corresponderen met het vastgestelde classificatiekader." -ForegroundColor Gray
Write-Host "`n3. Beveiligingsinstellingen" -ForegroundColor White
Write-Host " - Zorg dat labels voor Vertrouwelijk en Geheim encryptie hebben ingeschakeld." -ForegroundColor Gray
Write-Host " - Gebruik content marking (headers/footers) voor vertrouwelijke en geheime informatie." -ForegroundColor Gray
Write-Host " - Overweeg watermerken voor zeer gevoelige documenten." -ForegroundColor Gray
Write-Host " - Configureer toegangsbeperkingen en rechten per classificatieniveau." -ForegroundColor Gray
Write-Host "`n4. Publicatie en adoptie" -ForegroundColor White
Write-Host " - Publiceer labels naar gebruikers en workloads (Exchange, SharePoint, OneDrive, Teams)." -ForegroundColor Gray
Write-Host " - Overweeg automatische labeling op basis van inhoudsanalyse of trefwoorden." -ForegroundColor Gray
Write-Host " - Train medewerkers in het gebruik van labels en de gevolgen van classificatie." -ForegroundColor Gray
Write-Host "`n5. Voorbeeldcmdlets (aanpassen aan eigen beleid, bij voorkeur eerst in acceptatieomgeving)" -ForegroundColor White
Write-Host " # Voorbeeld: controleer welke labels beschikbaar zijn" -ForegroundColor DarkGray
Write-Host " Get-Label | Select-Object Name, DisplayName, Enabled" -ForegroundColor DarkGray
Write-Host "" -ForegroundColor DarkGray
Write-Host " # Voorbeeld: controleer welke labels zijn gepubliceerd" -ForegroundColor DarkGray
Write-Host " Get-LabelPolicy | Select-Object Name, Labels" -ForegroundColor DarkGray
Write-Host "" -ForegroundColor DarkGray
Write-Host " # Voorbeeld: controleer beveiligingsinstellingen van een label" -ForegroundColor DarkGray
Write-Host " Get-Label -Identity 'Vertrouwelijk' | Select-Object Name, EncryptionEnabled, ContentMarkingEnabled, WatermarkEnabled" -ForegroundColor DarkGray
if ($WhatIf) {
Write-Host "`nWhatIf: er zijn geen wijzigingen uitgevoerd; gebruik deze voorbeelden alleen na interne afstemming en testen." -ForegroundColor Yellow
}
else {
Write-Host "`nLET OP: dit script voert zelf geen configuratiewijzigingen uit. Alle aanpassingen dienen via gecontroleerde change-processen te verlopen." -ForegroundColor Yellow
}
}
try {
if ($Monitoring) {
$overview = Invoke-LabelOverview
}
elseif ($RemediationGuidance) {
Show-RemediationGuidance
}
else {
Write-Host "Beschikbare parameters:" -ForegroundColor Yellow
Write-Host " -Monitoring : Toon een overzicht en basiscontrole van sensitivity labels" -ForegroundColor Gray
Write-Host " -RemediationGuidance : Toon richtlijnen en voorbeelden voor verbeterd ontwerp" -ForegroundColor Gray
Write-Host " -DebugMode : Voer een veilige lokale test uit zonder verbinding met Microsoft 365" -ForegroundColor Gray
Write-Host " -WhatIf : Toon alleen welke acties geadviseerd worden, zonder wijzigingen" -ForegroundColor Gray
Write-Host "`nVoorbeeld: .\sensitivity-labels.ps1 -Monitoring -DebugMode" -ForegroundColor Cyan
}
}
catch {
Write-Error "Scriptuitvoering is mislukt: $_"
exit 2
}
finally {
Write-Host "`n========================================`n" -ForegroundColor Cyan
}
# Exitcodes:
# 0 = gereserveerd voor toekomstige uitgebreide compliance-evaluaties
# 2 = fout tijdens uitvoering
Risico zonder implementatie
Risico zonder implementatie
High: Zonder een expliciet ontworpen en in Microsoft 365 geïmplementeerd classificatiesysteem met sensitivity labels is het onmogelijk om onderscheid te maken tussen verschillende niveaus van gevoelige informatie en passende beveiligingsmaatregelen toe te passen. De organisatie loopt daardoor verhoogd risico op datalekken, privacy-incidenten, sancties van toezichthouders en reputatieschade.
Management Samenvatting
Stel een classificatiekader vast op basis van BIO-normen, vertaal dit naar beheersbare sensitivity labels in Microsoft 365 met passende beveiligingsinstellingen, en borg de naleving met documentatie, training en geautomatiseerde controles. Dit artikel en het gekoppelde script `sensitivity-labels.ps1` geven Nederlandse overheidsorganisaties een praktisch kader om gegevensclassificatie professioneel en toekomstbestendig in te richten.