Technische richtlijnen API security & authenticatie
Infraplannen maakt gebruik van een API-gedreven architectuur waarbij beveiliging en authenticatie centraal staan. API’s vormen een kritische toegangspoort tot de applicatie en de achterliggende systemen. Om ongeautoriseerde toegang en datalekken te voorkomen, wordt een zero-trust benadering gehanteerd met OAuth 2.0, Managed Identities en strikte toegangscontrole via Entra ID (Azure AD).
Alle API’s communiceren via beveiligde TLS 1.2/1.3-verbindingen en authenticeren via OAuth 2.0 Client Credentials Flow, waarbij secrets en certificaten worden beheerd via Azure Key Vault. Alleen geautoriseerde clients en services kunnen API’s benaderen, waarbij API Rate Limiting en Conditional Access Policies worden toegepast om misbruik en overbelasting te voorkomen.
- 1 FAQ
- 1.1 1. Hoe worden API’s beveiligd tegen ongeautoriseerde toegang?
- 1.2 2. Hoe wordt authenticatie tussen services geregeld?
- 1.3 3. Hoe worden API-credentials en secrets beheerd?
- 1.4 4. Wordt er gebruik gemaakt van mTLS voor API-verkeer?
- 1.5 5. Hoe wordt API-verkeer versleuteld?
- 1.6 6. Hoe wordt API-misbruik voorkomen?
- 1.7 7. Hoe wordt logging en monitoring van API-aanroepen geregeld?
- 1.8 8. Hoe wordt API-toegang geconfigureerd op basis van gebruikersrechten?
- 1.9 9. Worden SCIM en federatieve authenticatie ondersteund?
- 1.10 10. Hoe wordt voldaan aan compliance-eisen voor API-security?
- 2 Toelichting op de maatregelen
- 3 bronverwijzingen
FAQ
1. Hoe worden API’s beveiligd tegen ongeautoriseerde toegang?
Alle API’s vereisen OAuth 2.0 Client Credentials Flow voor authenticatie. Alleen clients met een geldige client-ID en secret kunnen API-aanroepen doen.
2. Hoe wordt authenticatie tussen services geregeld?
Services en applicaties maken gebruik van Managed Identities om toegang te verkrijgen tot andere Azure-resources zonder hardcoded credentials.
3. Hoe worden API-credentials en secrets beheerd?
Alle API-sleutels, certificaten en secrets worden opgeslagen in Azure Key Vault, waar ze veilig en automatisch geroteerd worden.
4. Wordt er gebruik gemaakt van mTLS voor API-verkeer?
Nee, mTLS wordt momenteel niet gebruikt vanwege de implementatiecomplexiteit. De focus ligt op OAuth 2.0 en Managed Identities als authenticatiemethoden.
5. Hoe wordt API-verkeer versleuteld?
Alle API-communicatie verloopt via TLS 1.2 of hoger. API’s accepteren alleen HTTPS-verkeer via poort 443.
6. Hoe wordt API-misbruik voorkomen?
API Rate Limiting en Throttling zijn ingesteld om misbruik en DDoS-aanvallen te voorkomen. Er wordt ook actief gemonitord via Azure Monitor en Defender for Cloud.
7. Hoe wordt logging en monitoring van API-aanroepen geregeld?
Alle API-aanroepen worden gelogd in Azure Monitor en gecontroleerd op verdachte activiteiten via Microsoft Sentinel.
8. Hoe wordt API-toegang geconfigureerd op basis van gebruikersrechten?
Toegang tot API’s wordt geregeld via Entra ID (Azure AD) met Role-Based Access Control (RBAC), zodat alleen bevoegde gebruikers of applicaties API’s kunnen aanroepen.
9. Worden SCIM en federatieve authenticatie ondersteund?
Ja, API’s ondersteunen System for Cross-domain Identity Management (SCIM) voor identiteitsbeheer en federatieve authenticatie via OpenID Connect en SAML 2.0.
10. Hoe wordt voldaan aan compliance-eisen voor API-security?
API’s voldoen aan de richtlijnen van ISO 27001, OWASP, OAuth 2.0 en Microsoft Security Best Practices en worden regelmatig geaudit.
Infraplannen is een Agile-ontwikkelde applicatie en bevindt zich nog in actieve ontwikkeling. Dit betekent dat zowel de functionaliteit als de beveiligingsmaatregelen continu worden verbeterd en geoptimaliseerd.
Toelichting op de maatregelen
1. Authenticatie en autorisatie
OAuth 2.0 Client Credentials Flow wordt gebruikt voor machine-to-machine authenticatie.
Managed Identities vervangen hardcoded credentials voor veilige service-authenticatie.
Azure Key Vault beheert API-secrets en certificaten, met automatische rotatie.
RBAC (Role-Based Access Control) bepaalt API-toegang op basis van gebruikers- en applicatierollen.
2. Beveiliging van API-communicatie
Alle API-verkeer verloopt via HTTPS (TLS 1.2/1.3) op poort 443.
Inkomend en uitgaand verkeer wordt gefilterd via Azure Firewall en WAF.
Private Endpoints en VNET-integratie beperken publieke toegang tot API’s.
3. Preventie van misbruik en monitoring
Rate Limiting en Throttling beschermen tegen overbelasting en DDoS-aanvallen.
Azure Monitor, Defender for Cloud en Microsoft Sentinel loggen en analyseren alle API-aanroepen.
Activity Logs en Conditional Access Policies zorgen voor extra toegangscontrole.
4. Integratie en federatieve authenticatie
SCIM wordt gebruikt voor identiteitsbeheer tussen verschillende domeinen.
Federatieve authenticatie via OpenID Connect en SAML 2.0 wordt ondersteund.
bronverwijzingen
OAuth 2.0 Authorization Framework – IETF RFC 6749 https://datatracker.ietf.org/doc/html/rfc6749
OpenID Connect Core Specification Final: OpenID Connect Core 1.0 incorporating errata set 2
System for Cross-domain Identity Management (SCIM) – RFC 7644 https://datatracker.ietf.org/doc/html/rfc7644
ISO 27001:2022 – Internationale norm voor informatiebeveiliging https://www.iso.org/standard/27001
NCSC – Beveiligingsrichtlijnen voor API’s https://www.ncsc.nl/documenten
Microsoft Defender for Cloud – API Security Monitoring https://learn.microsoft.com/en-us/azure/defender-for-cloud/
Azure Key Vault – Geheimenbeheer en certificaatopslag https://learn.microsoft.com/en-us/azure/key-vault/general/
Azure API Management – Beveiligingsrichtlijnen https://learn.microsoft.com/en-us/azure/api-management/
Microsoft Sentinel – API Threat Detection & Logging https://learn.microsoft.com/en-us/azure/sentinel/