💼 Management Samenvatting
Een Annual Security Review (ASR) is het formele moment waarop Nederlandse bestuursorganen aantonen dat alle Microsoft 365-beveiligingsmaatregelen aansluiten op wetgeving, risicobereidheid en maatschappelijke opdracht. Het combineert technische metingen, procesbewijslast en bestuurlijke besluiten tot één dossier dat het hele jaar als referentie geldt.
✓ Entra ID
✓ Microsoft Defender
✓ Microsoft Purview
✓ Azure
✓ Nederlandse publieke sector
Toezichthouders verlangen aantoonbaarheid dat bestuurders zelf toezicht houden op cloudrisico's. NIS2 artikel 20, de BIO hoofdstukken 9 en 12 en de Archiefwet schrijven voor dat publieke organisaties jaarlijks kunnen verklaren hoe identiteiten, data en detectie zijn geborgd. Zonder gestructureerde ASR blijven maatregelen versnipperd, worden bevindingen ad hoc opgevolgd en ontbreekt een eenduidige bron voor parlementaire vragen of forensisch onderzoek. De review maakt inzichtelijk welke controles daadwerkelijk werken, welke uitzonderingen lopen, welke leverancierskritisch zijn en welk budget nodig is om kwetsbaarheden binnen overeengekomen termijnen te reduceren.
Connection:
Connect-MgGraph, Connect-IPPSSession, Connect-MDE, lokale CSV/JSON datasetsRequired Modules: Microsoft.Graph, ExchangeOnlineManagement, Defender, Az.Accounts
Implementatie
Dit artikel bevat een volledig draaiboek voor een Microsoft 365 Annual Security Review. We beschrijven het bestuurlijk mandaat, de datavereisten, de uitvoering per controledomein en de manier waarop bevindingen worden vertaald naar verbeterprogramma's en auditklare rapportages. Het bijbehorende PowerShell-script automatiseert inventarisaties, planning en rapportage in Local Debug-modus of, indien gewenst, direct tegen Microsoft Graph en Purview. Zo ontstaat een herhaalbare methode waarmee CISO, CIO, FG en bestuur met één stem spreken over de beveiligingsstatus van de digitale werkplek.
Bestuurlijke opdracht, scope en risicokaders
Een Annual Security Review begint bij een helder mandaat. Bestuurders leggen in een formeel besluit vast dat de ASR het enige geldige instrument is om Microsoft 365-beveiliging integraal te beoordelen. Dat besluit beschrijft de rollen van CISO, CIO, FG, proceseigenaren en leveranciers, inclusief de regel dat alleen bevindingen die in het ASR-dossier staan, worden gebruikt om risicobesluiten te nemen. Door deze governance-afspraak ontstaat rust in de organisatie: teams weten dat hun inspanningen op vaste momenten worden beoordeeld in plaats van doorlopend op ad-hocverzoeken in te moeten gaan. Het mandaat benoemt eveneens welke wettelijke kaders leidend zijn – bijvoorbeeld BIO, AVG, Archiefwet, Wet open overheid en specifieke sectorregelingen – zodat discussies over prioriteit of definities worden voorkomen en auditvragen direct naar het juiste hoofdstuk kunnen verwijzen.
De scope van de ASR is breder dan alleen Microsoft 365-configuraties. Het dossier omvat alle identiteiten in Entra ID, alle data die via Microsoft Purview of SharePoint wordt beheerd, alle workloads die gebruikmaken van Defender for Office 365 en Defender for Endpoint, en iedere integratie met Power Platform, Azure of derde partijen die toegang krijgen via API's of serviceprincipals. Daarnaast zijn de ondersteunende processen – change, incident, crisiscommunicatie, aanbesteding en leveranciersselectie – expliciet onderdeel van de review. Door deze holistische scope wordt zichtbaar of technische maatregelen samen optrekken met procedures en contractuele verplichtingen. Het voorkomt de klassieke situatie waarin beheerteams excellente techniek leveren maar governance, archivering of juridische componenten achterblijven.
Een volwassen ASR koppelt scope aan risicobereidheid. Voor elk domein (identiteit, data, toegang, detectie, respons, leveranciers, continuïteit) definieert de organisatie concrete drempelwaarden zoals maximale doorlooptijd voor privileged reviews, toegestane afwijking op DLP-dekking of het minimumpercentage workloads met gecontroleerde Conditional Access. Deze drempelwaarden worden vastgesteld door de raad of het college en gekoppeld aan het financieel kader, zodat duidelijk is welke investeringen nodig zijn om ze te halen. Tijdens de review wordt per KPI vastgelegd of de drempel wel of niet is gehaald, welke afwijking acceptabel is en welke aanvullende controls worden vereist. Door risicobereidheid meetbaar te maken, ontstaat consistentie in besluitvorming en worden discussies over detailcijfers vervangen door strategische dialoog over impact en prioriteit.
Tot slot bepaalt het mandaat hoe het ASR-proces aansluit op planning-en-controlcycli. De review start direct na afronding van de jaarrekening zodat dezelfde gegevens kunnen worden gebruikt voor verantwoording richting gemeenteraad, Provinciale Staten of ministeries. Bevindingen worden vertaald naar het meerjarenprogramma voor digitalisering, zodat budget gekoppeld is aan meetbare beveiligingsdoelen. Het dossier bevat altijd een managementletter, risicoregister en besluitenregister waarin precies staat welke maatregelen worden uitgevoerd, wie eigenaar is en hoe de voortgang wordt gemonitord. Daarmee is de Annual Security Review niet alleen een compliance-instrument, maar een strategisch stuurmiddel binnen de Nederlandse Baseline voor Veilige Cloud.
Dataverzameling, bronnen en kwaliteitsborging
Gebruik PowerShell-script annual-security-review.ps1 (functie Invoke-AnnualSecurityAssessment) – Verzamelt configuratie- en procesindicatoren uit Microsoft Graph, Purview en lokale datasets, normaliseert de gegevens en berekent de compliancegraad per controledomein. De functie kan volledig lokaal worden getest via -LocalDebug..
Een betrouwbare ASR steunt op consistente data. Het reviewteam legt eerst een bronnenregister aan waarin per indicator staat welke API of dataset wordt gebruikt, hoe vaak deze wordt ververst en wie verantwoordelijk is voor de inhoud. Denk aan Purview-retentieconfiguraties, Privileged Identity Management-logs, Defender Secure Score, Intune compliance, Power Platform DLP, Azure AD sign-in rapportages en leveranciersregisters. Door per bron te documenteren welke filters, tijdsperioden en exportformaten worden gebruikt, kunnen auditors de metingen reproduceren en ontstaat een eenduidige waarheid. Dit register is onderdeel van het ASR-dossier en wordt jaarlijks herzien.
Datakwaliteit vraagt om meetprocedures. Voor elke indicator definieert het team validatieregels, zoals het minimumaantal records dat moet worden aangeleverd, welke kruiscontroles verplicht zijn en hoe outliers worden afgehandeld. Een rapportage over Conditional Access wordt bijvoorbeeld pas geaccepteerd als de aantallen overeenkomen met het Entra ID-tenantoverzicht en als uitzonderingsbeleiden expliciet zijn benoemd. De review bevat tevens een logging van wie de dataset heeft aangeleverd, wanneer dat is gebeurd en welke correcties zijn uitgevoerd. Daarmee ontstaat een auditeerbare keten van gegevensverwerking die voldoet aan AVG en Archiefwet.
Het PowerShell-script in deze repository versnelt de dataverzameling. In Assessment-modus leest het script lokale CSV- of JSON-bestanden in, of maakt het – zodra LocalDebug is uitgeschakeld – verbinding met Microsoft Graph om realtime data op te halen. Het script berekent automatisch kernstatistieken zoals het aantal controls dat buiten termijn loopt, de gemiddelde doorlooptijd van remediaties en de verdeling van risico's per organisatieonderdeel. Dankzij Select-MgProfile en gestroomlijnde scope-requests blijft de uitvoering binnen enkele seconden, zodat het script veilig kan worden opgenomen in CI/CD-pipelines of GitHub Actions die het ASR-dossier periodiek bijwerken.
Kwaliteitsborging krijgt vorm via peer reviews en automatische checks. Zodra datasets zijn ingeladen, valideert het script of alle verplichte velden aanwezig zijn, of datumsrangschikkingen logisch zijn en of de documentatie verwijst naar een actueel beleidsdocument. Vervolgens voert een tweede lijn (bijvoorbeeld internal audit of informatiebeveiligingsdienst) steekproeven uit waarin datasets worden vergeleken met ruwe exports uit Microsoft 365. Alleen wanneer deze dubbelcheck positief uitvalt, wordt de dataset vrijgegeven voor opname in de review. Zo waarborgt de organisatie dat de Annual Security Review gebaseerd is op feiten in plaats van interpretaties.
Uitvoering, besluitvorming en rapportageflow
Gebruik PowerShell-script annual-security-review.ps1 (functie Invoke-AnnualSecurityPlanning) – Genereert een reviewkalender, wijst controles toe aan eigenaars, plant workshops met bestuurders en exporteert een overzicht van deadlines en deliverables in CSV of JSON..
De uitvoeringsfase start met een kick-off waarin bestuur, CISO, CIO, FG en belangrijkste leveranciers de planning bevestigen. Tijdens deze sessie worden risico's opnieuw geijkt, worden lessons learned uit incidenten besproken en wordt vastgesteld welke prioriteiten gelden voor de komende review. Daarna volgen per domein thematische deep dives waarbij datasets worden gepresenteerd, bevindingen worden gevalideerd en voorlopige maatregelen worden geformuleerd. Deze sessies worden gestandaardiseerd met templates voor agenda, notulen en bewijslijsten zodat iedereen weet welke informatie nodig is om besluiten te kunnen nemen.
Het PowerShell-script ondersteunt de planning door automatisch een reviewkalender te bouwen uit de aangeleverde datasets en beschikbaarheid van betrokkenen. Elke controle krijgt een eigenaar, een uiterste reviewdatum, de benodigde documenten en een link naar relevante dashboards of runbooks. Dankzij de planningsfunctie wordt duidelijk waar capaciteit ontbreekt en welke afhankelijkheden tussen teams bestaan. Het script kan optioneel een Markdown- of CSV-export genereren, waardoor het eenvoudig wordt om de planning te delen via Teams, Planner of Project for the web.
Op basis van de deep dives stelt het reviewteam een conceptmanagementletter op. Deze brief bevat per domein een samenvatting van geconstateerde sterktes, tekortkomingen, risico's en afhankelijkheden. Besluiten met aanzienlijke impact – bijvoorbeeld het versneld uitfaseren van legacy-authenticatie of het verplichten van customer lockbox voor alle tenants – worden beschreven inclusief budgettaire consequenties. Bestuurders ontvangen de brief minimaal drie weken voordat de definitieve review wordt vastgesteld, zodat zij vragen kunnen stellen, aanvullende informatie kunnen opvragen of externe experts kunnen raadplegen. Het reviewproces eindigt met een bestuurlijke sessie waarin besluiten worden bekrachtigd, uitzonderingen formeel worden goedgekeurd en opdracht wordt gegeven voor de geprioriteerde verbetermaatregelen.
De uiteindelijke rapportage bestaat uit meerdere lagen: een publieke samenvatting, een vertrouwelijk hoofdstuk met technische details en audittrail, en een archiefpakket met alle onderliggende datasets. Het script helpt bij het samenstellen van deze lagen door de relevante bestanden te bundelen, hashes te berekenen voor integriteitscontrole en een manifest te genereren waarmee later kan worden aangetoond dat niets is gewijzigd. Hierdoor voldoet de organisatie aan de eisen van toezichthouders en kan het dossier snel worden gedeeld met auditors, rekenkamers of parlementaire onderzoeken.
Verbeterprogramma, monitoring en assurance
Gebruik PowerShell-script annual-security-review.ps1 (functie Invoke-AnnualSecurityReporting) – Zet bevindingen om in een geprioriteerde verbetermatrix, maakt een auditklaar dossier met bewijsbestanden en kan resultaten exporteren naar JSON, CSV of Markdown voor bestuur en toezichthouders..
Een review zonder opvolging verliest zijn waarde. Daarom wordt iedere bevinding uit de ASR vertaald naar een actie met eigenaar, budget en deadline. Deze acties worden opgenomen in het centrale verbeterprogramma voor informatiebeveiliging en gekoppeld aan bestaande portfolioprocessen, zodat voortgang zichtbaar is in reguliere stuurinformatie. Hoog-risicoacties krijgen wekelijkse monitoring; medium en low risico's worden minimaal maandelijks beoordeeld. Door acties te koppelen aan risico-appetite en KPI's kunnen bestuurders direct zien welke maatregelen het meeste effect hebben op het verlagen van de dreigingsscore.
Monitoring vindt plaats via Power BI-dashboards en Microsoft Sentinel-rapportages waarin indicatoren uit de ASR realtime worden gevolgd. Het script kan periodiek worden aangeroepen door Azure Automation om datasets opnieuw te verzamelen en deltas te berekenen ten opzichte van de vorige review. Zo ontstaat een levend dossier waarin zichtbaar is of maatregelen zijn afgerond, welke nieuwe risico's zijn ontdekt en hoe volwassenheid zich ontwikkelt. Wanneer een indicator opnieuw buiten de bandbreedte valt, wordt automatisch een escalatie gestuurd naar de verantwoordelijke proceseigenaar en, indien nodig, naar de auditcommissie.
Assurance wordt geborgd door onafhankelijke toetsen. Internal audit of een externe partij voert een toets uit op de opzet, bestaan en werking van het ASR-proces. Hierbij wordt gekeken naar volledigheid van het bronnenregister, de kwaliteit van de data-analyses, de tijdigheid van besluiten en de effectiviteit van de opvolging. De bevindingen van deze assurance worden opgenomen in het volgende reviewjaar, zodat het proces zichzelf continu verbetert. Daarnaast wordt minimaal eens per twee jaar een ketenoefening gehouden waarin leveranciers laten zien hoe zij bijdragen aan de ASR-bewijslast.
Door verbeterprogramma, monitoring en assurance te combineren ontstaat een gesloten kwaliteitssysteem. Het bestuur beschikt over actuele inzichten, auditors zien dat maatregelen aantoonbaar werken en operationele teams weten precies welke acties prioriteit hebben. De Annual Security Review wordt zo een vast onderdeel van de Nederlandse Baseline voor Veilige Cloud, waarbij feitelijke data en bestuurlijke besluitvorming elkaar versterken en waarbij de publieke sector proactief kan aantonen dat cloudbeveiliging onder controle is.
Compliance & Frameworks
- BIO: 9.1, 12.1, 12.4, 16.1 - De BIO vereist aantoonbare risicobeoordeling, changebeheer, logging en periodieke evaluaties; de Annual Security Review levert dit dossiermatig bewijs.
- ISO 27001:2022: A.5.1, A.5.30, A.8.29, A.10.1 - ISO 27001 benadrukt leiderschap, continue verbetering, beheer van technische kwetsbaarheden en compliance-rapportage; deze review koppelt al deze elementen.
- NIS2: Artikel - NIS2 verplicht bestuurders om toezicht te houden op risicobeheer en verifieerbare rapportages te leveren; de Annual Security Review documenteert dit 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).
Risico zonder implementatie
Management Samenvatting
Richt een formele Annual Security Review in met duidelijke scope, dataprocedures, planning en assurance. Gebruik het script `code/m365/governance/annual-security-review.ps1` om gegevens te verzamelen, planning te automatiseren en rapportages te genereren, zodat bestuurders aantoonbaar grip hebben op de Microsoft 365-omgeving.
- Implementatietijd: 280 uur
- FTE required: 0.5 FTE