Maximaal 5 Globale Beheerder Rechtenistrators In Microsoft 365

πŸ’Ό Management Samenvatting

Beperk het aantal Globale beheerder accounts tot een handzaam maximum van vijf om het aanvalsoppervlak van de tenant doelgericht te verkleinen en de verantwoordelijkheid voor kritieke wijzigingen transparant te houden.

Aanbeveling
IMPLEMENT
Risico zonder
Critical
Risk Score
10/10
Implementatie
7u (tech: 3u)
Van toepassing op:
βœ“ M365
βœ“ Azure AD
βœ“ Entra ID

De rol Global Administrator biedt ongefilterde toegang tot alle Microsoft 365-onderdelen, varierend van identiteit en licentieverlening tot compliance-instellingen en data-export. Elke extra houder van deze rol vergroot de kans dat inloggegevens worden misbruikt via phishing, token theft of insider threats, waarna een aanvaller direct bevoegd is om gegevens te wissen, beleid uit te schakelen of additionele backdoors te creeren. Een strak gedefinieerde limiet, gecombineerd met gedocumenteerde rechtvaardigingen en just-in-time toegangsverlening via Privileged Identity Management, waarborgt dat Nederlandse overheidsorganisaties voldoen aan het BIO-principe van minimale bevoegdheden en dat forensische teams precies weten wie welke besluiten nam tijdens incidentrespons.

PowerShell Modules Vereist
Primary API: Microsoft Graph API
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.Identity.DirectoryManagement, Microsoft.Graph.Identity.Governance

Implementatie

Deze control toetst of er maximaal vijf permanent toegewezen Global Administrator-rollen bestaan, opgesplitst in twee tot drie operationele cloud-only accounts en twee break-glass accounts die uitsluitend voor noodscenario's bestaan. Tijdelijke verhogingen verlopen via PIM of specifieke lagere rollen zoals Exchange Administrator of Security Administrator, zodat dagelijkse taken binnen afgebakende bevoegdheden worden uitgevoerd en privileges slechts gedurende korte vensters worden verhoogd.

Vereisten

Een succesvolle beperking van het aantal Global Administrator-accounts begint met een complete inventarisatie van alle identiteiten die de rol dragen, inclusief serviceprincipals, gedeelde accounts, leveranciers en historische noodaccounts. Die inventarisatie is alleen betrouwbaar wanneer de organisatie beschikt over actuele Azure AD-auditlogs, een overzicht van toegewezen en in aanmerking komende rollen en een register met eigenaarschap per account. Zonder dat fundament ontbreekt zicht op de daadwerkelijke omvang van de privileges en bestaat het risico dat verborgen accounts alsnog het aanvalsoppervlak vergroten.

Naast inzicht in de huidige situatie zijn de juiste licenties en platformvoorzieningen een harde voorwaarde. Azure AD Premium P2, en daarmee Microsoft Entra ID Governance, biedt PIM-functionaliteit waarmee elevated rechten tijdelijk kunnen worden verstrekt, goedkeuringsstromen zijn af te dwingen en audittrailgegevens automatisch worden vastgelegd. Ook is een werkende Graph-API-verbinding noodzakelijk zodat scripts op een gestandaardiseerde manier gegevens kunnen verzamelen zonder afhankelijk te zijn van verouderde modules of manuele exports.

Documentatie vormt de ruggengraat van dit vereistenpakket. Elke Global Administrator moet een benoemde eigenaar, een actuele zakelijke rechtvaardiging en een expliciet takenpakket hebben, vastgelegd in het toegangsbeheerbeleid van de organisatie. De documentatie hoort eveneens te beschrijven welke lagere rol een beheerder krijgt zodra het Global Administrator-stempel wordt verwijderd, zodat geen enkel team zonder noodzakelijke bevoegdheden komt te zitten en er geen schaduwrollen worden gecreeerd om gaten op te vullen.

Een volwassen vereistenkader benoemt bovendien de noodzaak van ten minste twee break-glass accounts die cloud-only zijn, met sterke wachtwoorden en uitgezonderd van Conditional Access maar wel onderworpen aan streng fysiek beheer, periodieke wachtwoordwijzigingen en gecontroleerde toegang tot de bewaarplaats van de inloggegevens. Deze noodaccounts moeten getest worden tijdens crisisoefeningen zodat duidelijk is hoe ze worden geactiveerd en hoe snel normale productieaccounts weer de regie overnemen zodra het incident is opgelost.

Tot slot is formele change-governance cruciaal. Er moet een goedgekeurde wijzigingsaanvraag bestaan voor het intrekken of toevoegen van Global Administrator-rollen, inclusief communicatie naar betrokken teams, updates aan runbooks en monitoringconfiguraties. Zonder deze governance kan het programma stilvallen zodra een business unit weerstand biedt, worden reducties teruggedraaid zonder toezicht of ontstaan ongecoordineerde uitzonderingen die auditteams later niet meer kunnen reconstrueren. Pas wanneer al deze randvoorwaarden aantoonbaar aanwezig zijn, kan de implementatiefase starten.

Implementatie

De implementatie start met het vaststellen van de nulmeting. Verzamel via Microsoft Graph of het aangeleverde script de volledige lijst van Global Administrator-assignments en groepeer deze naar eigenaar, afdeling en authenticatiemethode. Analyseer per account welke bedrijfsprocessen werkelijk Global Administrator-rechten vereisen; in de praktijk blijken veel accounts de rol te hebben gekregen voor een eenmalig project of omdat lagere rollen niet bekend waren. Door deze context vooraf te noteren kunnen gesprekken met proceseigenaren gericht plaatsvinden en wordt duidelijk welke accounts meteen kunnen worden afgebouwd.

Gebruik PowerShell-script global-admin-limit.ps1 (functie Invoke-Monitoring) – PowerShell script voor monitoring van Globale beheerder rechtenistrator count.

Plan vervolgstappen per scenario. Voor accounts die permanent Global Administrator moeten blijven, wordt een cloud-only identiteit aangemaakt met een uniek wachtwoord, hardwaretoken en strikte Conditional Access. Voor accounts die slechts tijdelijk verhoogde rechten nodig hebben, wordt een PIM-eligible assignment ingericht met een duidelijke duratie, justificatievelden, een goedkeuringsketen en een access-review-schema. Accounts die uitsluitend platform-specifieke taken uitvoeren krijgen gerichte rollen zoals Exchange Administrator, SharePoint Administrator, Security Administrator of Privileged Role Administrator, zodat de privileges beter aansluiten op het werkpakket.

Voer vervolgens gecontroleerde wijzigingen door. Start met accounts waarvoor consensus bestaat dat ze kunnen worden gedegradeerd. Verwijder de Global Administrator-rol, ken de vervangende rol toe en laat de eigenaar aantonen dat zijn dagelijkse processen nog steeds werken. Documenteer elk besluit in het change register, inclusief ticketnummer, verantwoordelijke manager en een verwijzing naar de bijgewerkte runbooks. Ga daarna verder met complexere accounts zoals leveranciers, integraties of identity-bridge-servers en bepaal of zij kunnen worden vervangen door serviceprincipals met specifieke Graph-applicatiepermissies in plaats van directory-brede machtigingen.

Tijdens de implementatie hoort ook een break-glass review. Controleer of de twee noodaccounts unieke, offline opgeslagen wachtwoorden hebben, of ze periodiek worden getest en of ze buiten Conditional Access-beleid vallen zonder hun monitoring te verliezen. Registreer wie toegang heeft tot de fysieke kluis of password manager waarin de gegevens liggen en hoe escalatie verloopt wanneer een van de accounts moet worden gebruikt. Door deze scenario's vooraf te oefenen, ontstaat vertrouwen dat de limiet van vijf accounts niet tot operationele stilstand leidt.

Sluit de implementatie af met een communicatie- en oplevermoment. Informeer alle beheerteams over de nieuwe richtlijnen: voor elke aanvraag van Global Administrator-rechten geldt voortaan eerst een PIM-activatie of een verwijzing naar een specifieke lagere rol. Publiceer een overzicht van de vijf toegestane accounts, inclusief eigenaar, doel en procedure voor gebruik. Leg vast hoe nieuwe aanvragen worden beoordeeld en hoe het monitoring-script wekelijks of dagelijks draait. Hiermee wordt de overgang van project naar beheer geborgd en ontstaat een herhaalbaar proces dat auditbestendig is.

Monitoring

Gebruik PowerShell-script global-admin-limit.ps1 (functie Invoke-Monitoring) – Controleert aantal permanent Globale beheerder rechtenistrator assignments.

Effectieve monitoring start met het dagelijks draaien van het script dat via Microsoft Graph alle huidige Global Administrator-assignments ophaalt, onderscheid maakt tussen permanente en PIM-eligible rollen en het resultaat wegschrijft naar een Log Analytics workspace of SIEM. Door de uitvoer te verrijken met eigenaarschap en justificatievelden ontstaat een dataset waarmee security- en compliance-teams onmiddellijk kunnen aantonen dat de limiet van vijf accounts wordt gerespecteerd.

Het script moet worden aangevuld met detecties op afwijkingen. Configureer een alert die wordt getriggerd zodra het aantal permanente rollen boven de vijf uitstijgt of wanneer een onbekend account de rol ontvangt zonder gekoppeld change-nummer. Gebruik Azure Monitor of Defender for Cloud Apps om e-mail-, Teams- of webhookmeldingen te versturen naar het SOC, zodat nieuwe toewijzingen binnen minuten worden beoordeeld in plaats van tijdens een kwartaalreview.

Naast de geautomatiseerde telling is het noodzakelijk om auditlogs van Azure AD te analyseren op rolwijzigingen, PIM-activaties en mislukte inlogpogingen op Global Administrator-accounts. Zo kan worden vastgesteld of een aanvaller probeert aan de credentials te komen, of dat legitieme medewerkers vaker dan gepland privilege elevation aanvragen. Het combineren van deze bronnen maakt trendanalyse mogelijk en helpt bij het finetunen van Conditional Access, MFA-verplichtingen en hardwaretoken-uitrol.

Rapportages voor bestuurders en auditteams behoren minimaal maandelijks beschikbaar te zijn. Beschrijf in het rapport welke accounts Global Administrator blijven, welke uitzonderingen tijdelijk zijn toegestaan, hoe vaak break-glass-accounts zijn getest en of er security-incidenten plaatsvonden waarbij elevated rechten een rol speelden. Door de rapportage te koppelen aan het risicoregister van de organisatie blijft de maatregel zichtbaar op managementniveau en kan het bestuur toetsen of aanvullende investeringen noodzakelijk zijn.

Tot slot is het zinvol om monitoring te integreren met Identity Governance-processen zoals access reviews en automatische deprovisioning. Stel een driemaandelijkse review in waarbij elke eigenaar opnieuw bevestigt dat zijn Global Administrator-rol nog nodig is. Indien geen reactie volgt, trekt het systeem de rol automatisch in en informeert het change management-team. Deze combinatie van technische signalering en bestuurlijke accountability zorgt ervoor dat de limiet van vijf accounts niet alleen op papier bestaat maar daadwerkelijk onderdeel is van de dagelijkse beveiligingsroutine.

Remediatie

Gebruik PowerShell-script global-admin-limit.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer de monitoring een zesde permanente Global Administrator vaststelt, treedt een gestandaardiseerd remediatieproces in werking. Het begint met het bevestigen van de meetgegevens: draait het script correct, is er geen sprake van dubbele tellingen en is duidelijk of het om een permanent toegewezen rol of een mislukte PIM-sessie gaat. Zodra het overschot is bevestigd, opent het beveiligingsteam een hoog-prioriteitschange waarin de verantwoordelijke business unit wordt geinformeerd en een remediatie-eigenaar wordt benoemd.

Vervolgens wordt per overtallig account de zakelijke rechtvaardiging geevalueerd. Bestond er een formele wijziging die nog niet was afgerond? Ging het om een leverancier die tijdelijk ondersteunt? Of is er simpelweg sprake van privilege creep doordat meerdere projecten dezelfde persoon verhoogde rechten gaven? Door interviews te combineren met auditlogs ontstaat een reconstructie waarmee managers begrijpen welk risico is ontstaan en welke alternatieven voorhanden zijn.

Het herstelplan beschrijft daarna welk alternatief wordt toegepast. Vaak betekent dit dat de Global Administrator-rol wordt vervangen door een gerichte rol of een PIM-eligible assignment met een beperkte looptijd. Soms is het effectiever om een nieuw cloud-only account aan te maken dat uitsluitend voor PIM wordt gebruikt, terwijl het oorspronkelijke account wordt ontdaan van alle elevated rechten. In alle gevallen wordt de wijziging getest in een gecontroleerd venster zodat bedrijfsprocessen niet worden verstoord.

Communicatie is een integraal onderdeel van de remediatiefase. Licht betrokken teams in over de aanstaande wijziging, documenteer welke runbooks zijn bijgewerkt en zorg dat het SOC een heads-up ontvangt zodat eventuele meldingen over mislukte acties na de rolwijziging niet onnodig escaleren. Als een break-glass-account moest worden aangepast, wordt bovendien gecontroleerd of de fysieke opslaglocaties zijn geupdatet en wie toegang heeft tot de nieuwe referenties.

Na afronding voert het team een verificatie uit. Het monitoring-script wordt opnieuw gedraaid, de Log Analytics-data wordt vernieuwd en het rapport voor het management wordt bijgewerkt met de genomen maatregelen. Eventuele lessons learned worden vastgelegd in het verbeterregister zodat toekomstige wijzigingen sneller verlopen. Pas wanneer de telling opnieuw vijf of minder accounts toont en alle documentatie is gesloten, wordt de change formeel afgesloten.

Compliance en Auditing

Het beperken van Global Administrator-rollen is rechtstreeks gekoppeld aan meerdere compliancekaders waarmee Nederlandse overheden en semipublieke instellingen te maken hebben. De CIS Microsoft 365 Foundations Benchmark schrijft in control 1.1.1 expliciet voor dat er niet meer dan vijf Global Administrators mogen zijn; deze maatregel operationaliseert dat voorschrift door monitoring, documentatie en remediatie in een proces te verenigen. Door aan te tonen dat de limiet structureel wordt bewaakt, kunnen organisaties bij audits snel bewijzen dat zij het baseline-niveau van CIS naleven.

Ook de Baseline Informatiebeveiliging Overheid (BIO) legt de nadruk op minimale bevoegdheden (09.02.02) en gecontroleerd beheer van bevoorrechte toegang (09.02.03). De hier beschreven aanpak geeft concrete invulling aan die artikelen: rollen worden alleen toegekend wanneer aantoonbaar noodzakelijk, er zijn formele procedures voor toekenning en intrekking, en er bestaat een audittrail waarin elke wijziging is terug te voeren op een besluit. Hierdoor kunnen toezichthouders nagaan dat de organisatie niet alleen beleid, maar ook uitvoering op orde heeft.

ISO/IEC 27001:2022 benadrukt in de controles A.5.15 en A.9.2.3 dat toegang tot systemen proportioneel moet zijn en dat geprivilegieerde rechten regelmatig worden beoordeeld. Door Global Administrator-rechten via PIM te verstrekken, access reviews in te richten en de resultaten vast te leggen in het ISMS, wordt het eenvoudiger om tijdens certificeringsaudits aan te tonen dat deze clausules zijn geborgd. De koppeling met Log Analytics en change management levert de benodigde evidencepakketten zonder dat ad-hoc gegevens hoeven te worden verzameld.

NIS2 Artikel 21 verplicht essentiele en belangrijke entiteiten om geprivilegieerde accounts te beperken en continu te monitoren. Deze control sluit daarop aan door de limiet van vijf accounts te koppelen aan realtime alerts, periodieke rapportages en formele escalatiepaden. Daarmee toont de organisatie aan dat zij proactief toezicht houdt op kritieke accounts, wat een belangrijk element is van de zorgplicht binnen NIS2.

Tot slot overlapt de maatregel met het NIST Cybersecurity Framework (PR.AC-4) waarin het concept least privilege centraal staat. Door het proces te documenteren en te integreren met Identity Governance, kan de organisatie laten zien dat privileged access slechts wordt verleend voor de duur en het doel dat strikt noodzakelijk is. Deze crosswalk naar meerdere frameworks zorgt ervoor dat een technische maatregel direct meerdere complianceverplichtingen dekt en dat auditteams sneller tot conclusies komen.

Compliance & Frameworks

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).

PowerShell
<# .SYNOPSIS Global Admin Limit (Max 5) .DESCRIPTION Ensures max 5 Global Administrator accounts (principle of least privilege) .NOTES NL Baseline v2.0 #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph [CmdletBinding()] param([switch]$Monitoring) $ErrorActionPreference = 'Stop' $maxGlobalAdmins = 5 Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Global Admin Limit (Max $maxGlobalAdmins)" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Invoke-Monitoring { try { Connect-MgGraph -Scopes "Directory.Read.All", "RoleManagement.Read.All" -ErrorAction Stop -NoWelcome $globalAdminRole = Get-MgDirectoryRole -All | Where-Object { $_.DisplayName -eq 'Global Administrator' } $members = Get-MgDirectoryRoleMember -DirectoryRoleId $globalAdminRole.Id -All $result = @{ isCompliant = ($members.Count -le $maxGlobalAdmins) totalGlobalAdmins = $members.Count limit = $maxGlobalAdmins admins = @() } Write-Host " Global Administrators: $($members.Count)" -ForegroundColor $( if ($members.Count -le $maxGlobalAdmins) { 'Green' }else { 'Red' } ) Write-Host " Recommended Maximum: $maxGlobalAdmins" -ForegroundColor Cyan Write-Host "`n Current Global Admins:" -ForegroundColor Cyan foreach ($member in $members) { $user = Get-MgUser -UserId $member.Id -Property "UserPrincipalName,DisplayName" Write-Host " - $($user.UserPrincipalName)" -ForegroundColor Gray $result.admins += $user.UserPrincipalName } if ($members.Count -gt $maxGlobalAdmins) { Write-Host "`n ⚠️ Recommendation: Use specific admin roles instead" -ForegroundColor Yellow Write-Host " (Exchange Admin, SharePoint Admin, etc.)" -ForegroundColor Gray } if ($result.isCompliant) { Write-Host "`n[OK] COMPLIANT - ≀$maxGlobalAdmins Global Admins" -ForegroundColor Green exit 0 } else { Write-Host "`n[FAIL] NON-COMPLIANT - Too many Global Admins!" -ForegroundColor Red Write-Host "Current: $($members.Count) | Max: $maxGlobalAdmins" -ForegroundColor Red exit 1 } } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Monitoring) { Invoke-Monitoring } else { Write-Host "Use: -Monitoring" -ForegroundColor Yellow } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
Critical: Kritiek beveiligingsrisico: elk extra Globale beheerder rechtenistrator account vergroot de aanvalsoppervlakte exponentieel. Bij compromise van een Globale beheerder rechten account heeft een aanvaller volledige controle over de hele Microsoft 365 tenant: toegang tot alle data, mailboxen, en systemen. Dit kan leiden tot complete tenant takeover, data exfiltration, ransomware deployment, en bedrijfscontinuiteit crisis. Teveel Globale beheerder rechtens zorgt ook voor onduidelijke accountability bij beveiligingsincidenten. Geschatte impact van tenant compromise: €1.000.000 - €10.000.000+.

Management Samenvatting

Limiteer Globale beheerder rechtenistrator accounts tot maximaal 5: 2-3 dedicated admins + 2 break-glass accounts. Gebruik PIM voor tijdelijke elevation en lower-privilege rollen voor specifieke taken. Verplicht voor CIS 1.1.1 L1 en BIO 09.02. Review en reductie: 3-7 uur afhankelijk van aantal huidige Globale beheerder rechtens.