Terug naar de blog
11 augustus 2026

M365 audit log voor IT-beheerders: snel starten

Een paar handen sluit een netwerkkabel aan in een serverkast.

Microsoft 365 auditlogs staan centraal in Microsoft Purview Audit. Controleer als eerste drie dingen: staat unified audit logging aan, heb je de juiste rol, en past je retentie bij je licentie? Zonder die drie checks loop je blinde vlekken in je beveiliging.

Snelle startlijst:

  • 🔍 Ingestion controleren: voer Get-AdminAuditLogConfig uit in Exchange Online PowerShell en controleer of UnifiedAuditLogIngestionEnabled op True staat.
  • 🔐 Permissies verifiëren: zorg dat je de rol Audit Logs of View-Only Audit Logs hebt in Microsoft Purview.
  • 📋 Basiszoekopdracht uitvoeren: open Microsoft Purview → Audit, stel een datumrange in en voer je eerste zoekopdracht uit.
  • 💾 Export plannen: download resultaten als CSV en sla ze veilig op voor GDPR/AVG-compliance.

De vier toegangswegen tot je auditdata zijn: de Purview-portal, de Microsoft Defender-portal, Exchange Online PowerShell met Search-UnifiedAuditLog, en de Office 365 Management Activity API voor programmatische toegang en SIEM-integratie.


Belangrijkste inzichten

Microsoft 365 auditlogs zijn alleen nuttig als je ze actief beheert: ingestion controleren, retentie afstemmen op je licentie en exports structureel inrichten zijn de drie pijlers van een werkende auditconfiguratie.

Punt Details
Ingestion altijd controleren Voer Get-AdminAuditLogConfig uit in Exchange Online PowerShell; alleen daar is de status betrouwbaar.
Retentie bepaalt je forensische reikwijdte Audit (Standard) bewaart 180 dagen; Audit (Premium) biedt standaard 1 jaar en optioneel tot 10 jaar via add-on.
UI-limieten kennen voorkomt fouten Maximaal 180 dagen per zoekopdracht en maximaal 50.000 weergegeven events; gebruik PowerShell voor grotere volumes.
SIEM-integratie via de Management Activity API Voor continue monitoring en langdurige retentie is de Office 365 Management Activity API de aangewezen route.
Astia als beheerpartner Astia verzorgt auditconfiguratie, exports en compliancerapportage voor MKB-organisaties in Nederland.

Inhoudsopgave

Waar vind je M365 auditlogs en welke rechten heb je nodig?

Auditlogs zijn beschikbaar via drie portals en één API. Elk toegangspunt heeft zijn eigen gebruik.

Toegangspunt URL Beste voor
Microsoft Purview portal purview.microsoft.com Dagelijkse zoekopdrachten en exports
Microsoft Defender-portal security.microsoft.com/auditlogsearch Security-teams; identiek aan Purview Audit Search
Exchange Online PowerShell Search-UnifiedAuditLog cmdlet Bulk-exports, scripting, automatisering
Office 365 Management Activity API Via Azure AD app-registratie SIEM-integratie, continue streaming

Welke rollen heb je nodig?

Voor toegang tot auditlogs in Purview heb je minimaal één van deze ingebouwde rollen nodig:

  • Audit Logs: volledige zoek- en exportrechten, inclusief het starten van zoekjobs.
  • View-Only Audit Logs: leesrechten voor zoekresultaten, geen beheer van zoekjobs.
  • Audit Administrator: beheert auditbeleid, retentieregels en instellingen.

Je kent rollen toe via het Microsoft Purview-compliancecentrum onder Rollen en bereiken. Maak voor grotere teams een aangepaste rolgroep aan met alleen de benodigde rechten, zodat je het principe van minimale rechten handhaaft.

Ingestion-status controleren

Controleer de ingestion-status altijd in Exchange Online PowerShell, niet in Security & Compliance PowerShell. Alleen daar geeft de property UnifiedAuditLogIngestionEnabled een betrouwbaar resultaat:

Connect-ExchangeOnline
Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled

Staat de waarde op False? Schakel auditing in met:

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

Pro-tip: Beheerders met een ‘restricted’ beheerdersrol zien soms minder auditdata in de Purview-interface dan verwacht. Voor volledig inzicht heb je ‘unrestricted’ rechten nodig en gebruik je Search-UnifiedAuditLog via Exchange Online PowerShell.


Hoe zoek je auditlogs in Microsoft Purview stap voor stap?

De Purview Audit Search is de snelste manier om specifieke events te vinden zonder scripting. Volg deze stappen:

  1. Ga naar Microsoft Purview (purview.microsoft.com) en kies in het linker menu Audit.
  2. Stel de datumrange in in UTC-tijd. De maximale range is 180 dagen per zoekopdracht; kies je een grotere range, dan geeft de UI een foutmelding.
  3. Kies activiteiten via de Activities-picker. Laat het veld leeg voor alle activiteiten, of zoek gericht op bijvoorbeeld “FileAccessed” of “UserLoggedIn”.
  4. Filter op gebruikers door e-mailadressen in te voeren. Laat leeg voor alle gebruikers.
  5. Voeg bestand/map/site toe als je een specifieke SharePoint-URL of OneDrive-pad wilt onderzoeken. Wildcards werken hier.
  6. Gebruik het Keywords-veld voor vrije tekstzoekopdrachten in de AuditData-payload.
  7. Pas RecordType-filter toe om ruis te verminderen: kies bijvoorbeeld alleen SharePoint- of Teams-events.
  8. Start de zoekopdracht en wacht op resultaten. In grote tenants kan een zoekopdracht tot 48 uur duren.

Operationele limieten om te kennen

  • De datumrange per zoekopdracht in de UI is beperkt tot een maximale toegestane periode voor effectieve prestaties.
  • Het aantal weergegeven events per zoekopdracht is begrensd om de prestaties en bruikbaarheid te waarborgen.
  • De beschikbaarheid van records na een event is doorgaans binnen een korte periode, maar kan per service verschillen en is niet gegarandeerd voor een vaste tijd.

Exporteren en veilig bewaren

Klik op Download all results om een CSV-bestand te downloaden. De kolom AuditData bevat JSON. Verwerk die in Excel via Gegevens → Uit tekst/CSV → Power Query of gebruik een Python-script voor grotere datasets. Sla exports op in een beveiligde omgeving met toegangscontrole. Voor GDPR/AVG, BIO en NIS2 geldt dat auditlogs persoonsgegevens kunnen bevatten; beperk toegang tot exports en documenteer je bewaarbeleid.


PowerShell en de Management Activity API: wanneer gebruik je wat?

Search-UnifiedAuditLog in Exchange Online PowerShell

Gebruik Search-UnifiedAuditLog wanneer je meer dan 50.000 events nodig hebt, zoekopdrachten wilt automatiseren, of resultaten direct in een script wilt verwerken. De cmdlet draait uitsluitend in Exchange Online PowerShell; in de Security & Compliance PowerShell-module werkt hij niet betrouwbaar.

Basisvoorbeeld:

Search-UnifiedAuditLog -StartDate "2026-01-01" -EndDate "2026-01-31" `
  -RecordType SharePoint -ResultSize 5000

Gebruik -SessionId en -SessionCommand ReturnNextPreviewPage voor paginering bij grote resultaatsets. Operation-namen uit de audit log activities-documentatie moeten exact overeenkomen, inclusief eventuele punten in de naam; citeer ze altijd tussen aanhalingstekens in PowerShell.

Handige cmdlets op een rij:

  • Get-AdminAuditLogConfig: controleer ingestion-status en huidige configuratie.
  • Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true: schakel auditing in.
  • Search-UnifiedAuditLog: voer zoekopdrachten uit met filters op datum, gebruiker, record type en operatie.

Pro-tip: Bouw je scripts met incrementele tijdvensters van maximaal 24 uur en sla tussenresultaten op. Zo vermijd je throttling en verlies je geen data als een script halverwege stopt.

Office 365 Management Activity API

Voor continue streaming naar een SIEM of langdurige opslag is de Office 365 Management Activity API de aangewezen route. De API levert events via webhooks of polling in vier content types:

  • Audit.Exchange
  • Audit.SharePoint
  • Audit.AzureActiveDirectory
  • Audit.General

Authenticatie verloopt via een Azure AD-app-registratie met een certificaat of client secret. Houd rekening met throttling-limieten: Audit (Standard) heeft een lagere API-bandbreedte dan Audit (Premium), wat bij grote tenants merkbaar is bij hoge event-volumes.

Kernpunt voor SIEM-integratie: de Management Activity API is de enige methode die events in realtime naar externe systemen stuurt. Search-UnifiedAuditLog is geschikt voor ad-hoc onderzoek; voor continue monitoring en forensische beschikbaarheid op lange termijn kies je de API, gekoppeld aan Microsoft Sentinel of een eigen SIEM.


Welke workloads en events vind je in het unified audit log?

Het unified audit log verzamelt events uit alle Microsoft 365-workloads én Microsoft Entra ID. Het volledige overzicht van record types en operatienamen staat in de audit log activities-documentatie.

Workloads en voorbeeldevents per categorie:

  • Exchange Online: MessageBind (postvak geopend door een andere gebruiker), Send (bericht verzonden), SoftDelete (item verplaatst naar prullenbak).
  • SharePoint Online: FileAccessed, FileDownloaded, SharingInvitationCreated (extern delen).
  • OneDrive voor Bedrijven: FileUploaded, FileSyncDownloadedFull.
  • Microsoft Teams: MeetingParticipantDetail, MessageCreatedHasLink, TeamCreated.
  • Microsoft Entra ID: Add service principal, Update user, UserLoggedIn (inclusief MFA-status).
  • Power BI: ExportReport, ViewDashboard. Power BI-auditing moet apart worden ingeschakeld in de Power BI-beheerportal.
  • DLP-beleid: DlpRuleMatch, DlpPolicyMatch voor detectie van gevoelige gegevens.
  • Vertrouwelijkheidslabels: SensitivityLabelApplied, SensitivityLabelChanged.
  • Microsoft Defender-events: AlertEntityGenerated, AlertTriggered.
  • eDiscovery: CaseCreated, SearchCreated.

Sommige workloads, zoals Power BI en bepaalde Defender-events, vereisen extra configuratie voordat events in het unified log verschijnen. Controleer per workload de documentatie. Gebruik het RecordType-filter in Search-UnifiedAuditLog of in de API-query om gericht te zoeken en onnodige ruis te vermijden.

Een veelgemaakte fout: beheerders zoeken in Microsoft Entra ID-auditlogs voor M365-workload-events. Microsoft Entra ID-auditlogs bevatten alleen identiteits- en directorywijzigingen; het volledige M365-workload-overzicht bevindt zich uitsluitend in Microsoft Purview Audit.


Audit (Standard) of Audit (Premium): wat betekent het voor jouw retentie?

Retentie en functionaliteit verschillen wezenlijk tussen de twee varianten. De keuze heeft directe gevolgen voor forensisch onderzoek en compliance met BIO, AVG en NIS2 in Nederland.

Functionaliteit Audit (Standard) Audit (Premium)
Standaardretentie 180 dagen 1 jaar (voor bepaalde workloads)
Langere retentie Niet inbegrepen Add-on beschikbaar tot 10 jaar
Intelligente insights Nee Ja (MailItemsAccessed, Send, e.d.)
API-bandbreedte Standaard Hoger; beter voor grote tenants
Vereiste licentie Microsoft 365 E3 / Business Premium Microsoft 365 E5 of Purview Suite add-on

Overzichtstabel met de verschillen tussen M365 Audit Standaard en Premium

Audit (Standard) biedt 180 dagen retentie; Audit (Premium) biedt standaard één jaar voor bepaalde workloads en optioneel tot 10 jaar via een add-on. Voor Nederlandse organisaties die vallen onder de BIO of NIS2 is langere retentie vaak geen keuze maar een verplichting. De Baseline Veilige Cloud adviseert export naar veilige archieven of een SIEM voor forensische beschikbaarheid op lange termijn.

Praktische opties voor langere bewaring:

  • Microsoft Sentinel of Azure Log Analytics: directe integratie via de Management Activity API of via de Purview-connector; kosten afhankelijk van data-ingest-volume.
  • Eigen SIEM (Splunk, Elastic, QRadar): via de API of via een tussenliggende log-forwarder; vereist eigen beheer van authenticatie en paginering.
  • Retentiebeleid in Purview: stel per record type een aangepast retentiebeleid in voor gebruikers met een Premium-licentie.

Houd bij export rekening met AVG: auditlogs bevatten persoonsgegevens (gebruikersnamen, IP-adressen, bestandsnamen). Documenteer waar je exporteert, wie toegang heeft en hoe lang je bewaart.


Limieten en latencies die je dagelijkse werk beïnvloeden

Concrete limieten om in je operationele planning mee te nemen:

  • Maximaal 10 parallelle zoekopdrachten per gebruikersaccount tegelijk; extra zoekopdrachten moeten wachten of vereisen dat je een lopende taak annuleert.
  • Maximaal 50.000 events worden weergegeven per zoekopdracht in de UI of via Search-UnifiedAuditLog.
  • Maximaal 180 dagen datumrange per zoekopdracht in de Purview-portal; grotere ranges geven een foutmelding.
  • Beschikbaarheid 60–90 minuten na het event voor core services (Exchange, SharePoint, OneDrive, Teams); voor andere workloads kan dit langer duren en geeft Microsoft geen garantie op een vaste tijd.

Troubleshooting: events die je niet kunt vinden

Doorloop deze checklist als een event niet in de zoekresultaten verschijnt:

  • Controleer of UnifiedAuditLogIngestionEnabled op True staat via Get-AdminAuditLogConfig.
  • Verifieer dat je het juiste record type en de exacte operatienaam gebruikt.
  • Controleer of mailbox auditing is ingeschakeld voor het betreffende postvak; mailbox-events ontbreken als dit niet het geval is.
  • Wacht minimaal 90 minuten na het event voordat je zoekt.
  • Controleer of je de juiste rol hebt; een ‘restricted’ beheerdersrol kan zoekresultaten beperken.
  • Verklein de datumrange en het aantal gebruikers om de zoekopdracht te versnellen.

Scripting zonder throttling

Organiseer scripts met tijdvensters van maximaal 24 uur en bouw een wachttijd in tussen batches. Gebruik -ResultSize 5000 als maximum per aanroep en sla tussenresultaten direct op in een bestand. Zo voorkom je dat een time-out alle voortgang verliest.


Praktische best practices voor IT-beheerders

Een werkende auditconfiguratie vraagt om meer dan eenmalig inschakelen. Gebruik deze checklist als terugkerend beheerritme:

  • Verifieer ingestion maandelijks via Get-AdminAuditLogConfig; een update of tenant-wijziging kan de instelling onverwacht resetten.
  • Controleer rolassignments bij elke wijziging in het beheerdersbestand.
  • Plan wekelijkse of maandelijkse exports voor kritieke workloads (Exchange, Entra ID, SharePoint) en sla ze op in een beveiligde locatie.
  • Stuur kritieke events direct naar SIEM via de Office 365 Management Activity API: denk aan UserLoggedIn met mislukte MFA, Add service principal en DlpRuleMatch.
  • Stel alerts in in Microsoft Purview of Microsoft Sentinel op verdachte patronen: massale bestandsdownloads, aanmeldingen buiten kantooruren, externe deelacties.
  • Voer kwartaalcontroles uit met een testzoekopdracht op een bekende actie om te bevestigen dat logging werkt.

Voorbeeld-playbook bij een incident

  1. Detectie: alert in SIEM of Purview triggert op verdachte activiteit.
  2. Zoekjob: start Search-UnifiedAuditLog met een smal tijdvenster rond het incident, gefilterd op de betrokken gebruiker en record type.
  3. Export: download resultaten als CSV en sla op in een forensisch archief met toegangslog.
  4. Analyse: verwerk de AuditData-JSON in Power Query of een SIEM-dashboard; correleer met Entra ID-aanmeldlogs.
  5. Retentiebesluit: bepaal of de data langer bewaard moet worden dan de standaardretentie en pas het retentiebeleid aan.
  6. Rapportage: documenteer bevindingen voor governance, CISO of externe toezichthouder.

Pro-tip: Leg je zoektemplate vast als een herbruikbaar PowerShell-script met parameters voor gebruiker, datumrange en record type. Zo voer je bij elk incident binnen twee minuten een consistente zoekopdracht uit, zonder handmatige fouten in de UI.

Voor organisaties die geen capaciteit hebben om een eigen SIEM te beheren of retentiebeleid bij te houden, is uitbesteding van Microsoft 365-beheer een realistische optie.


Wanneer beheer je auditlogs zelf en wanneer besteed je uit?

De afweging is concreter dan veel IT-teams denken. Zelf beheren geeft volledige controle over zoekopdrachten, retentiebeleid en SIEM-configuratie, maar vraagt structurele tijdsinvestering en kennis van PowerShell, de Management Activity API en relevante compliance-kaders.

Besliscriteria:

  • Tenantgrootte: bij meer dan 200 gebruikers neemt het event-volume snel toe; handmatige exports worden dan tijdrovend.
  • Compliance-eisen: BIO en NIS2 vereisen aantoonbare logging en retentie; zonder gestructureerd beheer is dat moeilijk te bewijzen bij een audit.
  • Interne SOC-capaciteit: heb je een medewerker die wekelijks tijd heeft voor auditbeheer, alerting en incidentrespons? Zo niet, dan is de kans groot dat logging wel aanstaat maar niemand ernaar kijkt.
  • Licentiekosten: Audit (Premium) met langere retentie en add-ons telt op; combineer dat met SIEM-ingest-kosten en het totaal is voor MKB snel substantieel.

Aanbeveling:

  • Klein MKB (tot 50 gebruikers) zonder interne IT-afdeling: overweeg managed services waarbij een partner de ingestion, exports en alerting beheert.
  • Middelgroot bedrijf (50–200 gebruikers) met één IT-beheerder: hybride aanpak: zelf de Purview-portal voor dagelijkse checks, uitbesteding van SIEM-integratie en retentiebeheer.
  • Grotere organisaties met strikte compliance-eisen (BIO/NIS2): interne SOC met eigen SIEM, aangevuld met een externe partner voor periodieke compliance-reviews.

Auditlogs zijn waardevoller dan de meeste beheerders beseffen

De standaardinstelling bij veel MKB-organisaties is: auditing staat aan, niemand kijkt ernaar. Dat is precies het probleem. Een M365 audit log is geen passief archief; het is een actief instrument dat je vertelt wat er in je tenant gebeurt, wie wat heeft gedaan en wanneer. Maar alleen als je er structureel naar kijkt.

Wat me opvalt in de praktijk: veel beheerders investeren in de juiste licentie (E5, Audit Premium) maar verzuimen de Management Activity API te koppelen aan een SIEM. Het gevolg is dat waardevolle intelligente insights, zoals MailItemsAccessed bij een vermoedelijk gecompromitteerd account, wel beschikbaar zijn maar nooit worden gezien. De licentie betaalt zichzelf pas terug als je de data ook daadwerkelijk gebruikt.

Een tweede onderschatting: de 180-dagengrens van Audit (Standard) klinkt ruim, maar bij een incident dat drie maanden geleden begon en pas nu zichtbaar wordt, zit je al snel tegen die grens aan. Forensisch onderzoek vereist context over langere periodes. Wie nu geen retentiebeleid inricht, heeft straks geen data meer om te analyseren.

Mijn advies: begin niet met de perfecte SIEM-architectuur. Begin met drie dingen: ingestion aan, wekelijkse export van kritieke events, en één alert op verdachte aanmeldingen. Bouw daarna stap voor stap uit. Perfectie is de vijand van een werkende basisbeveiliging.


Auditlogs zijn waardevoller dan de meeste beheerders beseffen — overview diagram

Astia helpt je met Microsoft 365 auditbeheer en compliance

Auditlogs correct inrichten, bewaken en exporteren kost tijd die veel MKB-organisaties niet hebben. Astia neemt dat beheer over: van het controleren van ingestion-status en rolassignments tot het opzetten van geplande exports en SIEM-integratie voor Nederlandse organisaties die moeten voldoen aan BIO, AVG of NIS2.

Astia

Astia beheert Microsoft 365-omgevingen voor bedrijven in de regio Utrecht en daarbuiten, inclusief auditconfiguratie, retentiebeleid en compliancerapportage. Of je nu een quickcheck wilt op je huidige auditinstellingen of een volledig beheerd Microsoft 365-pakket zoekt: bekijk wat werkplekbeheer door Astia voor jouw organisatie betekent, of lees waarom MKB-bedrijven kiezen voor IT-beheer uitbesteden via Astia.


Bronnen

Gebruik deze bronnen als directe referentie bij het inrichten en beheren van je auditconfiguratie:

Microsoft Learn-documentatie:

Nederlandse compliance-resources:

Aanbeveling