Azure Identity Governance: Privileged Identity Management Implementatie

💼 Management Samenvatting

Privileged Identity Management (PIM) vormt de hoeksteen van moderne identity governance in Azure-omgevingen door permanente bevoorrechte toegang te elimineren en te vervangen door just-in-time, goedkeuringsgebaseerde rolactivering. Voor Nederlandse overheidsorganisaties is PIM niet alleen een best practice, maar een essentiële beveiligingsmaatregel die direct bijdraagt aan compliance met BIO, NIS2 en ISO 27001 door het aanvalsoppervlak te minimaliseren en volledige accountability te bieden voor alle bevoorrechte toegang.

Aanbeveling
IMPLEMENTEER PRIVILEGED IDENTITY MANAGEMENT
Risico zonder
Critical
Risk Score
9/10
Implementatie
36u (tech: 20u)
Van toepassing op:
Azure AD
Entra ID
Azure RBAC

Permanente bevoorrechte toegang creëert een permanent aanvalsoppervlak dat Nederlandse overheidsorganisaties blootstelt aan ernstige beveiligingsrisico's. Wanneer een beheerdersaccount wordt gecompromitteerd, heeft een aanvaller onmiddellijk onbeperkte toegang tot kritieke systemen, gevoelige gegevens en configuraties. Gebruikers met permanente beheerdersrechten behouden deze privileges zelfs wanneer zij geen beheerdertaken uitvoeren, wat een buitensporig blootstellingsvenster creëert dat 24/7 beschikbaar is voor misbruik. Bovendien ontbreekt accountability over wanneer beheerdersrechten daadwerkelijk worden gebruikt versus normale werkzaamheden, waardoor het moeilijk wordt om misbruik te detecteren of te voorkomen. Interne dreigingen hebben continu verhoogde toegang tot gevoelige bronnen zonder dat dit wordt gecontroleerd of gerechtvaardigd. Privileged Identity Management lost deze fundamentele problemen op door geschikte toewijzingen te gebruiken in plaats van actieve toewijzingen, waarbij gebruikers standaard geen beheerdersrechten hebben totdat zij expliciet een activering aanvragen. Activeringen zijn strikt tijdsbeperkt, typisch tot maximaal acht uur, en worden automatisch gedeactiveerd zonder handmatige interventie. Goedkeuringsworkflows zorgen ervoor dat managers of het beveiligingsteam elke verhoging moeten goedkeuren voordat toegang wordt verleend, wat een extra controlelaag biedt. Meervoudige authenticatie is verplicht bij elke activering om te voorkomen dat gecompromitteerde accounts eenvoudig kunnen escaleren. Een schriftelijke rechtvaardiging is verplicht bij elke activeringsaanvraag, wat een complete audittrail creëert waarom beheerders toegang nodig hebben. Ten slotte worden real-time waarschuwingen gegenereerd wanneer bevoorrechte rollen worden geactiveerd, waardoor het beveiligingsteam direct op de hoogte wordt gesteld van alle privileged access activiteiten.

PowerShell Modules Vereist
Primary API: Microsoft Graph API, Azure AD API
Connection: Connect-MgGraph, Connect-AzAccount
Required Modules: Microsoft.Graph.Identity.Governance, Az.Accounts, Az.Resources

Implementatie

Deze control implementeert Privileged Identity Management voor Azure AD-rollen en Azure-resources, met focus op kritieke beheerdersrollen zoals Globale beheerder, Beveiligingsbeheerder, Gebruikersbeheerder, en Azure RBAC-rollen zoals Owner, Contributor en User Access Administrator. De configuratie omvat het omzetten van permanente toewijzingen naar geschikte toewijzingen, waarbij gebruikers de rol kunnen aanvragen wanneer nodig maar standaard geen actieve rechten hebben. Voor Azure AD-rollen wordt PIM geconfigureerd via de Entra ID-portal, waarbij rolinstellingen worden aangepast per roltype op basis van risico en impact. Voor hoog-impact rollen zoals Globale beheerder en Beveiligingsbeheerder is goedkeuring vereist door een manager of beveiligingsteam voordat de rol wordt geactiveerd. Meervoudige authenticatie is verplicht voor elke activering om identiteitsverificatie te waarborgen. De maximale activeringsduur is vastgesteld op acht uur voor de meeste rollen, met kortere duur voor zeer kritieke rollen zoals User Access Administrator. Bij elke activeringsaanvraag is een schriftelijke rechtvaardiging vereist die wordt vastgelegd in de auditlogs. Voor Azure-resources wordt PIM ingeschakeld via de Azure Portal, waarbij resources worden ontdekt en bevoorrechte rollen worden geconfigureerd met vergelijkbare beveiligingsvereisten. Het beveiligingsteam ontvangt waarschuwingen wanneer kritieke rollen worden geactiveerd, waardoor real-time monitoring mogelijk is. Periodieke toegangsbeoordelingen worden uitgevoerd om te controleren of geschikte toewijzingen nog steeds gerechtvaardigd zijn. Gebruikers activeren rollen via de Azure Portal of Microsoft 365-beheercentrum door te navigeren naar Privileged Identity Management, vervolgens Mijn rollen te selecteren en de gewenste rol te activeren met rechtvaardiging. Na goedkeuring ontvangen zij een tijdelijke toewijzing voor de aangevraagde duur, waarna de rechten automatisch worden ingetrokken.

Identity Governance en Privileged Access Management

Identity Governance vormt een fundamenteel onderdeel van moderne beveiligingsarchitecturen en richt zich op het beheren van identiteiten, toegangsrechten en bevoorrechte accounts gedurende de gehele levenscyclus. Voor Nederlandse overheidsorganisaties die werken met gevoelige gegevens en kritieke systemen, is een volwassen identity governance-raamwerk niet alleen een best practice, maar een wettelijke verplichting die direct bijdraagt aan compliance met de Baseline Informatiebeveiliging Overheid (BIO), de NIS2-richtlijn en internationale standaarden zoals ISO 27001. Privileged Identity Management is een essentiële component van dit raamwerk omdat het specifiek gericht is op het beheren van de meest risicovolle vorm van toegang: bevoorrechte accounts die uitgebreide rechten hebben om systemen te configureren, gegevens te wijzigen en toegang te beheren.

Het concept van identity governance gaat verder dan alleen het toewijzen en intrekken van toegang. Het omvat een complete levenscyclusbenadering waarbij identiteiten worden beheerd vanaf het moment dat een medewerker in dienst treedt tot het moment dat zij de organisatie verlaten, inclusief wijzigingen in verantwoordelijkheden, tijdelijke projecttoewijzingen en escalaties voor specifieke taken. Binnen deze levenscyclus vormen bevoorrechte accounts een bijzondere categorie omdat zij toegang bieden tot kritieke systemen en gevoelige gegevens, waardoor misbruik of compromittering ernstige gevolgen kan hebben voor de organisatie, burgers en de maatschappij als geheel. Traditionele benaderingen waarbij bevoorrechte toegang permanent wordt toegewezen, creëren een permanent aanvalsoppervlak dat 24/7 beschikbaar is voor misbruik, zowel door externe aanvallers als interne dreigingen.

Privileged Identity Management transformeert deze traditionele benadering door het principe van just-in-time toegang te implementeren, waarbij bevoorrechte rechten alleen worden verleend wanneer dit daadwerkelijk noodzakelijk is voor het uitvoeren van specifieke taken. Deze transformatie reduceert het blootstellingsvenster van 365 dagen per jaar naar slechts de uren waarin bevoorrechte toegang actief wordt gebruikt, wat typisch resulteert in een reductie van meer dan 99 procent van het blootstellingsvenster. Bovendien introduceert PIM meerdere beveiligingslagen die traditionele permanente toewijzingen niet bieden: elke activering vereist meervoudige authenticatie om de identiteit te verifiëren, een schriftelijke rechtvaardiging om de context te begrijpen, en vaak goedkeuring van een derde partij om het risico te beoordelen. Deze combinatie van controles zorgt ervoor dat bevoorrechte toegang niet alleen wordt beperkt in tijd, maar ook wordt gecontroleerd en geauditeerd op een manier die permanente toewijzingen niet kunnen bieden.

Voor Nederlandse overheidsorganisaties biedt PIM ook belangrijke compliance-voordelen omdat het direct bijdraagt aan het voldoen aan verschillende wettelijke en normatieve vereisten. De BIO vereist bijvoorbeeld time-limited privileged access waarbij bevoorrechte toegang alleen wordt verleend voor de duur die noodzakelijk is voor specifieke taken, wat precies is wat PIM implementeert. De NIS2-richtlijn vereist passende technische en organisatorische maatregelen voor cybersecurity-risicobeheer, waarbij privileged access management een belangrijke technische maatregel is. ISO 27001 bevat controles voor toegangsrechtenbeheer en privileged access management die direct worden geadresseerd door PIM-implementaties. Door PIM te implementeren kunnen organisaties niet alleen hun beveiligingspostuur verbeteren, maar ook aantoonbaar voldoen aan deze compliance-vereisten tijdens audits en assessments.

Implementatievereisten en Voorbereiding

De implementatie van Privileged Identity Management vereist een grondige voorbereiding waarbij zowel technische als organisatorische aspecten zorgvuldig moeten worden geëvalueerd en geadresseerd. Het succes van deze beveiligingsmaatregel hangt direct samen met de volledigheid van de voorbereiding, omdat het ontbreken van essentiële componenten kan leiden tot vertragingen, operationele verstoringen of onvolledige implementaties die de beveiligingsdoelstellingen niet volledig realiseren. Nederlandse overheidsorganisaties dienen daarom een gestructureerde aanpak te volgen waarbij alle vereisten systematisch worden geïnventariseerd, geëvalueerd en geadresseerd voordat de daadwerkelijke implementatie wordt gestart.

De primaire technische vereiste betreft Azure AD Premium P2 licenties, die verplicht zijn voor het gebruik van Privileged Identity Management functionaliteit voor zowel Azure AD-rollen als Azure-resources. Deze licenties vormen de fundamentele basis waarop het gehele PIM-systeem draait, en zonder deze licenties is het onmogelijk om de beveiligingsmaatregel te implementeren. Organisaties moeten ervoor zorgen dat voldoende licenties beschikbaar zijn voor alle gebruikers die bevoorrechte rollen zullen activeren, evenals voor de personen die de PIM-configuratie zullen beheren en onderhouden. Het is essentieel om een grondige analyse uit te voeren waarbij het huidige aantal gebruikers met bevoorrechte toegang wordt vergeleken met het aantal beschikbare licenties, zodat duidelijk wordt hoeveel extra licenties moeten worden aangeschaft. Deze analyse moet ook rekening houden met toekomstige groei en de mogelijkheid dat aanvullende gebruikers in de toekomst bevoorrechte toegang nodig hebben. Bovendien moeten organisaties overwegen om licenties te koppelen aan specifieke gebruikersgroepen of afdelingen om kostenbeheer te faciliteren en om te kunnen rapporteren over licentiegebruik per organisatieonderdeel.

Voor de configuratie van PIM zijn specifieke beheerdersrechten vereist die verder gaan dan standaard beheerdersrechten. De persoon die de implementatie uitvoert moet beschikken over globale beheerdersrechten of Privileged rol Administrator rechten in Azure Active Directory, omdat PIM-configuratie wijzigingen aan rollen en toewijzingen vereist die niet beschikbaar zijn voor standaard beheerders of gebruikers met beperkte rechten. Deze rechten zijn noodzakelijk om de PIM-functionaliteit in te schakelen, rolinstellingen te configureren, goedkeurders aan te wijzen en de initiële conversie van permanente naar geschikte toewijzingen uit te voeren. Het is sterk aanbevolen om deze configuratietaken uit te voeren vanuit een beveiligd beheerdersaccount dat specifiek is toegewezen voor beveiligingsimplementaties, in plaats van dagelijkse beheerdersaccounts te gebruiken. Dit beveiligde account moet worden beschermd met meervoudige authenticatie, regelmatige wachtwoordrotatie en beperkte toegang tot alleen de benodigde Azure-services. Bovendien moet alle activiteit op dit account worden geauditeerd en gemonitord om te detecteren wanneer het account wordt gebruikt en voor welke doeleinden.

Voordat PIM wordt geconfigureerd, moet een volledige en gedetailleerde inventarisatie worden uitgevoerd van alle huidige bevoorrechte roltoewijzingen in zowel Azure AD als Azure-resources. Deze inventarisatie vormt de basis voor alle verdere beslissingen en moet daarom uiterst nauwkeurig en compleet zijn. De inventarisatie moet alle actieve toewijzingen documenteren, inclusief Azure AD-rollen zoals Globale beheerder, Beveiligingsbeheerder, Gebruikersbeheerder, en Azure RBAC-rollen zoals Owner, Contributor, User Access Administrator op zowel abonnement- als resourcegroepniveau. Voor elke toewijzing moet worden vastgelegd welke gebruiker of service principal de rol heeft toegewezen gekregen, op welk scope niveau de toewijzing geldt, wanneer de toewijzing is gemaakt, en wie de toewijzing heeft uitgevoerd. Bovendien moet worden gedocumenteerd of de toewijzing permanent is of tijdelijk, en indien tijdelijk, wanneer deze verloopt. Deze informatie is essentieel om te bepalen welke toewijzingen moeten worden omgezet naar geschikte toewijzingen in PIM en welke mogelijk kunnen worden verwijderd als onderdeel van het least-privilege principe. Tijdens deze inventarisatie moeten organisaties ook nagaan of gebruikers daadwerkelijk regelmatig gebruik maken van hun bevoorrechte rechten, of dat sommige toewijzingen mogelijk overbodig zijn geworden door wijzigingen in verantwoordelijkheden of organisatiestructuren.

Een goedkeuringsworkflow moet worden gedefinieerd en gedocumenteerd voordat PIM wordt geïmplementeerd, omdat dit een kritieke component is van het beveiligingsmodel die direct invloed heeft op zowel de beveiliging als de gebruikerservaring. De organisatie moet duidelijk bepalen wie verantwoordelijk is voor het goedkeuren van activeringen van verschillende roltypen, waarbij rekening wordt gehouden met de impact en het risico van elke rol. Voor hoog-impact rollen zoals Globale beheerder, Beveiligingsbeheerder en Azure Owner is meestal goedkeuring vereist van een manager, IT-leidinggevende of lid van het beveiligingsteam, terwijl rollen met lagere impact mogelijk automatisch kunnen worden goedgekeurd of een vereenvoudigde goedkeuringsworkflow kunnen hebben. De workflow moet duidelijk maken wie goedkeuring verleent voor welke rollen, wat de verwachte goedkeuringstijd is onder normale omstandigheden, en hoe escalaties moeten worden afgehandeld wanneer een goedkeurder niet beschikbaar is of niet tijdig reageert. Bovendien moeten alternatieve goedkeurders worden aangewezen om continuïteit te waarborgen tijdens afwezigheid, vakanties of ziekte. De workflow moet ook voorzieningen bevatten voor noodsituaties waarbij snelle goedkeuring nodig is, bijvoorbeeld wanneer kritieke systemen down zijn en onmiddellijk beheerdersinterventie vereisen. In dergelijke gevallen moet een break-glass procedure worden gedefinieerd waarbij goedkeuring achteraf wordt verkregen maar toegang onmiddellijk kan worden verleend.

Configuratiestappen en Implementatie

De implementatie van Privileged Identity Management vereist een gestructureerde en gefaseerde aanpak die zorgvuldige planning, uitgebreid testen en een geleidelijke rollout combineert om risico's voor operationele continuïteit te minimaliseren. Deze methodiek zorgt ervoor dat eventuele problemen tijdig worden geïdentificeerd en opgelost voordat de volledige implementatie wordt voltooid, waardoor organisaties kunnen profiteren van de beveiligingsvoordelen zonder onnodige verstoringen in hun dagelijkse operaties. De implementatie bestaat uit meerdere opeenvolgende fasen die elk specifieke doelen hebben en die moeten worden voltooid voordat de volgende fase kan beginnen.

De eerste fase betreft de discovery en inventarisatie, waarin alle bevoorrechte roltoewijzingen worden geëxporteerd, geanalyseerd en gecategoriseerd. Deze fase vormt de fundamentele basis voor alle verdere beslissingen en moet daarom uiterst grondig worden uitgevoerd. Voor Azure AD-rollen begint de fase met het uitvoeren van PowerShell-opdrachten zoals Get-AzureADDirectoryRoleMember om een volledig en accuraat overzicht te verkrijgen van alle huidige roltoewijzingen. Voor Azure-resources worden opdrachten zoals Get-AzRoleAssignment gebruikt om toewijzingen op abonnementsniveau, resourcegroepniveau en individuele resource-niveau te identificeren. De focus ligt primair op het identificeren van permanente bevoorrechte toewijzingen, met name voor rollen zoals Globale beheerder, Beveiligingsbeheerder, Owner, Contributor en User Access Administrator, omdat deze rollen de hoogste impact hebben op beveiliging en operationele continuïteit. Deze toewijzingen moeten worden gecategoriseerd op basis van verschillende criteria, waaronder de frequentie waarmee de rol daadwerkelijk wordt gebruikt, de kritiekheid van de resources waartoe toegang wordt verleend, en de vraag of de gebruiker de bevoorrechte rechten werkelijk nodig heeft voor zijn dagelijkse werkzaamheden.

De tweede fase omvat de technische configuratie van PIM voor zowel Azure AD-rollen als Azure-resources, waarbij alle benodigde instellingen worden geconfigureerd volgens de beveiligingsvereisten en best practices. Voor Azure AD-rollen begint deze fase met het inschakelen van Privileged Identity Management in de Entra ID-portal, wat een eenmalige actie is die moet worden uitgevoerd door een globale beheerder. Na het inschakelen moeten de rolinstellingen worden geconfigureerd per roltype, waarbij specifieke beveiligingsvereisten worden toegepast die zijn afgestemd op het risico en de impact van elke rol. Voor de Globale beheerder-rol, die de hoogste privileges biedt en daarom het grootste risico vormt, moeten goedkeuring, meervoudige authenticatie, rechtvaardiging en een maximale activeringsduur van acht uur worden vereist. Voor de Beveiligingsbeheerder-rol, die kritieke beveiligingsconfiguraties kan wijzigen, moeten vergelijkbare controles worden toegepast. Voor rollen met lagere impact zoals Gebruikersbeheerder kunnen meervoudige authenticatie en rechtvaardiging worden vereist zonder goedkeuring, met een maximale activeringsduur van acht uur. Tijdens deze configuratie moeten ook goedkeurders worden aangewezen voor elke rol die goedkeuring vereist, waarbij typisch IT-management en het beveiligingsteam worden toegewezen als goedkeurders voor hoog-impact rollen.

Voor Azure-resources wordt PIM ingeschakeld via de Azure Portal door te navigeren naar Privileged Identity Management, vervolgens Azure-resources te selecteren en Discover resources te kiezen. Het systeem zal automatisch alle beheerbare resources detecteren, inclusief subscriptions, resource groups en individuele resources. Na de discovery moeten bevoorrechte rollen worden geconfigureerd met vergelijkbare beveiligingsvereisten als Azure AD-rollen. Voor de Owner-rol, die de hoogste privileges biedt voor Azure-resources, moeten goedkeuring, meervoudige authenticatie, rechtvaardiging en een maximale activeringsduur van acht uur worden vereist. Voor de Contributor-rol, die minder impact heeft maar nog steeds significante rechten biedt, moeten meervoudige authenticatie en rechtvaardiging worden vereist, evenals een maximale activeringsduur van acht uur, maar geen goedkeuring omdat deze rol minder kritiek is. Voor de User Access Administrator-rol, die specifiek gericht is op het beheren van toegangsrechten en daarom een hoog risico vormt voor privilege escalation, moeten goedkeuring, meervoudige authenticatie en rechtvaardiging worden vereist, met een kortere maximale activeringsduur van vier uur vanwege het hoge risico dat gepaard gaat met het wijzigen van toegangsrechten.

De derde fase betreft een pilot-implementatie met een beperkte maar representatieve groep gebruikers die fungeert als testgroep voor het nieuwe PIM-systeem. Deze pilotgroep moet zorgvuldig worden samengesteld en moet bestaan uit vijf tot tien beheerders die representatief zijn voor de volledige gebruikerspopulatie in termen van functie, verantwoordelijkheden en frequentie van bevoorrechte toegang. De pilotgroep moet gebruikers bevatten die regelmatig bevoorrechte toegang nodig hebben, zodat zij het nieuwe activeringsproces kunnen testen onder realistische omstandigheden. Hun permanente toewijzingen moeten worden omgezet naar geschikte toewijzingen in PIM, waarbij zij de nieuwe activeringsworkflow moeten testen en feedback moeten geven over hun ervaringen. Tijdens de pilot moeten gebruikers worden getraind in het activeringsproces, inclusief hoe zij rollen aanvragen via de Azure Portal of Microsoft 365-beheercentrum, hoe zij rechtvaardigingen invullen die duidelijk uitleggen waarom zij bevoorrechte toegang nodig hebben, en hoe zij omgaan met goedkeuringsworkflows wanneer goedkeuring vereist is. Het is cruciaal om tijdens deze fase te monitoren op technische problemen, gebruikerservaring-uitdagingen en configuratiefouten. Alle geïdentificeerde problemen moeten worden gedocumenteerd en opgelost voordat de volledige rollout plaatsvindt.

De vierde fase omvat de volledige rollout naar alle gebruikers met bevoorrechte toegang, waarbij het PIM-systeem wordt uitgerold naar de gehele organisatie. Tijdens deze fase moeten alle bevoorrechte toewijzingen systematisch worden omgezet naar geschikte toewijzingen in PIM, waarbij elke conversie zorgvuldig wordt uitgevoerd om ervoor te zorgen dat gebruikers nog steeds toegang hebben tot de resources die zij nodig hebben, maar nu via het nieuwe activeringsproces. Permanente toewijzingen moeten worden verwijderd met uitzondering van break-glass accounts die zijn aangewezen voor noodsituaties waarbij onmiddellijke toegang vereist is zonder te wachten op goedkeuring. Deze break-glass accounts moeten echter uiterst beperkt zijn, moeten worden beschermd met extra beveiligingsmaatregelen zoals hardware security keys, en moeten regelmatig worden geauditeerd om te controleren of zij daadwerkelijk alleen in noodsituaties worden gebruikt. De activatieprocedure moet uitgebreid worden gecommuniceerd naar alle beheerders, inclusief duidelijke stapsgewijze instructies met screenshots die visueel laten zien hoe zij rollen kunnen activeren. Een self-service handleiding moet worden aangeboden die gebruikers kunnen raadplegen wanneer zij bevoorrechte toegang nodig hebben, waarbij veelgestelde vragen en troubleshooting-informatie worden opgenomen.

Monitoring, Governance en Continue Verbetering

Gebruik PowerShell-script privileged-identity-management.ps1 (functie Invoke-Monitoring) – Controleert de PIM-configuratie en identificeert permanente bevoorrechte toewijzingen die moeten worden omgezet naar geschikte toewijzingen..

Continue monitoring en alerting zijn essentieel voor het waarborgen van de effectiviteit van Privileged Identity Management en voor het detecteren van beveiligingsincidenten, misbruik en compliance-afwijkingen. PIM-waarschuwingen moeten worden geconfigureerd voor kritieke gebeurtenissen die onmiddellijke aandacht vereisen, zoals activeringen van de Globale beheerder-rol of Azure Owner-rol die de hoogste privileges bieden en daarom het grootste risico vormen. Deze waarschuwingen moeten onmiddellijk worden gemeld aan het beveiligingsteam via e-mail, SMS of een geïntegreerd security operations center systeem, zodat zij direct kunnen reageren op verdachte activiteiten. Mislukte activeringspogingen moeten ook worden gecontroleerd en geauditeerd omdat deze kunnen wijzen op privilege escalation pogingen door externe aanvallers die proberen toegang te krijgen tot bevoorrechte accounts, of door interne dreigingen die proberen hun rechten te escaleren zonder autorisatie.

Wekelijkse reviews moeten worden uitgevoerd waarbij wordt geanalyseerd wie welke rollen heeft geactiveerd, waarom deze activeringen plaatsvonden op basis van ingediende rechtvaardigingen, en of er patronen zijn die wijzen op ongebruikelijk gedrag zoals activeringen buiten normale werkuren, activeringen van meerdere rollen door dezelfde gebruiker in korte tijd, of activeringen die niet overeenkomen met de gebruikelijke werkzaamheden van de gebruiker. Deze monitoringinformatie moet worden gedocumenteerd in een gestructureerd formaat en moet worden gebruikt voor compliance-doeleinden en beveiligingsaudits, waarbij trends worden geïdentificeerd die kunnen wijzen op potentiële beveiligingsproblemen of mogelijkheden voor verbetering van het PIM-systeem. Bovendien moeten periodieke toegangsbeoordelingen worden uitgevoerd om te controleren of geschikte toewijzingen nog steeds gerechtvaardigd zijn en om ongebruikte of ongerechtvaardigde toegang te identificeren en te verwijderen.

Governance van PIM vereist duidelijke rollen en verantwoordelijkheden binnen de organisatie. Een PIM-beheerder moet worden aangewezen die verantwoordelijk is voor de dagelijkse configuratie en het onderhoud van het systeem, inclusief het toewijzen van goedkeurders, het configureren van rolinstellingen en het beheren van toegangsbeoordelingen. Het beveiligingsteam moet verantwoordelijk zijn voor het monitoren van activeringen, het analyseren van patronen en het reageren op verdachte activiteiten. Management moet betrokken zijn bij het goedkeuren van activeringen voor hoog-impact rollen en bij het beoordelen van toegang tijdens periodieke reviews. Deze rollen moeten worden vastgelegd in governance-documenten en moeten worden gecommuniceerd naar alle betrokken partijen om ervoor te zorgen dat iedereen begrijpt wie verantwoordelijk is voor welke aspecten van PIM-beheer.

Compliance en Auditing

Privileged Identity Management is essentieel voor naleving van verschillende internationale en nationale beveiligingsstandaarden en -richtlijnen die relevant zijn voor Nederlandse overheidsorganisaties. Deze control helpt organisaties te voldoen aan zowel verplichte als aanbevolen beveiligingsvereisten die zijn opgesteld door toezichthouders, standaardisatie-organisaties en brancheorganisaties. Voor Nederlandse overheidsorganisaties is compliance niet alleen een kwestie van best practices, maar vaak een wettelijke verplichting die directe gevolgen kan hebben voor de organisatie wanneer deze niet wordt nageleefd.

De BIO, oftewel Baseline Informatiebeveiliging Overheid, is de belangrijkste beveiligingsrichtlijn voor Nederlandse overheidsorganisaties en vormt de basis voor informatiebeveiliging binnen de publieke sector. Thema 09.02 betreft toegangsbeleid en vereist specifiek time-limited privileged access, waarbij bevoorrechte toegang alleen wordt verleend voor de duur die noodzakelijk is voor het uitvoeren van specifieke taken. Deze vereiste is gebaseerd op het principe van minimale rechten, waarbij gebruikers alleen de rechten krijgen die zij op dat moment nodig hebben, en niet meer. Privileged Identity Management is een directe implementatie van dit thema, omdat het permanente toegang elimineert en in plaats daarvan tijdsbeperkte activeringen implementeert met automatische intrekking na verloop van tijd.

ISO 27001:2022 bevat verschillende controles die relevant zijn voor Privileged Identity Management, waaronder A.5.18 en A.9.4.3, die beide betrekking hebben op toegangsbeheer en privileged access management. Controle A.5.18 betreft toegangsrechtenmanagement en vereist dat organisaties een proces hebben voor het beheren van toegangsrechten gedurende de gehele levenscyclus van gebruikersaccounts. Controle A.9.4.3 betreft privileged access management en vereist dat organisaties het gebruik van privileged access controls beperken en controleren, waarbij zij moeten zorgen dat bevoorrechte toegang alleen wordt verleend wanneer dit noodzakelijk is en dat alle gebruik van bevoorrechte toegang wordt geauditeerd. Privileged Identity Management implementeert beide controles door het elimineren van permanente bevoorrechte toegang, het vereisen van goedkeuring voor activeringen, het implementeren van volledige auditlogging van alle privileged access activiteiten, en het automatisch intrekken van toegang na verloop van tijd.

De NIS2-richtlijn, die is geïmplementeerd in Nederlandse wetgeving via de Wet beveiliging netwerk- en informatiesystemen, bevat artikel 21 dat betrekking heeft op cybersecuritymaatregelen, waaronder privileged toegangsbeheer. Deze richtlijn is van toepassing op essentiële en belangrijke entiteiten in verschillende sectoren, waaronder de publieke sector, en vereist dat deze organisaties passende technische en organisatorische maatregelen implementeren om cybersecurity-risico's te beheren. Privileged Identity Management is een belangrijke technische maatregel die organisaties helpen te voldoen aan deze vereisten door het aanvalsoppervlak te minimaliseren, privileged access te controleren en te monitoren, en door te zorgen dat bevoorrechte toegang alleen wordt verleend wanneer dit noodzakelijk is.

Remediatie

Gebruik PowerShell-script privileged-identity-management.ps1 (functie Invoke-Remediation) – Ondersteunt het identificeren en omzetten van permanente bevoorrechte toewijzingen naar geschikte toewijzingen in PIM..

Remediatie binnen het PIM-domein betekent in de praktijk dat u gaten dicht tussen de gewenste compliance-status en de werkelijkheid. In veel organisaties bestaan al wel beleidsdocumenten over privileged access management, maar ontbreekt concrete vastlegging van hoe deze worden vertaald naar PIM-configuraties, welke permanente toewijzingen daadwerkelijk zijn omgezet naar geschikte toewijzingen, en hoe PIM wordt gemonitord en verbeterd. Het remediatiescript ondersteunt dit proces door automatisch te inventariseren waar permanente bevoorrechte toewijzingen nog bestaan, waar belangrijke PIM-configuraties ontbreken, en waar documentatie verouderd of incompleet is. Op basis van deze inventarisatie kunnen gerichte verbeteracties worden gepland en uitgevoerd, waarbij prioriteit wordt gegeven aan de meest kritieke hiaten die de grootste impact hebben op risico's en wettelijke naleving.

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 Monitoring en remediatie voor Azure Identity Governance Privileged Identity Management .DESCRIPTION Controleert de PIM-configuratie voor Azure AD-rollen en Azure-resources, identificeert permanente bevoorrechte toewijzingen die moeten worden omgezet naar geschikte toewijzingen, en biedt handvatten voor implementatie. .NOTES Filename: privileged-identity-management.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-27 Last Modified: 2025-01-27 Version: 1.0 Related JSON: content/azure/identity-governance/privileged-identity-management.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\privileged-identity-management.ps1 -Monitoring Toont een overzicht van PIM-configuratie en identificeert permanente bevoorrechte toewijzingen. .EXAMPLE .\privileged-identity-management.ps1 -Remediation Genereert een overzicht van permanente toewijzingen en biedt handvatten voor conversie naar PIM. #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph.Identity.Governance, Az.Accounts, Az.Resources [CmdletBinding()] param( [Parameter(HelpMessage = "Voer monitoring uit van de PIM-configuratie en identificeer permanente bevoorrechte toewijzingen.")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer remediatie-overzichten en handvatten voor PIM-implementatie.")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder daadwerkelijk te wijzigen.")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Get-RepositoryRoot { <# .SYNOPSIS Bepaalt de rootmap van de repository op basis van de locatie van dit script. .OUTPUTS String met pad naar repository-root. #> [CmdletBinding()] param() $root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..") -ErrorAction SilentlyContinue if (-not $root) { throw "Kon de repository-root niet bepalen op basis van PSScriptRoot: $PSScriptRoot" } return $root.Path } function Test-AzureADConnection { <# .SYNOPSIS Controleert of er een actieve Microsoft Graph-verbinding bestaat. .OUTPUTS Boolean: $true als verbonden, anders $false #> [CmdletBinding()] param() try { $context = Get-MgContext -ErrorAction Stop if ($context) { Write-Verbose "Microsoft Graph-verbinding actief: $($context.Account.Id) in tenant $($context.TenantId)" return $true } return $false } catch { Write-Verbose "Geen actieve Microsoft Graph-verbinding: $_" return $false } } function Test-AzureConnection { <# .SYNOPSIS Controleert of er een actieve Azure-verbinding bestaat. .OUTPUTS Boolean: $true als verbonden, anders $false #> [CmdletBinding()] param() try { $context = Get-AzContext -ErrorAction Stop if ($context) { Write-Verbose "Azure-verbinding actief: $($context.Account.Id) in tenant $($context.Tenant.Id)" return $true } return $false } catch { Write-Verbose "Geen actieve Azure-verbinding: $_" return $false } } function Get-PIMConfigurationStatus { <# .SYNOPSIS Inventariseert de PIM-configuratiestatus voor Azure AD-rollen en Azure-resources. .OUTPUTS PSCustomObject met PIM-configuratiestatus. #> [CmdletBinding()] param() $mgConnected = Test-AzureADConnection $azConnected = Test-AzureConnection if (-not $mgConnected -and -not $azConnected) { Write-Warning "Geen actieve verbindingen. Verbind met Connect-MgGraph en Connect-AzAccount voor volledige PIM-monitoring." return [pscustomobject]@{ AzureADConnected = $false AzureConnected = $false PIMEnabled = $null PermanentRoleAssignments = 0 EligibleRoleAssignments = 0 AzurePermanentAssignments = 0 AzureEligibleAssignments = 0 } } $permanentAssignments = 0 $eligibleAssignments = 0 $azurePermanentAssignments = 0 $azureEligibleAssignments = 0 $pimEnabled = $null if ($mgConnected) { try { Write-Verbose "Inventariseren van Azure AD-roltoewijzingen..." # Probeer PIM-roltoewijzingen op te halen try { $pimRoles = Get-MgRoleManagementDirectoryRoleEligibilitySchedule -ErrorAction SilentlyContinue $eligibleAssignments = $pimRoles.Count Write-Verbose "Gevonden $eligibleAssignments geschikte roltoewijzingen via PIM" } catch { Write-Verbose "Kon PIM-roltoewijzingen niet ophalen (mogelijk PIM niet ingeschakeld of onvoldoende rechten): $_" } # Probeer directory-rollen op te halen om permanente toewijzingen te identificeren try { $directoryRoles = Get-MgDirectoryRole -ErrorAction SilentlyContinue foreach ($role in $directoryRoles) { $members = Get-MgDirectoryRoleMember -DirectoryRoleId $role.Id -ErrorAction SilentlyContinue $permanentAssignments += $members.Count } Write-Verbose "Gevonden $permanentAssignments permanente roltoewijzingen" } catch { Write-Verbose "Kon directory-rollen niet ophalen: $_" } # Controleer of PIM is ingeschakeld (dit is moeilijk programmatisch te bepalen) # In de praktijk moet dit handmatig worden gecontroleerd in de portal $pimEnabled = "Unknown - Manual verification required" } catch { Write-Warning "Fout bij inventariseren van Azure AD PIM-status: $_" } } if ($azConnected) { try { Write-Verbose "Inventariseren van Azure RBAC-roltoewijzingen..." $subscriptions = Get-AzSubscription -ErrorAction SilentlyContinue | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id -ErrorAction SilentlyContinue | Out-Null try { # Haal roltoewijzingen op voor hoog-privilege rollen $highPrivilegeRoles = @("Owner", "User Access Administrator", "Contributor") $assignments = Get-AzRoleAssignment -ErrorAction SilentlyContinue | Where-Object { $highPrivilegeRoles -contains $_.RoleDefinitionName } foreach ($assignment in $assignments) { # Controleer of dit een permanente of tijdelijke toewijzing is # PIM-toewijzingen hebben typisch een expiration time if ($assignment.ExpiresOn) { $azureEligibleAssignments++ } else { $azurePermanentAssignments++ } } } catch { Write-Verbose "Kon roltoewijzingen niet ophalen voor subscription '$($sub.Name)': $_" } } Write-Verbose "Gevonden $azurePermanentAssignments permanente en $azureEligibleAssignments geschikte Azure RBAC-toewijzingen" } catch { Write-Warning "Fout bij inventariseren van Azure RBAC PIM-status: $_" } } return [pscustomobject]@{ AzureADConnected = $mgConnected AzureConnected = $azConnected PIMEnabled = $pimEnabled PermanentRoleAssignments = $permanentAssignments EligibleRoleAssignments = $eligibleAssignments AzurePermanentAssignments = $azurePermanentAssignments AzureEligibleAssignments = $azureEligibleAssignments } } function Invoke-Monitoring { <# .SYNOPSIS Voert monitoring uit van PIM-configuratie en identificeert permanente bevoorrechte toewijzingen. .OUTPUTS PSCustomObject met monitoringresultaten. #> [CmdletBinding()] param() Write-Host "`nMonitoring: Azure Identity Governance PIM" -ForegroundColor Yellow Write-Host "===========================================" -ForegroundColor Yellow $pimStatus = Get-PIMConfigurationStatus if ($pimStatus.AzureADConnected) { Write-Host "`nAzure AD PIM-status:" -ForegroundColor Cyan Write-Host " PIM ingeschakeld: $($pimStatus.PIMEnabled)" -ForegroundColor Gray Write-Host " Permanente roltoewijzingen: $($pimStatus.PermanentRoleAssignments)" -ForegroundColor $(if ($pimStatus.PermanentRoleAssignments -gt 0) { "Yellow" } else { "Green" }) Write-Host " Geschikte roltoewijzingen (PIM): $($pimStatus.EligibleRoleAssignments)" -ForegroundColor Gray } else { Write-Host "`n⚠️ Geen actieve Microsoft Graph-verbinding. Verbind met Connect-MgGraph voor Azure AD PIM-monitoring." -ForegroundColor Yellow } if ($pimStatus.AzureConnected) { Write-Host "`nAzure RBAC PIM-status:" -ForegroundColor Cyan Write-Host " Permanente toewijzingen: $($pimStatus.AzurePermanentAssignments)" -ForegroundColor $(if ($pimStatus.AzurePermanentAssignments -gt 0) { "Yellow" } else { "Green" }) Write-Host " Geschikte toewijzingen (PIM): $($pimStatus.AzureEligibleAssignments)" -ForegroundColor Gray } else { Write-Host "`n⚠️ Geen actieve Azure-verbinding. Verbind met Connect-AzAccount voor Azure RBAC PIM-monitoring." -ForegroundColor Yellow } Write-Host "`nHandmatige verificatie vereist:" -ForegroundColor Cyan Write-Host " Controleer in Entra ID portal:" -ForegroundColor Gray Write-Host " - Privileged Identity Management > Azure AD roles" -ForegroundColor Gray Write-Host " - Alle bevoorrechte rollen moeten geschikte toewijzingen hebben (geen permanente)" -ForegroundColor Gray Write-Host " - Rolinstellingen: goedkeuring, MFA, rechtvaardiging, maximale duur" -ForegroundColor Gray Write-Host " Controleer in Azure Portal:" -ForegroundColor Gray Write-Host " - Privileged Identity Management > Azure resources" -ForegroundColor Gray Write-Host " - Resources ontdekt en bevoorrechte rollen geconfigureerd" -ForegroundColor Gray Write-Host " - Permanente toewijzingen omgezet naar geschikte toewijzingen" -ForegroundColor Gray $isCompliant = $true if ($pimStatus.PermanentRoleAssignments -gt 0 -or $pimStatus.AzurePermanentAssignments -gt 0) { $isCompliant = $false Write-Host "`n⚠️ Er zijn permanente bevoorrechte toewijzingen gedetecteerd die moeten worden omgezet naar PIM." -ForegroundColor Yellow Write-Host " Gebruik -Remediation voor gedetailleerde analyse en conversiehandvatten." -ForegroundColor Yellow } return [pscustomobject]@{ PIMStatus = $pimStatus IsCompliant = $isCompliant } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie door permanente bevoorrechte toewijzingen te identificeren en handvatten te bieden voor conversie naar PIM. .OUTPUTS PSCustomObject met remediatieadvies. #> [CmdletBinding()] param() Write-Host "`nRemediatie: Azure Identity Governance PIM Implementatie" -ForegroundColor Yellow Write-Host "========================================================" -ForegroundColor Yellow $pimStatus = Get-PIMConfigurationStatus $actions = @() Write-Host "`nPIM-implementatie analyse:" -ForegroundColor Cyan if ($pimStatus.PermanentRoleAssignments -gt 0) { $action = [pscustomobject]@{ Priority = "High" Issue = "Permanente Azure AD-roltoewijzingen gedetecteerd" Count = $pimStatus.PermanentRoleAssignments Recommendation = "Converteer permanente toewijzingen naar geschikte toewijzingen in PIM via Entra ID portal > Privileged Identity Management > Azure AD roles." } $actions += $action Write-Host " ❌ $($action.Issue): $($action.Count) toewijzingen" -ForegroundColor Red Write-Host " → $($action.Recommendation)" -ForegroundColor Gray } if ($pimStatus.AzurePermanentAssignments -gt 0) { $action = [pscustomobject]@{ Priority = "High" Issue = "Permanente Azure RBAC-toewijzingen gedetecteerd" Count = $pimStatus.AzurePermanentAssignments Recommendation = "Converteer permanente toewijzingen naar geschikte toewijzingen in PIM via Azure Portal > Privileged Identity Management > Azure resources." } $actions += $action Write-Host " ❌ $($action.Issue): $($action.Count) toewijzingen" -ForegroundColor Red Write-Host " → $($action.Recommendation)" -ForegroundColor Gray } if ($pimStatus.PIMEnabled -eq "Unknown - Manual verification required") { $action = [pscustomobject]@{ Priority = "Medium" Issue = "PIM-status onbekend" Count = 0 Recommendation = "Controleer handmatig of PIM is ingeschakeld voor Azure AD-rollen en Azure-resources in respectievelijk Entra ID portal en Azure Portal." } $actions += $action Write-Host " ⚠️ $($action.Issue)" -ForegroundColor Yellow Write-Host " → $($action.Recommendation)" -ForegroundColor Gray } Write-Host "`nVolgende stappen:" -ForegroundColor Cyan Write-Host "1. Schakel PIM in voor Azure AD-rollen via Entra ID portal" -ForegroundColor White Write-Host "2. Schakel PIM in voor Azure-resources via Azure Portal" -ForegroundColor White Write-Host "3. Converteer permanente toewijzingen naar geschikte toewijzingen" -ForegroundColor White Write-Host "4. Configureer rolinstellingen: goedkeuring, MFA, rechtvaardiging, maximale duur" -ForegroundColor White Write-Host "5. Wijs goedkeurders toe voor hoog-impact rollen" -ForegroundColor White Write-Host "6. Configureer PIM-waarschuwingen voor kritieke activeringen" -ForegroundColor White Write-Host "7. Stel periodieke toegangsbeoordelingen in" -ForegroundColor White return [pscustomobject]@{ Actions = $actions PIMStatus = $pimStatus } } try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Azure Identity Governance PIM Monitor" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($Monitoring) { $result = Invoke-Monitoring if ($result.IsCompliant) { exit 0 } else { exit 1 } } elseif ($Remediation) { Invoke-Remediation | Out-Null } else { # Standaard: compacte PIM check via monitoring $result = Invoke-Monitoring if ($result.IsCompliant) { Write-Host "`n✅ COMPLIANT" -ForegroundColor Green exit 0 } else { Write-Host "`n❌ NON-COMPLIANT" -ForegroundColor Red Write-Host "Run met -Monitoring voor gedetailleerde rapportage" -ForegroundColor Yellow Write-Host "Run met -Remediation voor gericht verbeteradvies" -ForegroundColor Yellow exit 1 } } } catch { Write-Error "Er is een fout opgetreden in privileged-identity-management.ps1: $_" exit 2 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Critical: Permanente bevoorrechte toegang betekent een permanent aanvalsoppervlak. Een gecompromitteerd beheerdersaccount met permanente Globale beheerder-rechten heeft onbeperkte verhoogde toegang tot alle Azure AD-configuraties en gebruikersgegevens. Privileged Identity Management reduceert de blootstelling van 365 dagen naar 8 uur per activering. Zonder PIM hebben insider threats 24/7 beheerders toegang, is er geen audit trail wanneer privileges worden gebruikt, en ontbreekt accountability. Compliancevereisten: CIS 1.21, BIO 9.02, ISO 27001 A.9.4.3, NIS2. Het risico is KRITIEK voor privileged accounts.

Management Samenvatting

PIM Identity Governance: Converteer permanente naar geschikte toewijzingen voor Azure AD-rollen en Azure-resources. Activering vereist: goedkeuring + meervoudige authenticatie + rechtvaardiging. Tijdsbeperkt (maximaal 8 uur). Automatische intrekking na vervaldatum. Audit trail van alle activeringen. Vereist: Azure AD P2 (Premium). Activatie: PIM → Mijn rollen → Configureer geschiktheid. Verplicht CIS 1.21, BIO 9.02, NIS2. Implementatie: 20 uur technisch + 16 uur organisatorisch. Reduceert blootstelling met 99 procent.