💼 Management Samenvatting
OAuth consent policies vormen de fundamentele beveiligingslaag die bepaalt welke applicaties toegang kunnen krijgen tot organisatiedata via OAuth 2.0 en OpenID Connect. In Microsoft Entra ID (voorheen Azure AD) regelen deze policies wie toestemming kan geven voor applicatiepermissies, welke permissies worden toegestaan, en onder welke voorwaarden externe applicaties toegang krijgen tot Microsoft 365-services en -data.
✓ Entra ID
Het risico van ongecontroleerde OAuth-consent is een van de meest onderbelichte maar kritieke beveiligingsuitdagingen in moderne cloudomgevingen. Aanvallers misbruiken regelmatig het OAuth-consentproces om toegang te krijgen tot organisatiedata zonder wachtwoorden te stelen. Ze registreren bijvoorbeeld een kwaadaardige applicatie in een externe Azure AD-tenant, vragen om brede permissies zoals 'Mail.Read', 'Files.ReadWrite.All' of 'User.ReadWrite', en proberen vervolgens gebruikers te overtuigen om toestemming te geven via phishing-e-mails of gecompromitteerde websites. Zodra een gebruiker toestemming geeft, verkrijgt de aanvaller een OAuth-token waarmee hij of zij namens die gebruiker toegang heeft tot e-mail, bestanden, contactpersonen en andere gevoelige data. Dit type aanval is bijzonder gevaarlijk omdat het traditionele beveiligingscontroles omzeilt: er is geen wachtwoord nodig, MFA kan worden omzeild als de gebruiker al is ingelogd, en de aanvaller kan toegang behouden zolang het token geldig is. Voor Nederlandse overheidsorganisaties is dit extra relevant omdat persoonsgegevens, vertrouwelijke documenten en operationele informatie vaak in Microsoft 365 worden opgeslagen. Zonder goed geconfigureerde OAuth consent policies kunnen medewerkers, leveranciers of externe partners onbewust toestemming geven aan kwaadaardige applicaties, wat leidt tot datalekken, schending van de AVG, en potentiële verstoring van vitale processen. Daarnaast vereisen compliance-kaders zoals de BIO, NIS2 en ISO 27001 expliciete controle over applicatietoegang en toestemmingsprocessen.
Connection:
Connect-MgGraphRequired Modules: Microsoft.Graph
Implementatie
Dit artikel beschrijft hoe u als CISO, security architect of Microsoft 365-beheerder OAuth consent policies ontwerpt, configureert en beheert voor een Nederlandse overheidsorganisatie. We beginnen met een overzicht van het OAuth-consentmodel in Entra ID: de verschillende typen consent (delegated permissions, application permissions), de rollen van gebruikers versus beheerders, en de relatie tussen consent policies en authorization policies. Vervolgens werken we uit welke basisconfiguratie minimaal nodig is: het beperken van gebruikerstoestemming, het vereisen van beheerderstoestemming voor alle applicaties, het configureren van admin consent workflows, en het implementeren van permission grant policies die specifieke permissies blokkeren of vereisen. Daarna verdiepen we ons in geavanceerde scenario's: het beheren van multi-tenant applicaties, het controleren van externe applicaties die toegang vragen, het monitoren van consent-activiteit via audit logs, en het reageren op verdachte consent-aanvragen. Tot slot behandelen we governance: hoe u consent policies documenteert, periodiek herijkt, integreert met andere beveiligingsmaatregelen zoals Conditional Access en Cloud App Security, en hoe u auditbaar kunt aantonen dat OAuth-consent adequaat wordt beheerd.
Fundamenten van OAuth consent in Microsoft Entra ID
OAuth 2.0 en OpenID Connect zijn de standaardprotocollen waarmee moderne applicaties toegang krijgen tot cloudservices zonder wachtwoorden te delen. In plaats daarvan verleent een gebruiker of beheerder toestemming (consent) aan een applicatie om namens hen te handelen. Dit consentproces is cruciaal voor de gebruikerservaring en productiviteit, maar vormt tegelijkertijd een significant beveiligingsrisico als het niet adequaat wordt beheerd. In Microsoft Entra ID zijn er twee primaire typen permissies: delegated permissions en application permissions. Delegated permissions geven een applicatie de mogelijkheid om namens een ingelogde gebruiker te handelen, met de rechten en beperkingen van die gebruiker. Application permissions geven een applicatie directe toegang zonder dat er een gebruiker bij betrokken is, wat krachtiger is maar ook risicovoller. Beide typen vereisen expliciete toestemming, maar de manier waarop die toestemming wordt verkregen en wie die kan geven, wordt bepaald door OAuth consent policies.
Het consentmodel in Entra ID kent verschillende niveaus van controle. Standaard kunnen gebruikers toestemming geven voor applicaties die alleen lage-risico permissies vragen, zoals het lezen van hun eigen profiel. Voor applicaties die gevoeligere permissies vragen, zoals toegang tot alle e-mail of alle bestanden, is beheerderstoestemming vereist. Deze standaardinstellingen zijn echter vaak onvoldoende voor organisaties met hoge beveiligingseisen. OAuth consent policies maken het mogelijk om dit model verder aan te scherpen: u kunt bijvoorbeeld alle gebruikerstoestemming uitschakelen en vereisen dat alle applicaties expliciet door een beheerder worden goedgekeurd. U kunt ook permission grant policies definiëren die specifieke permissies blokkeren, ongeacht wie toestemming geeft, of die aanvullende voorwaarden stellen zoals het vereisen van MFA of het beperken van consent tot specifieke applicaties of uitgevers.
Een belangrijk onderscheid is dat tussen single-tenant en multi-tenant applicaties. Single-tenant applicaties zijn geregistreerd in uw eigen Entra ID-tenant en kunnen alleen door uw organisatie worden gebruikt. Multi-tenant applicaties zijn geregistreerd in een externe tenant (bijvoorbeeld door een softwareleverancier) en kunnen door meerdere organisaties worden gebruikt. Multi-tenant applicaties vormen een extra risico omdat u geen directe controle heeft over de registratie en omdat aanvallers vaak multi-tenant applicaties gebruiken om hun kwaadaardige code te verspreiden. OAuth consent policies maken het mogelijk om multi-tenant applicaties te blokkeren, te beperken tot specifieke uitgevers, of aanvullende controles te vereisen voordat ze worden goedgekeurd.
Ontwerpprincipes voor OAuth consent policies
Een effectief OAuth consent-beleid begint bij het principe van 'least privilege' en expliciete goedkeuring. In plaats van gebruikers de vrijheid te geven om zelf applicaties goed te keuren, werkt u met een model waarbij alle applicaties expliciet door beheerders of een goedgekeurde workflow worden beoordeeld voordat ze toegang krijgen. Dit voorkomt dat gebruikers onbewust toestemming geven aan kwaadaardige applicaties en zorgt ervoor dat IT-beheer volledig inzicht heeft in welke applicaties toegang hebben tot organisatiedata. Voor Nederlandse overheidsorganisaties is dit extra belangrijk omdat persoonsgegevens en vertrouwelijke informatie vaak in Microsoft 365 worden opgeslagen, en ongecontroleerde applicatietoegang kan leiden tot schending van de AVG en andere wettelijke vereisten.
Belangrijke ontwerpprincipes zijn onder andere: 'blokkeer gebruikerstoestemming standaard', 'vereis beheerderstoestemming voor alle applicaties', 'implementeer een admin consent workflow', 'blokkeer risicovolle permissies', en 'monitor alle consent-activiteit'. Het blokkeren van gebruikerstoestemming betekent dat gebruikers niet langer zelf toestemming kunnen geven aan applicaties, zelfs niet voor applicaties met lage-risico permissies. In plaats daarvan moeten alle applicaties expliciet door een beheerder worden goedgekeurd via het Entra admin center of via een gestructureerde workflow. Een admin consent workflow maakt het mogelijk om consent-aanvragen te routeren naar specifieke reviewers (bijvoorbeeld security officers of compliance managers) die de aanvraag beoordelen voordat deze wordt goedgekeurd. Dit zorgt voor een extra controlelaag en maakt het mogelijk om aanvragen te documenteren en te auditen.
Daarnaast werkt u met permission grant policies die specifieke permissies blokkeren of aanvullende voorwaarden stellen. Bijvoorbeeld: u kunt een policy definiëren die alle permissies blokkeert die 'ReadWrite' bevatten, tenzij de applicatie expliciet is goedgekeurd door de CISO. U kunt ook policies maken die multi-tenant applicaties blokkeren, tenzij ze zijn gepubliceerd door vertrouwde uitgevers zoals Microsoft of goedgekeurde softwareleveranciers. Deze policies worden toegepast op alle consent-aanvragen, ongeacht of ze door gebruikers of beheerders worden gedaan, wat zorgt voor een consistente beveiligingslaag. Tot slot is monitoring essentieel: u moet alle consent-activiteit loggen, periodiek reviewen welke applicaties toegang hebben, en alert zijn op verdachte patronen zoals consent-aanvragen vanuit onbekende applicaties of permissies die niet passen bij het beoogde gebruik.
Stap-voor-stap implementatie van OAuth consent policies
De implementatie van OAuth consent policies begint met een inventarisatie van de huidige situatie. Welke applicaties hebben momenteel toegang tot uw tenant? Welke permissies hebben ze? Zijn er applicaties die door gebruikers zijn goedgekeurd zonder beheerderstoestemming? Gebruik het Entra admin center en PowerShell-scripts om een volledig overzicht te krijgen van alle service principals, app registrations en granted permissions. Deze nulmeting vormt de basis voor uw ontwerpbeslissingen en maakt het mogelijk om later de effectiviteit van de nieuwe policies aan te tonen. Let daarbij specifiek op multi-tenant applicaties, applicaties met brede permissies zoals 'Directory.ReadWrite.All' of 'Mail.ReadWrite', en applicaties die door gebruikers zijn goedgekeurd zonder expliciete beheerderstoestemming.
Vervolgens configureert u de basisinstellingen voor gebruikerstoestemming. In het Entra admin center navigeert u naar 'Enterprise applications' > 'Consent and permissions' > 'User consent settings'. Hier stelt u in dat gebruikers geen toestemming kunnen geven aan applicaties, of alleen aan applicaties van geverifieerde uitgevers. Voor de meeste overheidsorganisaties is de aanbeveling om alle gebruikerstoestemming uit te schakelen en te vereisen dat alle applicaties expliciet door beheerders worden goedgekeurd. Vervolgens configureert u de admin consent workflow: u definieert welke reviewers consent-aanvragen moeten beoordelen, of reviewers worden gewaarschuwd bij nieuwe aanvragen, en of aanvragen automatisch worden goedgekeurd na een bepaalde tijd als er geen actie wordt ondernomen. Deze workflow zorgt ervoor dat consent-aanvragen niet verloren gaan en dat er altijd een menselijke beoordeling plaatsvindt voordat toegang wordt verleend.
Daarna implementeert u permission grant policies via PowerShell of de Graph API. Deze policies maken het mogelijk om specifieke permissies te blokkeren of aanvullende voorwaarden te stellen. Bijvoorbeeld: u kunt een policy maken die alle permissies blokkeert die 'ReadWrite' bevatten, tenzij de applicatie is goedgekeurd door een specifieke beheerder. U kunt ook policies maken die multi-tenant applicaties blokkeren, tenzij ze zijn gepubliceerd door vertrouwde uitgevers. Deze policies worden toegepast op alle consent-aanvragen en zorgen voor een consistente beveiligingslaag. Tijdens de implementatie is communicatie met de organisatie cruciaal: gebruikers moeten begrijpen waarom ze niet langer zelf applicaties kunnen goedkeuren en hoe ze nieuwe applicaties kunnen aanvragen. Ontwikkel daarom een duidelijk proces voor het aanvragen van applicatietoegang, inclusief een formulier of portal waar gebruikers aanvragen kunnen indienen, en zorg ervoor dat deze aanvragen snel worden beoordeeld om productiviteit niet te belemmeren.
Na de eerste uitrol volgt een periode van fine-tuning. Analyseer audit logs om te beoordelen welke consent-aanvragen worden gedaan, welke applicaties het meest worden gebruikt, en of er verdachte patronen zijn. Let daarbij op indicatoren zoals consent-aanvragen vanuit onbekende applicaties, aanvragen voor permissies die niet passen bij het beoogde gebruik, of aanvragen vanuit risicolanden. Waar nodig past u permission grant policies aan, verfijnt u uitzonderingen voor specifieke applicaties die legitiem zijn maar niet aan alle standaardvereisten voldoen, en borgt u dat uitzonderingen altijd tijdelijk en goed gedocumenteerd zijn. Leg alle wijzigingen vast in change- en configuratiemanagementsystemen, zodat u achteraf kunt reconstrueren waarom een bepaald beleid op een bepaalde manier is ingericht.
Governance, monitoring en continue verbetering
OAuth consent policies zijn geen eenmalig project, maar een doorlopend programma. Nieuwe applicaties worden continu geregistreerd, bestaande applicaties vragen om aanvullende permissies, en dreigingslandschappen veranderen. Daarom hoort OAuth consent-beheer expliciet onderdeel te zijn van de bredere governance rond informatiebeveiliging en identity & access management. Het CISO-office definieert de kaders en risicobereidheid, de security architect vertaalt deze naar technische ontwerpprincipes, en het beheerteam inricht en onderhoudt de policies. Rollen en verantwoordelijkheden worden vastgelegd, inclusief goedkeuringsprocessen voor nieuwe applicaties, een lifecycle voor applicatietoegang (van aanvraag tot goedkeuring tot periodieke review tot uitschakeling), en procedures voor het reageren op verdachte consent-activiteit.
Monitoring speelt hierbij een centrale rol. Via audit logs in Entra ID krijgt u inzicht in alle consent-activiteit: welke applicaties om toestemming vragen, wie toestemming geeft, welke permissies worden verleend, en wanneer dit gebeurt. Automatische controles – bijvoorbeeld via PowerShell-scripts die periodiek controleren of alle actieve applicaties nog legitiem zijn, of er nieuwe applicaties zijn toegevoegd zonder goedkeuring, en of er applicaties zijn met risicovolle permissies – helpen voorkomen dat ongeautoriseerde toegang ongemerkt blijft bestaan. Deze scripts kunnen worden geïntegreerd in bestaande compliance dashboards of SIEM-systemen voor real-time alerting. Daarnaast is het verstandig om periodiek een volledige review uit te voeren van alle applicaties met toegang tot de tenant: zijn ze nog in gebruik? Zijn de permissies nog passend? Zijn er applicaties die niet meer nodig zijn en kunnen worden uitgeschakeld? Deze reviews helpen voorkomen dat de lijst met goedgekeurde applicaties uitgroeit tot een onbeheersbare wildgroei.
Voor compliance en verantwoording richting toezichthouders en audits is aantoonbaarheid essentieel. Documenteer daarom niet alleen de actuele configuratie van OAuth consent policies, maar ook de achterliggende rationale: waarom is gekozen voor deze instellingen, uitzonderingen en workflows? Koppel OAuth consent-beheer expliciet aan controls in de BIO, ISO 27001 en NIS2, zodat u bij audits direct kunt laten zien welke maatregelen welke vereisten afdekken. Bewaar audit evidence zoals exports van alle actieve applicaties en hun permissies, rapportages van periodieke controlescripts, verslagen van consent-review meetings, en logs van alle consent-activiteit. Op die manier wordt OAuth consent-beheer niet alleen een technisch krachtige beveiligingsmaatregel, maar ook een stevig verankerd onderdeel van de bredere governance van de organisatie.
Technische monitoring met PowerShell
Gebruik PowerShell-script oauth-consent-policies.ps1 (functie Invoke-Monitoring) – Controleert of OAuth consent policies correct zijn geconfigureerd: gebruikerstoestemming is uitgeschakeld, admin consent workflow is ingeschakeld, en permission grant policies zijn aanwezig..
Operationele opvolging en remediatie
Gebruik PowerShell-script oauth-consent-policies.ps1 (functie Invoke-Remediation) – Geeft beheerteams een gestructureerde checklist voor het herstellen van ontbrekende of verkeerd geconfigureerde OAuth consent policies..
Compliance & Frameworks
- CIS M365: Control 1.1.10 (L2) - Beperk gebruikerstoestemming voor OAuth-applicaties en vereis beheerderstoestemming voor alle applicaties die toegang vragen tot organisatiedata.
- BIO: 12.01, 16.01 - Zorg voor passende toegangsbeveiliging tot informatiesystemen en implementeer detectie- en responsmaatregelen voor ongeautoriseerde toegangspogingen.
- ISO 27001:2022: A.5.15, A.8.2, A.8.16 - Toegangsbeveiliging en identiteitsbeheer, inclusief controle over applicatietoegang en monitoring van toegangsgebeurtenissen.
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 OAuth consent policies in die gebruikerstoestemming blokkeren, beheerderstoestemming vereisen voor alle applicaties, een admin consent workflow implementeren, en permission grant policies gebruiken om risicovolle permissies te blokkeren. Monitor alle consent-activiteit en voer periodieke reviews uit van alle applicaties met toegang tot de tenant.
- Implementatietijd: 36 uur
- FTE required: 0.15 FTE