Microsoft Purview Insider Risk Management Voor Nederlandse Overheden

💼 Management Samenvatting

Insider Risk Management binnen Microsoft Purview is de ontbrekende schakel tussen beleidsmatige toezeggingen over gegevensbescherming en de dagelijkse realiteit waarin medewerkers, leveranciers en tijdelijke specialisten toegang hebben tot dezelfde digitale kroonjuwelen als het kernteam.

Aanbeveling
IMPLEMENT
Risico zonder
Hoog
Risk Score
8/10
Implementatie
210u (tech: 120u)
Van toepassing op:
Microsoft Purview
Exchange Online
SharePoint Online
OneDrive for Business
Microsoft Teams
Defender for Endpoint

Nederlandse overheidsorganisaties staan onder druk van de AVG, BIO, Woo, NIS2 en politieke verwachtingen. Tegelijkertijd werken zij hybride, experimenteren met AI en lenen capaciteit van externe bureaus. Hierdoor is één fout, frustratie of kwaadwilligheid voldoende om staatsgeheimen, persoonsdossiers of aanbestedingsinformatie te kopiëren voordat klassieke controles reageren. Zonder Purview Insider Risk ontbreekt niet alleen zicht op dit gedrag, maar ook de mogelijkheid om binnen minuten te bewijzen dat monitoring proportioneel en rechtmatig plaatsvindt.

PowerShell Modules Vereist
Primary API: Microsoft Graph Security (beta)
Connection: Connect-MgGraph -Scopes "Policy.Read.All, SecurityEvents.Read.All, SecurityEvents.ReadWrite.All"
Required Modules: Microsoft.Graph

Implementatie

Dit artikel beschrijft hoe Purview Insider Risk Management wordt ingericht als integraal programma: van strategische opdracht, datagedreven detectie en operationele runbooks tot het automatiseren van rapportages en remediatie. De tekst volgt het JSON-schema van de Nederlandse Baseline voor Veilige Cloud en levert direct bruikbare content voor bestuurders, CISO’s en SOC-teams. Het gekoppelde PowerShell-script fungeert als technische waarheidsbron die lokaal in Debug-modus kan worden getest voordat productieverbindingen worden gemaakt.

Context, dreigingsbeeld en bestuurlijke urgentie

Insiderdreigingen variëren van een medewerker die per ongeluk zaakdossiers naar een privémail stuurt tot een ingehuurde beheerder die bewust logging uitschakelt om sporen te wissen. In alle gevallen blijft de externe perimeter intact en vindt het incident plaats binnen de legitimiteit van geldige accounts. Purview Insider Risk Management verbindt daarom gedragssignalen over alle Microsoft 365-workloads met context uit Defender, Endpoint DLP en Sensitivity Labels. Het platform herkent patronen zoals massale downloads, verdachte Teams-chats met externe accounts, het plotseling kopiëren van broncode of het uitzetten van alerts vlak voor vertrek. Hierdoor ontstaat een vroegtijdig waarschuwingsmechanisme dat verder gaat dan losse meldingen en een compleet verhaal biedt dat bestuurders kunnen uitleggen aan toezichthouders en parlementaire commissies.

Het juridische kader is even belangrijk als de technische detectie. De BIO eist aantoonbare maatregelen tegen opzettelijk en onopzettelijk misbruik van bevoegdheden, terwijl de AVG en de Gedragscode Integriteit Rijk vereisen dat monitoring proportioneel en doelgebonden plaatsvindt. Purview Insider Risk ondersteunt dit doordat iedere policy expliciet een scenario, doel, grondslag en bewaartermijn bevat. Case management registreert automatisch wie een signaal heeft geopend, welke aanvullende gegevens zijn geraadpleegd en wanneer een onderzoek is beëindigd. Hierdoor kunnen organisaties exact aantonen welke stappen zijn gezet, welke rechten betrokken medewerkers hebben en hoe gegevens na afloop worden gearchiveerd. Dit maakt het verschil tussen een verdedigbare maatregel en een juridische kwetsbaarheid.

Vanuit risicomanagement bezien is insider risk een kernonderdeel van de Nederlandse Baseline voor Veilige Cloud. Incidentrapportages van NCSC en ADR laten zien dat de grootste schade vaak ontstaat door insiders die onder tijdsdruk werken, onvoldoende begeleid zijn tijdens reorganisaties of reageren op maatschappelijke druk. Purview faciliteert daarom scenario’s rond data-exfiltratie bij vertrek, privilege misuse, sabotage en policy evasion. Door scenario’s te koppelen aan concrete maatregelen – bijvoorbeeld verplichte justificatie voor PIM-activaties, automatische melding naar HR bij massale downloadpogingen of verplichte break-glass review – ontstaat een voorspelbaar speelveld. Het bestuur krijgt inzicht in het aantal signalen per scenario, de afhandelingstijd en het effect van verbeteracties.

Tot slot biedt het programma bestuurlijke zekerheid. Dashboards tonen maandelijks welke maatregelen effectief zijn, waar uitzonderingen zijn verleend en hoeveel dossiers nog open staan. Deze informatie wordt geïntegreerd in risicorapportages richting directies, portefeuillehouders en toezichthouders. Wanneer een incident de media haalt, kan de organisatie binnen minuten aantonen wanneer signalen zijn gezien, welke beslissingen zijn genomen en welke aanvullende maatregelen volgen. Dat niveau van transparantie is essentieel om vertrouwen van burgers, bestuurders en parlement te behouden.

Architectuur en implementatie van een insider-riskprogramma

Een robuuste implementatie start met een multidisciplinaire ontwerpworkshop waarin CISO-office, privacy officer, HR, juridische zaken, SOC en enterprise architectuur gezamenlijk bepalen welke processen en datasets onder het programma vallen. Samen definiëren zij scenario’s, bepalen zij meetpunten en leggen zij vast welke rollen toegang krijgen tot cases. Elk scenario ontvangt een eigenaar, escalatiepad en maximaal toelaatbare responstijd. Deze voorbereidingen zorgen ervoor dat beleidsmatige keuzes worden vastgelegd voordat technische inrichting begint, waardoor de implementatie sneller verloopt en discussies achteraf worden voorkomen.

Vervolgens wordt de technische architectuur ingericht. Engineers activeren data connectors naar SharePoint, OneDrive, Exchange, Teams, Endpoint DLP, Defender for Cloud Apps en – indien beschikbaar – on-premises bronnen via Microsoft Graph. Ze controleren logretentie, classificatie, label-synchronisatie en device compliance. Conditional Access zorgt ervoor dat alleen goedgekeurde werkplekken toegang hebben tot gevoelige dossiers, terwijl Sensitivity Labels verplicht worden voor documenten met staatsgeheimen of bijzondere persoonsgegevens. Het architectuurdocument beschrijft exact hoe signalen worden gestapeld, welke drempels gelden en hoe uitzonderingen verlopen. Alle instellingen worden opgeslagen in een version-controlled repository zodat wijzigingen later herleidbaar zijn.

De uitrol gebeurt gefaseerd. Eerst een pilot met een kleine groep high-risk processen, daarna een gefaseerde uitbreiding per directie of ketenpartner. In elke fase wordt het beleid eerst in auditmodus getest, waarna de organisatie overschakelt op afdwingende modus. Tijdens de pilot wordt dagelijks feedback verzameld over false positives, responstijden en benodigde training. Bevindingen worden vastgelegd in een backlog en gedeeld met het security board. Zodra een fase is afgerond, volgt een formele go/no-go waarbij wordt gecontroleerd of juridische documentatie, communicatie en trainingsmateriaal zijn bijgewerkt.

Integratie met bestaande processen is cruciaal. ITSM-systemen ontvangen automatisch tickets wanneer een case wordt geopend. ServiceNow of TOPdesk registreert welke beslissingen zijn genomen en koppelt follow-up taken aan lijnmanagers. HR-systemen leveren signalen rondom onboarding, offboarding en disciplinaire maatregelen zodat monitoring tijdelijk kan worden verscherpt. De projectorganisatie zorgt ervoor dat contracten met leveranciers clausules bevatten over deelname aan insider-riskmonitoring. Door scenario’s te verankeren in changebesturing, contractmanagement en PIA-procedures wordt insider risk een reguliere compliance-eis in plaats van een losstaande tool.

Governance, operationele uitvoering en rapportage

Governance definieert wie mag beslissen, wie monitort en wie rapporteert. Iedere policy krijgt een owner, een vervanger en een set reviewerrollen. Deze rollen worden gekoppeld aan Azure AD-groepen zodat wijzigingen automatisch doorwerken. Het CISO-office bewaakt dat policies minimaal elk kwartaal worden herzien, dat uitzonderingen een einddatum hebben en dat lessons learned binnen twee weken worden verwerkt. Governance bevat ook privacymaatregelen: maskeren van persoonsgegevens in dashboards, logging van alle case-interacties en een verplicht consult met de Functionaris Gegevensbescherming voordat een onderzoek verder gaat dan triage.

Operationeel draait alles om snelheid en reproduceerbaarheid. Het SOC krijgt dagelijkse rapportages met nieuwe signalen, statistieken per scenario en openstaande acties. Analisten volgen gestandaardiseerde runbooks waarin staat hoe zij een case openen, welke data verzameld mogen worden en hoe zij hoor en wederhoor organiseren. Elke case bevat automatisch een beslislog, verwijzingen naar relevante beleidsdocumenten en een checklist voor HR- of juridische stappen. Door deze standaardisatie kunnen verschillende teams – inclusief leveranciers – elkaars werk zonder vertraging overnemen.

Rapportage richt zich op verschillende doelgroepen. Bestuurders krijgen maandelijks een overzicht met KPI’s zoals aantal geopende cases, gemiddelde doorlooptijd, meest voorkomende oorzaken en de status van verbetermaatregelen. Auditors en toezichthouders ontvangen kwartaalrapportages met bewijs van governance: CAB-notulen, PIA’s, besluitvormingsdocumenten en exportbestanden uit Purview. Operationele teams gebruiken detailrapporten voor tuning, inclusief scenario-specifieke trendgrafieken en correlaties met HR-events. Door deze driedeling krijgt iedere doelgroep precies de informatie die nodig is.

Continue verbetering borgt de toekomstbestendigheid. Kwartaalreviews verbinden data uit Purview aan reorganisatieplannen, verkiezingskalenders of maatschappelijke ontwikkelingen. Nieuwe diensten zoals Copilot of externe AI-modellen worden eerst beoordeeld op insiderdreigingen voordat ze worden geïntegreerd. Trainingen voor medewerkers worden actueel gehouden met voorbeelden uit recente cases. Leveranciers contracteren we met verplichte deelname aan bewustwordingsprogramma’s en runbookoefeningen. Zo blijft de organisatie wendbaar en ontstaat een cultuur waarin het normaal is dat kritieke toegang onder toezicht staat.

Automatisering, monitoring en scriptgestuurde validatie

Gebruik PowerShell-script insider-risk-management.ps1 (functie Invoke-Monitoring) – Valideert of baseline insider-risk policies bestaan, actief zijn, alle verplichte signalen bevatten en de juiste escalatiegroepen gebruiken. In DebugMode levert de functie binnen vijftien seconden een lokaal testresultaat zodat wijzigingen veilig kunnen worden beoordeeld..

Gebruik PowerShell-script insider-risk-management.ps1 (functie Invoke-Remediation) – Maakt ontbrekende policies aan via Microsoft Graph, vult signalen en prioriteiten aan en logt elke wijziging met Graph correlation ID zodat auditors kunnen volgen welke acties zijn uitgevoerd. Ondersteunt WhatIf om impact vooraf te tonen..

Automatisering voorkomt dat insider-riskbeheer afhankelijk is van handmatig beheer. Configuraties worden als code vastgelegd; exportbestanden worden via het script naar een repository geschreven zodat wijzigingen herleidbaar zijn. Het script genereert JSON-rapporten die kunnen worden ingevoerd in Microsoft Sentinel, Power BI of beleidsdashboards. Monitoringmodus telt openstaande afwijkingen, controleert of policies nog in afdwingende modus staan en waarschuwt wanneer escalatiegroepen leeg raken door personeelswisselingen. Hierdoor kan het SOC proactief handelen voordat een controle daadwerkelijk uitvalt.

Remediatiemodus werkt als een gecontroleerde change. Het script maakt enkel wijzigingen wanneer DebugMode is uitgeschakeld en WhatIf niet is opgegeven. Elke aanpassing wordt gelogd met tijdstip, Graph-endpoint en payload zodat change boards de impact kunnen beoordelen. Wanneer rebellie optreedt – bijvoorbeeld door een mislukte deployment – kan het script dezelfde baseline opnieuw afdwingen. Dankzij deze aanpak blijft de configuratie consistent tussen tenants, kunnen auditors de volledige keten reconstrueren en hoeven teams zich niet zorgen te maken over handmatige fouten.

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 Microsoft Purview Insider Risk Management. .DESCRIPTION Dit script controleert of de vereiste insider risk policies aanwezig, actief en volledig gevoed zijn met SharePoint, OneDrive, Teams, Defender en Endpoint DLP-signalen. In remediatiemodus kan het script via Microsoft Graph baseline policies aanmaken of bijwerken. Met DebugMode kunnen alle logica en rapportages lokaal worden getest zonder cloudverbinding en altijd binnen vijftien seconden. .NOTES Filename: insider-risk-management.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-11-27 Last Modified: 2025-11-27 Version: 1.0 Related JSON: content/m365/purview/insider-risk-management.json Workload: Microsoft 365 / Purview .LINK https://github.com/m365-tenant-best-practise .EXAMPLE .\insider-risk-management.ps1 -Monitoring Voert de baselinecontrole uit en toont bevindingen. .EXAMPLE .\insider-risk-management.ps1 -Remediation Maakt ontbrekende baseline policies aan of vult ontbrekende signalen aan. .EXAMPLE .\insider-risk-management.ps1 -DebugMode -Monitoring Voert een lokale test uit zonder Graph-verbinding. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [switch]$Revert, [Parameter()] [switch]$DebugMode, [Parameter()] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $script:Connected = $false $script:RequiredScopes = @( 'Policy.Read.All', 'Policy.ReadWrite.SecurityConfiguration', 'SecurityEvents.Read.All' ) function Write-Banner { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Purview Insider Risk baseline" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan } function Get-BaselinePolicies { [CmdletBinding()] param() return @( [pscustomobject]@{ Name = 'NL Insider Risk - Gegevensverplaatsing' Scenario = 'dataLeakage' RequiredSignals = @('sharePointOnline', 'oneDrive', 'microsoftTeams', 'endpointDlp', 'defenderForCloudApps') Escalation = 'CISO-office' Priority = 'High' Justification = 'Beschermt departementaal vertrouwelijke documenten tegen exfiltratie.' }, [pscustomobject]@{ Name = 'NL Insider Risk - Privileged Abuse' Scenario = 'privilegedAccessAbuse' RequiredSignals = @('azureAdRoleAssignments', 'pimActivations', 'defenderForIdentity', 'microsoftTeams') Escalation = 'Security Operations Center' Priority = 'High' Justification = 'Bewaking van misbruik door beheerders of leveranciers met verhoogde rechten.' } ) } function Connect-RequiredServices { [CmdletBinding()] param() if ($DebugMode -or $script:Connected) { return } Write-Verbose "Verbinding maken met Microsoft Graph (beta-profiel)." Connect-MgGraph -Scopes $script:RequiredScopes -NoWelcome | Out-Null Select-MgProfile -Name beta $script:Connected = $true } function Disconnect-RequiredServices { [CmdletBinding()] param() if ($script:Connected -and -not $DebugMode) { Disconnect-MgGraph | Out-Null } $script:Connected = $false } function Get-InsiderRiskPolicies { [CmdletBinding()] param() if ($DebugMode) { return @( [pscustomobject]@{ displayName = 'NL Insider Risk - Gegevensverplaatsing' status = 'enabled' scenario = 'dataLeakage' dataSources = @('sharePointOnline', 'oneDrive', 'microsoftTeams', 'endpointDlp', 'defenderForCloudApps') escalation = 'CISO-office' priority = 'High' }, [pscustomobject]@{ displayName = 'NL Insider Risk - Privileged Abuse' status = 'enabled' scenario = 'privilegedAccessAbuse' dataSources = @('azureAdRoleAssignments', 'pimActivations', 'defenderForIdentity', 'microsoftTeams') escalation = 'Security Operations Center' priority = 'High' } ) } Connect-RequiredServices $uri = 'https://graph.microsoft.com/beta/security/insiderRiskSettings/policies' $response = Invoke-MgGraphRequest -Method GET -Uri $uri -ErrorAction Stop return $response.value } function ConvertTo-BaselineReport { [CmdletBinding()] param( [Parameter(Mandatory)] [pscustomobject[]]$Baseline, [Parameter(Mandatory)] [object[]]$Current ) $report = @() foreach ($policy in $Baseline) { $currentPolicy = $Current | Where-Object { $_.displayName -eq $policy.Name } $entry = [ordered]@{ PolicyName = $policy.Name Scenario = $policy.Scenario IsPresent = [bool]$currentPolicy IsEnabled = $false MissingSignals = @() EscalationMatch = $false PriorityMatch = $false Recommendations = @() } if ($currentPolicy) { $entry.IsEnabled = ($currentPolicy.status -eq 'enabled' -or $currentPolicy.isEnabled -eq $true) $signals = @() if ($currentPolicy.dataSources) { if ($currentPolicy.dataSources -is [string]) { $signals = @($currentPolicy.dataSources) } else { $signals = $currentPolicy.dataSources } } foreach ($required in $policy.RequiredSignals) { if ($signals -notcontains $required) { $entry.MissingSignals += $required } } $entry.EscalationMatch = ($currentPolicy.escalation -eq $policy.Escalation -or $currentPolicy.'escalationTeam'.displayName -eq $policy.Escalation) $entry.PriorityMatch = ($currentPolicy.priority -eq $policy.Priority) if (-not $entry.IsEnabled) { $entry.Recommendations += 'Schakel de policy in zodat signalen realtime worden verwerkt.' } if ($entry.MissingSignals.Count -gt 0) { $entry.Recommendations += "Koppel ontbrekende signalen: $($entry.MissingSignals -join ', ')." } if (-not $entry.EscalationMatch) { $entry.Recommendations += "Stel de escalatiegroep in op '$($policy.Escalation)'." } if (-not $entry.PriorityMatch) { $entry.Recommendations += "Stel de prioriteit in op '$($policy.Priority)'." } } else { $entry.Recommendations += "Maak de policy '$($policy.Name)' aan met scenario '$($policy.Scenario)'." } $report += [pscustomobject]$entry } return $report } function Test-InsiderRiskBaseline { [CmdletBinding()] param() $baseline = Get-BaselinePolicies $current = Get-InsiderRiskPolicies $report = ConvertTo-BaselineReport -Baseline $baseline -Current $current $result = [ordered]@{ ScriptName = 'insider-risk-management' Timestamp = Get-Date Policies = $report IsCompliant = ($report | Where-Object { -not $_.IsPresent -or -not $_.IsEnabled -or $_.MissingSignals.Count -gt 0 -or -not $_.EscalationMatch -or -not $_.PriorityMatch }).Count -eq 0 Recommendations = ($report.Recommendations | Where-Object { $_ }) | Sort-Object -Unique } return [pscustomobject]$result } function Invoke-Monitoring { [CmdletBinding()] param() $summary = Test-InsiderRiskBaseline foreach ($policy in $summary.Policies) { Write-Host "Policy: $($policy.PolicyName)" -ForegroundColor Gray Write-Host " - Aanwezig : $($policy.IsPresent)" -ForegroundColor Gray Write-Host " - Ingeschakeld : $($policy.IsEnabled)" -ForegroundColor Gray if ($policy.MissingSignals.Count -gt 0) { Write-Host " - Ontbrekende signalen : $($policy.MissingSignals -join ', ')" -ForegroundColor Yellow } if ($policy.Recommendations.Count -gt 0) { Write-Host " - Aanbevelingen:" -ForegroundColor Yellow foreach ($rec in $policy.Recommendations) { Write-Host " * $rec" -ForegroundColor Yellow } } Write-Host "" } if ($summary.IsCompliant) { Write-Host "[OK] Alle baseline policies zijn aanwezig en geconfigureerd." -ForegroundColor Green } else { Write-Host "[ALERT] Afwijkingen gevonden. Zie aanbevelingen hierboven." -ForegroundColor Yellow } return $summary } function Invoke-Remediation { [CmdletBinding()] param() if ($DebugMode) { Write-Host "DebugMode: remediatie wordt gesimuleerd; er worden geen Graph-calls uitgevoerd." -ForegroundColor Yellow return } Connect-RequiredServices $baseline = Get-BaselinePolicies $current = Get-InsiderRiskPolicies $report = ConvertTo-BaselineReport -Baseline $baseline -Current $current foreach ($policy in $baseline) { $reportItem = $report | Where-Object { $_.PolicyName -eq $policy.Name } if (-not $reportItem.IsPresent) { if ($WhatIf) { Write-Host "WhatIf: policy '$($policy.Name)' zou worden aangemaakt." -ForegroundColor Yellow } else { Write-Host "Aanmaken van policy '$($policy.Name)'..." -ForegroundColor Gray $body = @{ displayName = $policy.Name description = $policy.Justification templateType = $policy.Scenario status = 'enabled' priority = $policy.Priority dataSources = $policy.RequiredSignals escalation = @{ type = 'securityGroup' displayName = $policy.Escalation } } | ConvertTo-Json -Depth 5 Invoke-MgGraphRequest -Method POST -Uri 'https://graph.microsoft.com/beta/security/insiderRiskSettings/policies' -Body $body -ContentType 'application/json' } } else { if ($reportItem.MissingSignals.Count -gt 0 -or -not $reportItem.IsEnabled -or -not $reportItem.EscalationMatch -or -not $reportItem.PriorityMatch) { if ($WhatIf) { Write-Host "WhatIf: policy '$($policy.Name)' zou worden bijgewerkt." -ForegroundColor Yellow continue } $currentPolicy = $current | Where-Object { $_.displayName -eq $policy.Name } $patchBody = @{ status = 'enabled' dataSources = ($policy.RequiredSignals) priority = $policy.Priority escalation = @{ type = 'securityGroup' displayName = $policy.Escalation } } | ConvertTo-Json -Depth 5 $patchUri = "https://graph.microsoft.com/beta/security/insiderRiskSettings/policies/$($currentPolicy.id)" Write-Host "Bijwerken van policy '$($policy.Name)'..." -ForegroundColor Gray Invoke-MgGraphRequest -Method PATCH -Uri $patchUri -Body $patchBody -ContentType 'application/json' } } } Write-Host "`nRemediatie afgerond." -ForegroundColor Green } function Invoke-Revert { [CmdletBinding()] param() if ($DebugMode) { Write-Host "DebugMode: revert wordt overgeslagen." -ForegroundColor Yellow return } Connect-RequiredServices $current = Get-InsiderRiskPolicies $baseline = Get-BaselinePolicies foreach ($policy in $baseline) { $currentPolicy = $current | Where-Object { $_.displayName -eq $policy.Name } if ($currentPolicy) { if ($WhatIf) { Write-Host "WhatIf: policy '$($policy.Name)' zou worden verwijderd." -ForegroundColor Yellow continue } $deleteUri = "https://graph.microsoft.com/beta/security/insiderRiskSettings/policies/$($currentPolicy.id)" Write-Host "Verwijderen van policy '$($policy.Name)'..." -ForegroundColor Gray Invoke-MgGraphRequest -Method DELETE -Uri $deleteUri } else { Write-Host "Policy '$($policy.Name)' niet gevonden; niets te verwijderen." -ForegroundColor Gray } } } function Invoke-InsiderRiskAssessment { [CmdletBinding()] param() return Test-InsiderRiskBaseline } try { Write-Banner if ($Monitoring) { Invoke-Monitoring | Out-Null } elseif ($Remediation) { Invoke-Remediation } elseif ($Revert) { Invoke-Revert } else { $summary = Invoke-InsiderRiskAssessment $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
Hoog: Zonder Purview Insider Risk Management mist de organisatie een juridisch houdbaar instrument om insiderdreigingen te detecteren, op te volgen en te rapporteren, waardoor incidenten escaleren tot politieke en financiële crises.

Management Samenvatting

Activeer Purview Insider Risk Management als integraal programma met governance, scenario’s, automatisering en scriptgestuurde validatie zodat insiderdreigingen aantoonbaar onder controle blijven.