💼 Management Samenvatting
Azure API Management logging vormt de fundamentele basis voor het monitoren, analyseren en beveiligen van API-verkeer binnen moderne cloudarchitecturen. Zonder uitgebreide logging beschikken organisaties niet over de benodigde zichtbaarheid om API-aanvallen te detecteren, prestatieproblemen te identificeren, compliance-vereisten na te komen en forensisch onderzoek uit te voeren naar beveiligingsincidenten die de integriteit, beschikbaarheid en vertrouwelijkheid van API-services kunnen schaden.
Azure API Management fungeert als de centrale gateway voor API-verkeer binnen veel Nederlandse overheidsorganisaties, waarbij kritieke diensten zoals burgerportalen, basisregistraties en digitale overheidsdiensten worden blootgesteld via REST- en GraphQL-API's. Zonder uitgebreide logging ontbreekt cruciale zichtbaarheid in wie welke API's aanroept, welke data wordt uitgewisseld, welke fouten optreden en welke beveiligingsgebeurtenissen plaatsvinden. Deze blinde vlek maakt het onmogelijk om API-aanvallen zoals brute force-aanvallen op authenticatie-endpoints, injection-aanvallen waarbij kwaadaardige payloads worden geïnjecteerd in API-verzoeken, denial-of-service-aanvallen waarbij API's worden overbelast met verzoeken, en misbruik van API-sleutels of OAuth-tokens te detecteren en te onderzoeken. Bovendien kunnen organisaties zonder logging niet voldoen aan compliance-vereisten zoals vastgelegd in de AVG, NIS2 richtlijn en de Baseline Informatiebeveiliging Overheid, die allemaal vereisen dat organisaties kunnen aantonen dat zij passende maatregelen hebben genomen om API-verkeer te monitoren en te loggen. Het ontbreken van adequate API-logging kan leiden tot niet-naleving van deze vereisten, wat kan resulteren in boetes, reputatieschade en juridische aansprakelijkheid. Voor organisaties in de publieke sector is API-logging bovendien essentieel voor het waarborgen van transparantie en verantwoording, waarbij bestuurders moeten kunnen aantonen dat zij passende controles hebben geïmplementeerd om de beveiliging van API-services te waarborgen.
Connection:
Connect-AzAccountRequired Modules: Az.Accounts, Az.ApiManagement, Az.Monitor
Implementatie
Deze maatregel beschrijft hoe je diagnostische logging inricht voor Azure API Management-services, met specifieke aandacht voor GatewayLogs die alle API-verzoeken en -antwoorden vastleggen, WebApplicationFirewallLogs die beveiligingsgebeurtenissen registreren, en ApplicationInsights-integratie voor real-time monitoring en analyse. We behandelen hoe je diagnostic settings configureert voor alle API Management-services, welke logcategorieën moeten worden ingeschakeld, hoe je logs naar Log Analytics-workspaces stuurt voor centrale analyse, en hoe je bewaarbeleid afstemt op Nederlandse wet- en regelgeving. Vervolgens laten we zien hoe je de kwaliteit van de aangeleverde logs bewaakt, hoe je test of API-verkeer daadwerkelijk wordt gelogd, en hoe je rapportages opzet die aantonen dat de loggingdekking op orde is. Het bijbehorende PowerShell-script api-management-logging.ps1 voert gerichte controles uit op de aanwezigheid van diagnostic settings voor API Management-services en levert een samenvattend beeld van de mate waarin API-logging daadwerkelijk is geactiveerd.
Vereisten
Een robuuste inrichting van API Management logging start met een heldere scopebepaling: welke API Management-services vallen onder de verantwoordelijkheid van de organisatie en moeten daarom hun API-verkeer en beveiligingsgebeurtenissen centraal loggen? Voor een ministerie of grote uitvoeringsorganisatie betekent dit doorgaans alle productie- en preproductie-services, inclusief gedeelde API-gateways die worden gebruikt door meerdere afdelingen of applicaties. Zonder deze afbakening ontstaan ongedocumenteerde API-services waarin cruciale telemetrie ontbreekt. De eerste voorwaarde is daarom dat er een geautoriseerde lijst bestaat van alle relevante API Management-services, gekoppeld aan eigenaarschap, classificatie (bijvoorbeeld BBN2/BBN3) en Business Impact Analysis-resultaten. Deze lijst vormt de basis voor het bepalen welke services minimaal moeten worden aangesloten op Log Analytics.
Vervolgens zijn er technische randvoorwaarden aan de Log Analytics-workspaces zelf. Er moeten één of enkele centrale workspaces bestaan die expliciet zijn aangewezen als API-log-hub, met een bewaartermijn die past bij de wettelijke en interne eisen – vaak minimaal 180 dagen voor operationele analyse en tussen 365 en 730 dagen voor audit en forensisch onderzoek. De workspaces worden beschermd met role-based access control zodat alleen SOC-analisten, API-beheerders en geautoriseerde auditors query-rechten hebben. Daarnaast moeten network access-beperkingen zijn ingeschakeld, bijvoorbeeld via private endpoints en IP-allowlists, om te voorkomen dat gevoelige API-logdata zomaar vanaf het internet kan worden benaderd. Zonder deze basisconfiguratie kan de organisatie niet geloofwaardig stellen dat API-logs adequaat zijn beschermd.
Cruciaal is ook dat alle API Management-services daadwerkelijk naar Log Analytics schrijven. Dit omvat ten minste GatewayLogs die alle inkomende API-verzoeken en uitgaande antwoorden vastleggen, inclusief HTTP-headers, request- en response-bodies, statuscodes en timing-informatie. WebApplicationFirewallLogs registreren beveiligingsgebeurtenissen zoals geblokkeerde verzoeken, SQL-injectie-pogingen, cross-site scripting-aanvallen en andere OWASP Top 10-bedreigingen. Daarnaast kunnen ApplicationInsights-logs worden geconfigureerd voor real-time monitoring en prestatie-analyse. Voor elke API Management-service moet zijn vastgelegd welke logcategorieën naar welke workspace worden gestuurd. Deze mapping wordt vastgelegd in een datagovernanceregister zodat duidelijk is welke API-bedreigingsscenario's worden afgedekt en waar mogelijke blinde vlekken zitten. Een API Management-omgeving zonder deze expliciete loggingconfiguratie is in de praktijk zelden compleet.
Naast technische inrichting spelen rechten en capaciteit een rol. Analisten hebben toegang nodig tot Kusto Query Language (KQL) en moeten getraind zijn in het schrijven van queries die over API-logs zoeken naar patronen zoals verdachte verkeerspatronen, misbruik van API-sleutels, of ongebruikelijke data-uitwisseling. De organisatie moet tooling beschikbaar stellen om query's te delen en te versiebeheren – bijvoorbeeld via Git-repositories gekoppeld aan workbooks of notebooks – zodat kennis niet in persoonlijke profielen verdwijnt. Verder moeten afspraken bestaan over wie queries mag aanpassen die als bron dienen voor usecases in Sentinel, dashboards of managementrapportages. Deze governance voorkomt dat kritieke queries onbewust worden gewijzigd en dat de kwaliteit van API-detecties over tijd verwatert.
Tot slot is integratie met overige monitoringoplossingen een expliciete voorwaarde. In veel omgevingen fungeert Log Analytics als datalaag onder Microsoft Sentinel, Defender for Cloud, Azure Monitor en soms ook externe oplossingen zoals Splunk of QRadar. De inrichting van API-logs moet daarom rekening houden met downstream-gebruik: retentie in Log Analytics mag niet korter zijn dan de forensische bewaarbehoefte uit het incident response-plan, en export- of replicatiemechanismen naar andere SIEM's moeten worden gedocumenteerd en regelmatig getest. Zonder deze afstemming dreigt versnippering van data, dubbele opslagkosten en – belangrijker – inconsistentie tussen de cijfers die in audits of aan bestuurders worden gepresenteerd.
Implementatie
De implementatie van API Management logging verloopt idealiter in iteratieve stappen, beginnend met een kleinschalige pilot en eindigend in een volledig uitgerolde multi-service-architectuur. In de eerste fase wordt een of enkele Log Analytics-workspaces aangewezen als API-log-hub en worden bestaande API Management-services in kaart gebracht. Met Azure Resource Graph en de Azure Portal wordt vastgesteld welke diagnostic settings al bestaan, naar welke bestemmingen zij schrijven (Storage, Event Hub, Log Analytics) en welke logcategorieën daarin zijn opgenomen. Op basis van deze nulmeting wordt bepaald welke services direct kunnen worden aangesloten en waar aanvullende configuratie nodig is. In dezelfde fase worden naming conventions vastgelegd voor workspaces, resourcegroepen en diagnostic settings zodat later duidelijk blijft welke configuraties tot het API-loggingdomein behoren.
Daarna volgt het systematisch inschakelen van diagnostic settings voor alle API Management-services. Per service wordt een diagnostic setting geconfigureerd die GatewayLogs en WebApplicationFirewallLogs naar de security-workspace stuurt. GatewayLogs bevatten alle inkomende API-verzoeken en uitgaande antwoorden, inclusief HTTP-methoden, URL-paden, statuscodes, response-tijden, client-IP-adressen en gebruikersidentiteiten. WebApplicationFirewallLogs registreren beveiligingsgebeurtenissen zoals geblokkeerde verzoeken, detectie van kwaadaardige payloads en firewall-regelmatches. Tijdens deze uitrol wordt per wijziging gecontroleerd of de nieuwe datastroom daadwerkelijk resulteert in records in de beoogde tabellen, bijvoorbeeld door in de workspace te zoeken naar recente entries in ApiManagementGatewayLogs of ApiManagementWebApplicationFirewallLogs.
Gebruik PowerShell-script api-management-logging.ps1 (functie Invoke-Implementation) – Implementeren en controleren van API Management logging configuratie.
Het PowerShell-script api-management-logging.ps1 ondersteunt deze implementatie door per API Management-service te controleren of diagnostic settings daadwerkelijk zijn geconfigureerd en of logs worden gegenereerd. Het script maakt verbinding met Azure via Connect-AzAccount, haalt alle API Management-services op en controleert of diagnostic settings bestaan die GatewayLogs en WebApplicationFirewallLogs naar Log Analytics sturen. Services zonder diagnostic settings of zonder de juiste logcategorieën worden als risicovol gemarkeerd omdat daar kennelijk geen API-logging op is aangesloten. De uitvoer bevat zowel een totaalscore per tenant als een overzicht per service, waardoor teams gericht acties kunnen uitzetten naar de eigenaar van de betreffende API-gateway. Het script kan herhaaldelijk worden gedraaid nadat nieuwe diagnostic settings zijn toegevoegd om te verifiëren dat de verwachte gebeurtenissen inderdaad aankomen.
Wanneer de basis staat, verschuift de aandacht naar normalisatie en tagging. Log Analytics biedt mogelijkheden om via ingestie-time transform rules en custom fields metadata toe te voegen, bijvoorbeeld de classificatie van een API, de verantwoordelijke afdeling of het bijbehorende proces uit de BIA. Door deze context aan API-logs te koppelen, kunnen SOC-analisten sneller prioriteren en wordt het eenvoudiger om rapportages te maken die aansluiten op bestuurlijke dashboards. In deze fase wordt ook bepaald welke tabellen structureel worden gebruikt voor usecases in Sentinel of andere SIEM's, zodat retentie en prestatie-optimalisaties zich concentreren op de belangrijkste datastromen.
De laatste implementatiestap omvat automatisering en kwaliteitsborging. Met behulp van Azure Policy, ARM/Bicep-sjablonen of Terraform wordt vastgelegd dat nieuwe API Management-services automatisch de juiste diagnostic settings krijgen. Daarnaast worden periodieke scripts of workbooks ingericht die controleren of er geen nieuwe services zijn ontstaan zonder logging, of dat er geen services zijn waarin API-logs stilgevallen zijn. Deze controles worden opgenomen in de reguliere change- en releasekalender, zodat wijzigingen in architectuur of tooling niet ongemerkt leiden tot gaten in de loggingdekking. Door implementatie en borging op deze manier te combineren groeit API Management logging uit tot een stabiele pijler onder het security operating model.
Compliance en Auditing
Vanuit complianceperspectief vervult API Management logging een dubbele rol: enerzijds als technische voorziening om API-aanvallen tijdig te detecteren en te onderzoeken, anderzijds als bron van bewijs dat de organisatie structureel voldoet aan gestelde normen. De Baseline Informatiebeveiliging Overheid (BIO) schrijft in hoofdstukken over logging en monitoring voor dat beveiligingsrelevante gebeurtenissen moeten worden vastgelegd, geanalyseerd en gekoppeld aan opvolgacties. Door API-logs gecentraliseerd in Log Analytics beschikbaar te hebben, kan eenvoudig worden aangetoond welke API-verzoeken worden verzameld, over welke periode, met welke toegangsbeperkingen en welke dashboards en usecases daarop draaien. Tijdens ENSIA- en interne audits kunnen query-uitdraaien, retentieconfiguraties en toegangsrechten rechtstreeks uit de workspace worden geëxporteerd als evidence.
Ook de AVG en NIS2 stellen impliciete en expliciete eisen aan API-logging. AVG Artikel 32 verlangt passende technische en organisatorische maatregelen om onder meer de vertrouwelijkheid, integriteit en beschikbaarheid van persoonsgegevens te waarborgen. Zonder goede API-logdata is het vrijwel onmogelijk om na een datalek vast te stellen welke gegevens precies zijn uitgewisseld via API's, wat de beoordeling van meldplicht en impact enorm bemoeilijkt. NIS2 en de Wet beveiliging netwerk- en informatiesystemen vragen bovendien om aantoonbaar en proportioneel incidentmanagement, inclusief forensische mogelijkheden. Een Log Analytics-omgeving waarin API-logs, beveiligingsgebeurtenissen en prestatiemetrics over meerdere jaren beschikbaar zijn, vormt de basis om deze verplichtingen na te komen en om in rapportages richting toezichthouders overtuigend te laten zien wat er is gebeurd en hoe snel daarop is gereageerd.
Voor sectorale kaders, zoals de DigiD-beveiligingsrichtlijnen, de richtlijnen van het Nationaal Cyber Security Centrum (NCSC) of aanvullende eisen van toezichthouders in de gezondheidszorg en financiële sector, geldt eveneens dat logging en monitoring centraal staan. Log Analytics maakt het mogelijk om maatwerkrapporten te definiëren waarin bijvoorbeeld alle toegangspogingen tot hooggeclassificeerde API's, misbruik van API-sleutels of policy-overtredingen in één overzicht worden samengebracht. Deze rapporten kunnen periodiek worden geëxporteerd en ondertekend, waardoor zij direct als auditstuk kunnen worden opgenomen in dossiers. Belangrijk is wel dat de queries en workbooks die hiervoor worden gebruikt onder versiebeheer staan, zodat auditteams kunnen controleren dat de gebruikte logica consistent is en dat resultaten herhaalbaar zijn.
Transparantie en dataminimalisatie blijven randvoorwaarden, ook bij API-logging. Organisaties moeten onderbouwen waarom bepaalde persoonsgegevens – zoals IP-adressen, gebruikersnamen of API-sleutels – in logs worden vastgelegd en hoe lang zij worden bewaard. Log Analytics ondersteunt deze verantwoording doordat retentie-instellingen per tabel kunnen worden vastgelegd en omdat exportstromen naar andere systemen zichtbaar zijn. Door deze configuraties te documenteren in het verwerkingsregister en in dataprotectie-effectbeoordelingen (DPIA's), kan worden aangetoond dat logging proportioneel en doelgebonden is ingericht. Hiermee worden technische maatregelen direct gekoppeld aan juridische en organisatorische kaders, wat essentieel is binnen de Nederlandse Baseline voor Veilige Cloud.
Monitoring en Kwaliteitsbewaking
Zodra API Management logging in gebruik is, verschuift de focus naar de kwaliteit en continuïteit van de datastromen. Monitoring richt zich dan niet alleen op wat er met API's gebeurt, maar ook op de vraag of logs zelf nog volledig en betrouwbaar zijn. Dit betekent dat er dashboards nodig zijn die het volume aan binnenkomende API-verzoeken per service en per endpoint visualiseren, met duidelijke drempelwaarden voor afwijkingen. Een plotselinge daling van het aantal entries in ApiManagementGatewayLogs kan wijzen op een fout in diagnostic settings, een uitgevallen API Management-service of een onbedoelde wijziging in netwerkconfiguratie. Het tijdig herkennen van dit soort afwijkingen voorkomt dat het SOC wekenlang werkt met een onzichtbare blinde vlek.
Gebruik PowerShell-script api-management-logging.ps1 (functie Invoke-Monitoring) – Controleren of API Management logging daadwerkelijk is geconfigureerd en actief.
Het PowerShell-script api-management-logging.ps1 ondersteunt deze kwaliteitsbewaking door per API Management-service te controleren of diagnostic settings bestaan en of logs daadwerkelijk worden gegenereerd. De uitvoer geeft een overzicht van het aantal services, hoeveel daarvan logging hebben geconfigureerd en in welke services deze ontbreekt. Deze informatie kan worden gebruikt als input voor periodieke rapportages richting het Cloud Competence Center of het Security Operations Center. Door het script bijvoorbeeld dagelijks of wekelijks via Azure Automation uit te voeren en de resultaten in Log Analytics terug te schrijven, ontstaat bovendien een historisch beeld van de loggingdekking, wat weer input levert voor trendanalyses en maturity-assessments.
Naast het meten van datavolume is het belangrijk om de prestaties van query's te monitoren. Complexe KQL-query's die regelmatig time-outs veroorzaken of veel resources verbruiken, kunnen dashboards en usecases vertragen en zo de effectiviteit van het SOC verminderen. Door queryduur, resource consumption en foutpercentages op te nemen in monitoringdashboards, kunnen teams gericht optimaliseren: tabellen partitioneren, indexen gebruiken, query's herschrijven of data-aggregaties toepassen. Deze optimalisaties zijn extra relevant in omgevingen waar Log Analytics ook fungeert als datalaag voor Sentinel, omdat performance-impact daar direct invloed heeft op detectiesnelheid.
Tot slot maakt monitoring ook de menselijke factor zichtbaar. Door KPI's vast te leggen zoals het aantal uitgevoerde API-huntsessies per maand, het aantal verbeterde queries of het percentage incidenten waarin API-logs daadwerkelijk zijn geraadpleegd, ontstaat een beeld van hoe volwassen het gebruik van API-logs in de praktijk is. Deze cijfers kunnen worden meegenomen in managementrapportages en opleidingsplannen, zodat duidelijk wordt waar extra training, tooling of capaciteit nodig is. Zo wordt API Management logging geen eenmalig technisch project, maar een doorlopend verbeterprogramma dat bijdraagt aan de weerbaarheid van de hele organisatie.
Remediatie en Verbetering
Wanneer monitoring uitwijst dat één of meerdere API Management-services geen logging hebben geconfigureerd of dat bepaalde services niet langer logs genereren, is snelle remediatie noodzakelijk. In de praktijk gaat het vaak om verkeerd toegepaste diagnostic settings, verwijderde workspacekoppelingen of wijzigingen in netwerkconfiguraties waardoor logs niet meer kunnen worden verzonden. Een effectief remediatieproces begint daarom met een duidelijke beslisboom: is het probleem beperkt tot één service of een hele resourcegroep, is het tijdelijk (bijvoorbeeld onderhoud) of structureel, en welke processen zijn afhankelijk van de betreffende logging? Deze analyse bepaalt welke prioriteit het issue krijgt en wie moet worden betrokken bij de oplossing.
Gebruik PowerShell-script api-management-logging.ps1 (functie Invoke-Remediation) – Ondersteunen bij het herstellen van ontbrekende API Management logging.
De functie Invoke-Remediation in het bijbehorende PowerShell-script is bewust terughoudend: in plaats van automatisch configuraties aan te passen, markeert het script services zonder diagnostic settings en geeft het gerichte aanbevelingen om logging te herstellen. Deze aanpak sluit aan bij de realiteit dat veel organisaties gebruikmaken van infrastructuur-as-code voor definitieve configuratie en dat directe wijzigingen in productie via scripts soms onwenselijk zijn. Het script helpt beheerders door concrete acties te suggereren, zoals het controleren van policy-assignments, het herconfigureren van diagnostic settings of het synchroniseren van instellingen met de gewenste staat in Git. Waar mogelijk kunnen aanvullende helperfuncties worden toegevoegd om standaard-diagnostic settings voor API Management-services voor te bereiden, die vervolgens via het reguliere changeproces worden uitgerold.
Na iedere remediatie-actie volgt een verificatiefase waarin opnieuw wordt gecontroleerd of de beoogde logs daadwerkelijk binnenkomen. Dit gebeurt door zowel het PowerShell-script als handmatige KQL-query's te gebruiken, bijvoorbeeld een time-window search over de laatste uren in ApiManagementGatewayLogs. De resultaten worden vastgelegd in het incident- of wijzigingsdossier, inclusief de grondoorzaak van het probleem en de maatregelen die zijn genomen om herhaling te voorkomen. Denk aan het aanscherpen van Azure Policy-definities, het toevoegen van controles aan CI/CD-pijplijnen of het uitbreiden van monitoring op logvolumes. Door deze feedbacklus consequent te sluiten, groeit de betrouwbaarheid van API Management logging en neemt het risico op onopgemerkte gaten in logging sterk af.
Voor grote incidenten, bijvoorbeeld wanneer wekenlang geen API-logs zijn verzameld uit een kritieke service, wordt remediatie gekoppeld aan bredere herstel- en verbeterprogramma's. Hierbij worden forensische onderzoeksresultaten, juridische beoordelingen en managementrapportages samengebracht om maatregelen te definiëren die verder gaan dan puur technische fixes. Dit kan variëren van aanvullende bewustwordingscampagnes voor API-beheerders tot herontwerp van de API Management-architectuur. API Management logging levert in zulke trajecten het feitenmateriaal dat nodig is om overtuigende businesscases te bouwen en om te laten zien dat investeringen in monitoring daadwerkelijk bijdragen aan lagere risico's en betere naleving van de Nederlandse Baseline voor Veilige Cloud.
Compliance & Frameworks
- BIO: 12.04, 11.04 - Logging, monitoring en continuïteit van kritieke processen
- ISO 27001:2022: A.12.4.1, A.16.1 - Gebeurtenissen logging, incidentmanagement en forensische mogelijkheden
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
Centraliseer alle API-logs in Log Analytics, borg retentie en toegangsbeheer en gebruik scripts en dashboards om continu te controleren of GatewayLogs en WebApplicationFirewallLogs daadwerkelijk worden gegenereerd.
- Implementatietijd: 9 uur
- FTE required: 0.15 FTE