Azure Identity: Entitlement Management Configuratie En Beheer

💼 Management Samenvatting

Microsoft Entra ID Entitlement Management is een geavanceerde identity governance-oplossing die organisaties in staat stelt om toegangsbeheer te automatiseren via self-service access packages, automatische goedkeuringsworkflows, gecontroleerde expiratiedata en periodieke toegangsbeoordelingen. Voor Nederlandse overheidsorganisaties biedt Entitlement Management een gestructureerde en transparante manier om het principe van least privilege toe te passen en compliance te waarborgen met de Baseline Informatiebeveiliging Overheid (BIO), de NIS2-richtlijn en internationale standaarden zoals ISO 27001.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
64u (tech: 24u)
Van toepassing op:
Azure AD
Entra ID
Microsoft 365

Traditioneel toegangsbeheer binnen overheidsorganisaties kenmerkt zich vaak door handmatige, ad-hoc processen waarbij IT-beheerders direct toegang verlenen aan gebruikers zonder formele goedkeuringsworkflows, duidelijke expiratiedata of periodieke herbeoordeling. Dit leidt tot access sprawl, waarbij gebruikers in de loop van de tijd toegang accumuleren zonder dat onnodige toegang systematisch wordt verwijderd. Contractors behouden toegang na projecteinde, medewerkers behouden toegang na functiewijziging, en externe partners krijgen permanente toegang zonder mechanisme voor automatische intrekking. Het resultaat is een overmatig groot aanvalsoppervlak met uitgebreide toegangsrechten die niet langer gerechtvaardigd zijn. Entitlement Management lost deze problemen fundamenteel op door toegangsverlening te structureren via access packages die specifieke resources, rollen en rechten bundelen. Gebruikers kunnen self-service toegang aanvragen via een gecentraliseerde portal, waarbij automatische goedkeuringsworkflows worden geactiveerd op basis van geconfigureerde policies. Toegang wordt automatisch ingetrokken wanneer de expiratiedatum is bereikt, tenzij een verlengingsaanvraag wordt goedgekeurd na een nieuwe beoordeling. Deze geautomatiseerde lifecycle-management zorgt ervoor dat toegang actueel en gerechtvaardigd blijft, het aanvalsoppervlak wordt geminimaliseerd en compliance-vereisten worden nageleefd.

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

Implementatie

Deze control implementeert een volledig geconfigureerd Entitlement Management-programma voor Microsoft Entra ID, waarbij access packages worden ontworpen en geconfigureerd voor verschillende typen toegang binnen de organisatie. De implementatie omvat het opzetten van catalogi die logisch resources groeperen per afdeling of project, het ontwerpen van access packages die specifieke groepen, applicaties en SharePoint-sites bundelen, en het configureren van request policies die definiëren wie toegang kan aanvragen, welke goedkeuringsworkflows worden geactiveerd en hoe lang toegang geldig blijft. Voor interne gebruikers worden access packages geconfigureerd met automatische goedkeuring voor standaardtoegang en manager-goedkeuring voor gevoelige resources. Voor externe gebruikers worden access packages geconfigureerd met sponsor-goedkeuring, verplichte justificatie en automatische expiratie na een beperkte periode. Alle access packages worden geconfigureerd met automatische expiratie en optionele verlengingsaanvragen met herbeoordeling. De implementatie omvat ook het configureren van connected organizations voor externe partners en het opzetten van periodieke toegangsbeoordelingen die automatisch worden uitgevoerd voordat toegang wordt verlengd.

Vereisten

Voor het succesvol implementeren van een volledig geconfigureerd Entitlement Management-programma zijn verschillende technische en organisatorische vereisten noodzakelijk die zorgvuldig moeten worden overwogen voordat het proces wordt gestart. De belangrijkste technische vereiste is het beschikken over Azure AD Premium P2-licenties voor alle gebruikers die deel uitmaken van het entitlement management-proces, inclusief aanvragers, goedkeurders en catalogbeheerders. Deze licenties zijn essentieel voor het gebruik van de Entitlement Management-functionaliteit binnen Microsoft Entra ID, die het mogelijk maakt om gestructureerde, geautomatiseerde toegangsbeheerprocessen op te zetten die volledig kunnen worden gecontroleerd en geauditeerd. Zonder deze licenties zijn organisaties volledig aangewezen op handmatige processen, wat niet alleen tijdrovend is maar ook aanzienlijk foutgevoeliger kan zijn en moeilijk te schalen naar grote aantallen gebruikers en access packages.

Een tweede kritieke vereiste betreft het beschikken over een volledige en actuele inventarisatie van alle resources binnen de organisatie die moeten worden opgenomen in access packages. Deze inventarisatie moet alle beveiligingsgroepen, Microsoft 365-groepen en distributiegroepen omvatten, evenals alle zakelijke applicaties, SharePoint-sites en Teams-teams. Daarnaast moeten alle externe partners en organisaties worden geïnventariseerd die toegang nodig hebben tot organisatieresources, inclusief hun contactgegevens en de beoogde sponsor of contactpersoon binnen de organisatie. Zonder een complete en nauwkeurige inventarisatie bestaat het reële risico dat bepaalde resources over het hoofd worden gezien tijdens het ontwerp van access packages, waardoor het beoogde beveiligingsniveau niet wordt bereikt en potentiële beveiligingsrisico's blijven bestaan.

Het identificeren en toewijzen van geschikte catalogbeheerders vormt een derde essentiële vereiste die cruciaal is voor de effectiviteit en beheersbaarheid van het entitlement management-programma. Catalogbeheerders zijn verantwoordelijk voor het ontwerpen, beheren en onderhouden van access packages binnen hun toegewezen catalogi. Deze beheerders moeten beschikken over een goed begrip van de resources binnen hun catalogus, de zakelijke context waarin deze resources worden gebruikt, en de beveiligingsvereisten die gelden voor toegang tot deze resources. Catalogbeheerders moeten worden geselecteerd op basis van hun functionele expertise en organisatorische verantwoordelijkheid, waarbij bijvoorbeeld IT-beheerders verantwoordelijk zijn voor technische catalogi, afdelingshoofden voor afdelingsspecifieke catalogi, en projectmanagers voor projectgebaseerde catalogi. Deze beheerders moeten worden opgeleid in het gebruik van Entitlement Management en moeten toegang hebben tot de Microsoft Entra ID-portal met de benodigde bevoegdheden voor catalogbeheer.

Een vastgesteld en duidelijk gecommuniceerd goedkeuringsproces is eveneens cruciaal voor het succes van entitlement management en moet zorgvuldig worden afgestemd op de specifieke behoeften en risicoprofiel van de organisatie. Voor standaardtoegang met laag risico kunnen automatische goedkeuringspolicies worden geconfigureerd, waarbij toegang direct wordt verleend zonder menselijke interventie. Voor toegang met gemiddeld risico kunnen manager-goedkeuringspolicies worden geconfigureerd, waarbij de directe manager van de aanvrager de toegang moet goedkeuren. Voor gevoelige toegang met hoog risico moeten meervoudige goedkeuringspolicies worden geconfigureerd, waarbij meerdere goedkeurders, zoals een manager en een beveiligingsfunctionaris, beide moeten instemmen voordat toegang wordt verleend. Het goedkeuringsproces moet duidelijk worden gedocumenteerd in het formele beveiligingsbeleid van de organisatie en moet worden gecommuniceerd naar alle betrokken partijen om consistentie en naleving te waarborgen.

Ten slotte moet een duidelijk gedefinieerd en gedocumenteerd proces worden opgesteld voor het ontwerpen en onderhouden van access packages. Dit proces moet in detail specificeren hoe nieuwe access packages worden ontworpen, welke resources worden opgenomen, welke request policies worden geconfigureerd, hoe expiratiedata worden bepaald, en hoe periodieke beoordelingen worden ingesteld. Het proces moet ook voorzien in een mechanisme voor het regelmatig herzien en bijwerken van bestaande access packages wanneer resources worden toegevoegd of verwijderd, wanneer beveiligingsvereisten veranderen, of wanneer zakelijke behoeften evolueren. Daarnaast moet het proces een duidelijke werkverdeling definiëren tussen catalogbeheerders, die verantwoordelijk zijn voor het ontwerp en beheer van access packages, en beveiligingsteams, die verantwoordelijk zijn voor het toezicht en de controle op compliance met beveiligingsbeleid.

Implementatie

Gebruik PowerShell-script entitlement-management.ps1 (functie Invoke-Remediation) – Configureert Entitlement Management catalogi en access packages.

De implementatie van een volledig geconfigureerd Entitlement Management-programma begint met het navigeren naar de Microsoft Entra ID-portal en het selecteren van de Identity Governance-sectie, gevolgd door de Entitlement Management-functionaliteit. Vanuit dit menu worden catalogi aangemaakt die logisch resources groeperen per afdeling, project of functioneel gebied. Catalogi vormen de basis voor het organiseren van access packages en maken het mogelijk om beheerdersverantwoordelijkheden te delegeren naar functionele eigenaren. Elke catalogus moet een duidelijke naam en beschrijving krijgen die aangeeft welke resources en access packages binnen de catalogus zijn opgenomen, en catalogbeheerders moeten worden toegewezen die verantwoordelijk zijn voor het ontwerpen en beheren van access packages binnen hun catalogus.

Na het opzetten van catalogi worden access packages ontworpen en geconfigureerd die specifieke resources bundelen die nodig zijn voor een bepaalde rol, functie of project. Een access package kan bijvoorbeeld groepen, applicaties en SharePoint-sites bevatten die nodig zijn voor een medewerker die betrokken is bij een specifiek project. Het ontwerpen van access packages begint met het selecteren van de catalogus waarin het access package moet worden opgenomen, gevolgd door het geven van een duidelijke naam en beschrijving die aangeeft welke toegang wordt verleend en voor welk doel. Vervolgens worden resources toegevoegd aan het access package, waarbij voor elke resource wordt geselecteerd welke specifieke rol of rechten worden verleend. Voor groepen kan worden gekozen om lidmaatschap te verlenen, voor applicaties kan worden gekozen om een specifieke applicatierol toe te wijzen, en voor SharePoint-sites kan worden gekozen om een specifiek toegangsniveau te verlenen.

Na het toevoegen van resources worden request policies geconfigureerd die definiëren wie toegang kan aanvragen, welke goedkeuringsworkflows worden geactiveerd en hoe lang toegang geldig blijft. Voor interne gebruikers kunnen request policies worden geconfigureerd die toegang verlenen aan alle gebruikers binnen de organisatie, aan gebruikers binnen specifieke afdelingen, of aan gebruikers binnen specifieke groepen. Voor externe gebruikers kunnen request policies worden geconfigureerd die toegang verlenen aan gebruikers binnen connected organizations, waarbij connected organizations externe partners of leveranciers vertegenwoordigen die regelmatig toegang nodig hebben tot organisatieresources. Goedkeuringsworkflows kunnen worden geconfigureerd met automatische goedkeuring voor standaardtoegang, met manager-goedkeuring waarbij de directe manager van de aanvrager de toegang moet goedkeuren, of met meervoudige goedkeuring waarbij meerdere goedkeurders moeten instemmen. Expiratiedata kunnen worden geconfigureerd als een vast aantal dagen, als een specifieke datum, of als nooit verlopend, hoewel het laatste wordt afgeraden vanwege beveiligingsrisico's.

Voor externe gebruikers en connected organizations worden aanvullende configuratiestappen vereist om externe toegang te beveiligen en te controleren. Connected organizations worden geconfigureerd door externe partners toe te voegen aan de Entitlement Management-configuratie, waarbij contactgegevens, sponsoren en verificatiemethoden worden vastgelegd. Voor externe toegang worden doorgaans strengere request policies geconfigureerd met verplichte sponsor-goedkeuring, verplichte justificatie voor de toegangsaanvraag, en kortere expiratiedata van bijvoorbeeld 30 tot 90 dagen. Daarnaast kunnen request policies worden geconfigureerd met automatische intrekking wanneer externe gebruikers niet langer actief zijn of wanneer hun verbinding met de connected organization wordt verbroken. Deze maatregelen zorgen ervoor dat externe toegang tijdelijk, gerechtvaardigd en gecontroleerd blijft, wat essentieel is voor het minimaliseren van beveiligingsrisico's en het voldoen aan compliance-vereisten.

Na het configureren van access packages en request policies moeten periodieke toegangsbeoordelingen worden geconfigureerd die automatisch worden uitgevoerd voordat toegang wordt verlengd of wanneer toegang een bepaalde leeftijd heeft bereikt. Deze beoordelingen maken het mogelijk om te verifiëren of toegang nog steeds gerechtvaardigd is en of gebruikers daadwerkelijk gebruik maken van hun toegang. Beoordelingen kunnen worden geconfigureerd met verschillende frequenties, waarbij voor gevoelige toegang vaker wordt beoordeeld dan voor standaardtoegang. Beoordelaars kunnen worden toegewezen als managers, als catalogbeheerders, of als zelfbeoordeling waarbij gebruikers zelf moeten bevestigen of zij nog steeds toegang nodig hebben. Wanneer een beoordeling wordt geweigerd, wordt de toegang automatisch ingetrokken wanneer automatische toepassing is geactiveerd, of wordt een handmatige intrekking vereist wanneer automatische toepassing is uitgeschakeld.

Na het configureren van alle access packages en policies is het essentieel om de My Access-portal te publiceren en te communiceren naar gebruikers, zodat zij toegang kunnen aanvragen via een self-service portal. De My Access-portal biedt gebruikers een gecentraliseerde locatie waar zij alle beschikbare access packages kunnen bekijken, nieuwe toegang kunnen aanvragen, bestaande toegang kunnen verlengen, en de status van hun aanvragen kunnen volgen. De portal moet worden geconfigureerd met duidelijke beschrijvingen en instructies voor elke access package, zodat gebruikers kunnen begrijpen welke toegang zij aanvragen en waarom deze toegang nodig is. Daarnaast moeten gebruikers worden opgeleid in het gebruik van de portal en moeten processen worden opgezet voor het ondersteunen van gebruikers bij het aanvragen en beheren van hun toegang.

Compliance en Naleving

Entitlement Management vormt een fundamentele en onmisbare vereiste binnen meerdere belangrijke beveiligings- en compliance-frameworks die wereldwijd worden erkend en toegepast. De CIS Microsoft 365 Benchmark versie 1.4.0 specificeert in controle 5.1.2 expliciet dat toegangsrechten periodiek moeten worden beoordeeld en dat toegang automatisch moet worden ingetrokken wanneer deze niet langer nodig is. Deze controle valt onder het niveau L1, wat betekent dat deze als basisbeveiligingsmaatregel wordt beschouwd en door alle organisaties moet worden geïmplementeerd. Entitlement Management biedt de geautomatiseerde mechanismen die nodig zijn om aan deze vereisten te voldoen door toegang te structureren via access packages, automatische expiratiedata te configureren en periodieke beoordelingen uit te voeren die verificeren of toegang nog steeds gerechtvaardigd is.

Voor Nederlandse overheidsorganisaties is de Baseline Informatiebeveiliging Overheid (BIO) van bijzonder en kritiek belang, aangezien deze baseline specifiek is ontwikkeld voor de Nederlandse publieke sector en verplicht is voor alle overheidsorganisaties. BIO-controle 09.02 vereist expliciet en zonder uitzondering dat toegangsrechten periodiek en systematisch worden beoordeeld om te waarborgen dat gebruikers alleen toegang hebben tot systemen en gegevens die zij daadwerkelijk nodig hebben voor het uitvoeren van hun werkzaamheden. Deze controle maakt een integraal onderdeel uit van het toegangsbeheerproces en is gericht op het voorkomen van opkruipen van bevoegdheden, het handhaven van het principe van minimale bevoegdheden, en het waarborgen dat toegangsrechten actueel en gerechtvaardigd blijven. Entitlement Management biedt de gestructureerde en geautomatiseerde processen die nodig zijn om aan deze BIO-vereisten te voldoen door toegang te bundelen via access packages, automatische expiratiedata te configureren, en periodieke beoordelingen uit te voeren die verificeren of toegang nog steeds gerechtvaardigd is.

De internationale standaard ISO 27001:2022 bevat in controle A.5.18 specifieke en gedetailleerde vereisten voor de beoordeling van gebruikers toegangsrechten en in controle A.9.2 vereisten voor gebruikers toegangsbeheer. Deze controles vereisen dat organisaties regelmatig en systematisch de toegangsrechten van alle gebruikers beoordelen en onnodige of ongebruikte toegang onmiddellijk intrekken om te voorkomen dat deze toegang wordt misbruikt of onopgemerkt blijft bestaan. De standaard benadrukt sterk het belang van een volledig gestructureerd en gedocumenteerd proces waarbij toegangsrechten worden geëvalueerd op basis van de huidige functie, verantwoordelijkheden en werkzaamheden van de gebruiker, en waarbij alle wijzigingen worden gedocumenteerd, geautoriseerd en gecontroleerd. Implementatie van Entitlement Management helpt organisaties niet alleen te voldoen aan deze ISO-vereisten, maar draagt ook aanzienlijk bij aan het behalen en behouden van ISO 27001-certificering door gestructureerde, geautomatiseerde en volledig geauditeerde toegangsbeheerprocessen te bieden.

De Europese NIS2-richtlijn bevat in Artikel 21 specifieke en bindende vereisten voor toegangsbeheer en toegangsbeoordeling. De richtlijn vereist expliciet dat organisaties passende en effectieve maatregelen treffen voor toegangsbeheer, inclusief regelmatige en systematische beoordeling van toegangsrechten om te waarborgen dat alleen geautoriseerde personen toegang hebben tot kritieke systemen en gegevens. Voor Nederlandse organisaties die onder de reikwijdte van NIS2 vallen, is het implementeren van periodieke toegangsbeoordelingen niet alleen een best practice of aanbeveling, maar een wettelijke verplichting die moet worden nageleefd. Entitlement Management biedt de geautomatiseerde mechanismen die nodig zijn om aan deze NIS2-vereisten te voldoen door toegang te structureren via access packages, automatische expiratiedata te configureren, en periodieke beoordelingen uit te voeren die verificeren of toegang nog steeds gerechtvaardigd is. Niet-naleving van NIS2-vereisten kan leiden tot aanzienlijke financiële boetes, die kunnen oplopen tot miljoenen euro's, evenals ernstige reputatieschade en mogelijke gevolgen voor de continuïteit van bedrijfsvoering.

Monitoring

Gebruik PowerShell-script entitlement-management.ps1 (functie Invoke-Monitoring) – Controleert de configuratie en status van Entitlement Management catalogi en access packages.

Effectieve monitoring van Entitlement Management is essentieel om te waarborgen dat het toegangsbeheerprogramma correct blijft functioneren en dat organisaties altijd beschikken over actuele en gerechtvaardigde toegangstoewijzingen. Monitoring omvat het continu volgen van de status van alle actieve access package assignments, het verifiëren dat aanvragen tijdig worden verwerkt en goedgekeurd, het controleren van de effectiviteit van automatische expiratieprocessen, en het waarborgen dat periodieke beoordelingen worden uitgevoerd volgens het vastgestelde schema.

De basis van monitoring wordt gevormd door regelmatige verificatie van de status van alle actieve access package assignments via de Microsoft Entra ID-portal of via PowerShell met behulp van de Microsoft Graph API. Beheerders moeten wekelijks controleren hoeveel actieve assignments er zijn voor elk access package, hoeveel aanvragen er in behandeling zijn, hoeveel aanvragen zijn goedgekeurd of afgewezen, en hoeveel toegang is verlopen of is ingetrokken. Deze verificatie kan worden geautomatiseerd via PowerShell-scripts die de status van alle access packages controleren en waarschuwingen genereren wanneer ongebruikelijke patronen worden gedetecteerd, zoals een hoog aantal afgewezen aanvragen of een hoog aantal verlopen toegangstoewijzingen die niet zijn verlengd.

Naast het controleren van de status van access package assignments moeten organisaties regelmatig verifiëren dat goedkeuringsworkflows tijdig worden voltooid en dat aanvragen niet onnodig lang in behandeling blijven. Dit kan worden gedaan door de goedkeuringsworkflows te monitoren die real-time inzicht geven in welke aanvragen wachten op goedkeuring, welke goedkeurders nog moeten reageren, en hoeveel tijd er nog rest tot de vervaldatum van de aanvraag. Organisaties moeten processen implementeren voor het regelmatig uitvoeren van deze verificaties, waarbij wekelijks wordt gecontroleerd of goedkeuringsworkflows tijdig worden voltooid en waarbij waarschuwingen worden gegenereerd wanneer vertragingen worden gedetecteerd die kunnen wijzen op problemen met het goedkeuringsproces of op goedkeurders die niet reageren op aanvragen.

Voor organisaties die automatische expiratie hebben geconfigureerd, is het essentieel om te monitoren of deze functionaliteit correct functioneert en of toegang daadwerkelijk wordt ingetrokken wanneer de expiratiedatum is bereikt. Dit omvat het controleren of verlopen toegang daadwerkelijk is ingetrokken, of er geen fouten zijn in het automatische expiratieproces, en of de intrekking binnen de verwachte tijdsframes plaatsvindt. Problemen met automatische expiratie kunnen leiden tot situaties waarin verlopen toegang niet wordt ingetrokken, wat kan resulteren in onnodige bevoorrechte toegang die blijft bestaan ondanks de verlopen status. Organisaties moeten processen implementeren voor het monitoren van de automatische expiratiefunctionaliteit, waarbij dagelijks wordt gecontroleerd of intrekkingen correct worden uitgevoerd en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd.

Periodieke toegangsbeoordelingen vormen een kritiek onderdeel van entitlement management en moeten regelmatig worden gemonitord om te waarborgen dat beoordelingen tijdig worden uitgevoerd en dat toegang wordt ingetrokken wanneer deze niet langer gerechtvaardigd is. Monitoring van beoordelingen omvat het controleren van de status van alle actieve beoordelingen, het verifiëren dat beoordelaars hun taken tijdig voltooien, het controleren van de resultaten van beoordelingen om trends te identificeren, en het waarborgen dat toegang wordt ingetrokken wanneer beoordelingen worden geweigerd. Organisaties moeten processen implementeren voor het regelmatig uitvoeren van deze verificaties, waarbij maandelijks wordt gecontroleerd of beoordelingen tijdig worden voltooid en waarbij waarschuwingen worden gegenereerd wanneer vertragingen worden gedetecteerd of wanneer beoordelingen worden geweigerd zonder dat toegang wordt ingetrokken.

Remediatie

Gebruik PowerShell-script entitlement-management.ps1 (functie Invoke-Remediation) – Herstelt of configureert Entitlement Management wanneer deze ontbreekt of onjuist is geconfigureerd.

Remediatie van Entitlement Management omvat het opzetten van nieuwe catalogi en access packages wanneer deze ontbreken, het corrigeren van configuratiefouten in bestaande access packages, en het waarborgen dat alle resources worden opgenomen in passende access packages volgens het vastgestelde ontwerp. Het is belangrijk om te realiseren dat wanneer Entitlement Management niet is geconfigureerd, organisaties niet beschikken over een gestructureerd proces om toegang te verlenen en te beheren via self-service access packages, wat kan resulteren in handmatige, ad-hoc toegangsverlening zonder formele goedkeuringsworkflows, duidelijke expiratiedata of periodieke herbeoordeling.

Wanneer Entitlement Management ontbreekt, kunnen nieuwe catalogi worden aangemaakt via de Microsoft Entra ID-portal door te navigeren naar Identity Governance, Entitlement Management, en vervolgens Catalogi te selecteren. Catalogbeheerders moeten worden toegewezen die verantwoordelijk zijn voor het ontwerpen en beheren van access packages binnen hun catalogus. Na het opzetten van catalogi kunnen nieuwe access packages worden aangemaakt door te navigeren naar Access packages en Nieuwe access package te selecteren. De configuratiewizard leidt gebruikers door het volledige opzetten van het access package, waarbij alle benodigde instellingen worden geconfigureerd, inclusief resources, request policies, goedkeuringsworkflows, expiratiedata en periodieke beoordelingen. Na het voltooien van de configuratie wordt het access package gepubliceerd en beschikbaar gesteld via de My Access-portal.

Voor bestaande access packages met configuratiefouten kunnen de instellingen worden bijgewerkt via de Microsoft Entra ID-portal door te navigeren naar het specifieke access package en de instellingen te bewerken. Dit omvat het toevoegen of verwijderen van resources, het bijwerken van request policies wanneer deze niet langer geschikt zijn, het aanpassen van goedkeuringsworkflows wanneer deze niet effectief zijn, en het corrigeren van expiratiedata wanneer deze niet geschikt zijn. Het is belangrijk om te verifiëren dat alle wijzigingen correct zijn toegepast en dat het access package correct blijft functioneren na de wijzigingen, inclusief het controleren of bestaande assignments niet worden beïnvloed door de wijzigingen en of nieuwe aanvragen correct worden verwerkt.

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
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Entitlement Management Configuration .DESCRIPTION CIS Microsoft 365 Benchmark - Control 5.1.2 Controleert en configureert Entitlement Management voor toegangsbeheer via self-service access packages met automatische goedkeuringsworkflows, gecontroleerde expiratiedata en periodieke toegangsbeoordelingen. .NOTES Filename: entitlement-management.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 5.1.2 Requires: Azure AD Premium P2, Microsoft.Graph.Identity.Governance #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph.Identity.Governance [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Monitoring, [Parameter(Mandatory = $false)] [switch]$Remediation, [Parameter(Mandatory = $false)] [switch]$Revert, [Parameter(Mandatory = $false)] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Entitlement Management Configuration" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Connect-RequiredServices { <# .SYNOPSIS Maakt verbinding met Microsoft Graph #> try { $context = Get-MgContext -ErrorAction SilentlyContinue if (-not $context -or $context.Scopes -notcontains "EntitlementManagement.ReadWrite.All") { Write-Host "Connecting to Microsoft Graph..." -ForegroundColor Gray Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All", "Directory.Read.All", "Group.Read.All", "Application.Read.All" -ErrorAction Stop -NoWelcome Write-Host " [OK] Connected to Microsoft Graph" -ForegroundColor Green } else { Write-Host " [OK] Already connected to Microsoft Graph" -ForegroundColor Green } } catch { Write-Host " [FAIL] Failed to connect to Microsoft Graph: $_" -ForegroundColor Red throw } } function Invoke-Monitoring { <# .SYNOPSIS Controleert de configuratie en status van Entitlement Management #> try { Connect-RequiredServices Write-Host "Checking Entitlement Management configuration..." -ForegroundColor Gray # Haal alle Entitlement Management catalogi op $catalogs = Get-MgEntitlementManagementCatalog -ErrorAction Stop # Haal alle access packages op $accessPackages = Get-MgEntitlementManagementAccessPackage -All -ErrorAction Stop $result = @{ totalCatalogs = 0 totalAccessPackages = 0 publishedAccessPackages = 0 accessPackagesWithExpiration = 0 accessPackagesWithReviews = 0 accessPackagesWithApproval = 0 compliant = $false } if ($catalogs) { $result.totalCatalogs = $catalogs.Count Write-Host "`n Found $($catalogs.Count) catalog(s):" -ForegroundColor Cyan foreach ($catalog in $catalogs) { Write-Host " - $($catalog.DisplayName) (ID: $($catalog.Id))" -ForegroundColor White } } else { Write-Host " [WARNING] No catalogs found" -ForegroundColor Yellow } if ($accessPackages) { $result.totalAccessPackages = $accessPackages.Count Write-Host "`n Found $($accessPackages.Count) access package(s):" -ForegroundColor Cyan foreach ($accessPackage in $accessPackages) { # Controleer of access package is gepubliceerd $assignmentPolicies = Get-MgEntitlementManagementAccessPackageAssignmentPolicy -AccessPackageId $accessPackage.Id -ErrorAction SilentlyContinue if ($assignmentPolicies) { $publishedPolicy = $assignmentPolicies | Where-Object { $_.State -eq "Enabled" -or $_.State -eq "Published" } if ($publishedPolicy) { $result.publishedAccessPackages++ Write-Host " [OK] $($accessPackage.DisplayName)" -ForegroundColor Green # Controleer expiratie configuratie $hasExpiration = $false foreach ($policy in $assignmentPolicies) { if ($policy.Expiration -and $policy.Expiration.Type -ne "noExpiration") { $hasExpiration = $true $result.accessPackagesWithExpiration++ Write-Host " - Expiration configured: $($policy.Expiration.Type)" -ForegroundColor Cyan if ($policy.Expiration.Duration -and $policy.Expiration.Duration.Days) { Write-Host " Duration: $($policy.Expiration.Duration.Days) days" -ForegroundColor Gray } break } } if (-not $hasExpiration) { Write-Host " - [WARNING] No expiration configured" -ForegroundColor Yellow } # Controleer toegangsbeoordelingen $accessPackageAssignmentPolicies = Get-MgEntitlementManagementAccessPackageAssignmentPolicy -AccessPackageId $accessPackage.Id -ErrorAction SilentlyContinue $hasReview = $false foreach ($policy in $accessPackageAssignmentPolicies) { if ($policy.ReviewSettings -and $policy.ReviewSettings.Enabled) { $hasReview = $true $result.accessPackagesWithReviews++ Write-Host " - Access review configured" -ForegroundColor Cyan Write-Host " Frequency: $($policy.ReviewSettings.Recurrence.Pattern.Type)" -ForegroundColor Gray break } } if (-not $hasReview) { Write-Host " - [WARNING] No access review configured" -ForegroundColor Yellow } # Controleer goedkeuringsworkflows $hasApproval = $false foreach ($policy in $assignmentPolicies) { if ($policy.RequestApprovalSettings -and $policy.RequestApprovalSettings.IsApprovalRequired) { $hasApproval = $true $result.accessPackagesWithApproval++ Write-Host " - Approval workflow configured" -ForegroundColor Cyan break } } if (-not $hasApproval) { Write-Host " - [INFO] Auto-approval enabled" -ForegroundColor Gray } } } else { Write-Host " [WARNING] $($accessPackage.DisplayName) - No assignment policies found" -ForegroundColor Yellow } } } else { Write-Host " [WARNING] No access packages found" -ForegroundColor Yellow } Write-Host "`n Summary:" -ForegroundColor Cyan Write-Host " Total Catalogs: $($result.totalCatalogs)" -ForegroundColor White Write-Host " Total Access Packages: $($result.totalAccessPackages)" -ForegroundColor White Write-Host " Published Access Packages: $($result.publishedAccessPackages)" -ForegroundColor White Write-Host " Access Packages with Expiration: $($result.accessPackagesWithExpiration)" -ForegroundColor White Write-Host " Access Packages with Reviews: $($result.accessPackagesWithReviews)" -ForegroundColor White Write-Host " Access Packages with Approval: $($result.accessPackagesWithApproval)" -ForegroundColor White # Bepaal compliance status if ($result.totalCatalogs -gt 0 -and $result.publishedAccessPackages -gt 0 -and $result.accessPackagesWithExpiration -gt 0 -and $result.accessPackagesWithReviews -gt 0) { $result.compliant = $true Write-Host "`n [OK] COMPLIANT" -ForegroundColor Green Write-Host " Entitlement Management is geconfigureerd met catalogi, access packages," -ForegroundColor Cyan Write-Host " expiratiedata en toegangsbeoordelingen" -ForegroundColor Cyan exit 0 } else { Write-Host "`n [WARNING] PARTIALLY COMPLIANT" -ForegroundColor Yellow Write-Host " Aanbevolen: Configureer Entitlement Management volledig:" -ForegroundColor Yellow if ($result.totalCatalogs -eq 0) { Write-Host " - Maak catalogi aan voor het organiseren van access packages" -ForegroundColor Gray } if ($result.publishedAccessPackages -eq 0) { Write-Host " - Publiceer access packages via assignment policies" -ForegroundColor Gray } if ($result.accessPackagesWithExpiration -eq 0) { Write-Host " - Configureer expiratiedata voor alle access packages" -ForegroundColor Gray } if ($result.accessPackagesWithReviews -eq 0) { Write-Host " - Configureer periodieke toegangsbeoordelingen" -ForegroundColor Gray } exit 1 } } catch { Write-Host "`n [FAIL] ERROR: $_" -ForegroundColor Red Write-Host " Error Details: $($_.Exception.Message)" -ForegroundColor Red Write-Host "`n Note: Entitlement Management vereist Azure AD Premium P2 licenties" -ForegroundColor Yellow exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Configureert Entitlement Management wanneer deze ontbreekt .DESCRIPTION Deze functie biedt richtlijnen voor het handmatig configureren van Entitlement Management via de Microsoft Entra ID-portal, omdat geautomatiseerde configuratie complex is en specifieke zakelijke vereisten vereist. #> try { Connect-RequiredServices Write-Host "Entitlement Management Configuration" -ForegroundColor Gray Write-Host "`n [INFO] Entitlement Management configuratie vereist handmatige stappen" -ForegroundColor Yellow Write-Host " via de Microsoft Entra ID-portal vanwege complexiteit en" -ForegroundColor Gray Write-Host " specifieke zakelijke vereisten." -ForegroundColor Gray Write-Host "`n Configuratiestappen:" -ForegroundColor Cyan Write-Host " 1. Navigeer naar: https://entra.microsoft.com" -ForegroundColor White Write-Host " 2. Ga naar: Identity Governance > Entitlement Management" -ForegroundColor White Write-Host " 3. Start met het aanmaken van catalogi" -ForegroundColor White Write-Host " 4. Ontwerp en configureer access packages" -ForegroundColor White Write-Host "`n Aanbevolen configuraties:" -ForegroundColor Cyan Write-Host "`n Catalogi opzetten:" -ForegroundColor Yellow Write-Host " - Maak catalogi per afdeling/project/functioneel gebied" -ForegroundColor Gray Write-Host " - Wijs catalogbeheerders toe die verantwoordelijk zijn" -ForegroundColor Gray Write-Host " - Voeg resources toe aan catalogi (groepen, apps, sites)" -ForegroundColor Gray Write-Host "`n Access Packages ontwerpen:" -ForegroundColor Yellow Write-Host " - Bundel resources per rol/functie/project" -ForegroundColor Gray Write-Host " - Configureer request policies met goedkeuringsworkflows" -ForegroundColor Gray Write-Host " - Stel expiratiedata in (bijv. 30-90 dagen)" -ForegroundColor Gray Write-Host " - Configureer periodieke toegangsbeoordelingen" -ForegroundColor Gray Write-Host "`n Request Policies configureren:" -ForegroundColor Yellow Write-Host " - Interne gebruikers: Automatische of manager-goedkeuring" -ForegroundColor Gray Write-Host " - Externe gebruikers: Sponsor-goedkeuring verplicht" -ForegroundColor Gray Write-Host " - Verplichte justificatie voor externe aanvragen" -ForegroundColor Gray Write-Host " - Configureer expiratie (bijv. 30-90 dagen voor extern)" -ForegroundColor Gray Write-Host "`n Connected Organizations configureren:" -ForegroundColor Yellow Write-Host " - Voeg externe partners toe als connected organizations" -ForegroundColor Gray Write-Host " - Wijs sponsoren toe per connected organization" -ForegroundColor Gray Write-Host " - Configureer verificatiemethoden" -ForegroundColor Gray Write-Host "`n Toegangsbeoordelingen configureren:" -ForegroundColor Yellow Write-Host " - Configureer beoordelingen voordat toegang wordt verlengd" -ForegroundColor Gray Write-Host " - Wijs beoordelaars toe (managers, catalogbeheerders)" -ForegroundColor Gray Write-Host " - Stel frequentie in (bijv. maandelijks voor gevoelige toegang)" -ForegroundColor Gray Write-Host " - Activeer automatische intrekking bij weigering" -ForegroundColor Gray Write-Host "`n My Access-portal:" -ForegroundColor Yellow Write-Host " - Publiceer access packages via assignment policies" -ForegroundColor Gray Write-Host " - Zorg voor duidelijke beschrijvingen en instructies" -ForegroundColor Gray Write-Host " - Communiceer portal naar gebruikers" -ForegroundColor Gray Write-Host "`n [INFO] Na configuratie, voer -Monitoring uit om te verifiëren" -ForegroundColor Cyan Write-Host " [INFO] Test access packages eerst met een beperkte groep gebruikers" -ForegroundColor Yellow Write-Host " [INFO] Monitor aanvragen en goedkeuringsworkflows regelmatig" -ForegroundColor Yellow exit 0 } catch { Write-Host "`n [FAIL] ERROR: $_" -ForegroundColor Red Write-Host " Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Verwijdert Entitlement Management (NIET AANBEVOLEN!) #> try { Write-Host "⚠️ WARNING: Verwijderen van Entitlement Management is een BEVEILIGINGSRISICO!" -ForegroundColor Red Write-Host "Dit verwijdert gestructureerd toegangsbeheer en verhoogt het risico op" -ForegroundColor Red Write-Host "access sprawl en niet-naleving van compliance-vereisten`n" -ForegroundColor Red if (-not $WhatIf) { Write-Host "Gebruik -WhatIf om te zien wat zou worden verwijderd" -ForegroundColor Yellow Write-Host "Verwijdering van Entitlement Management moet handmatig via de portal" -ForegroundColor Yellow Write-Host "worden uitgevoerd na zorgvuldige overweging en goedkeuring." -ForegroundColor Yellow } exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Usage:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer Entitlement Management configuratie" -ForegroundColor Gray Write-Host " -Remediation Toon configuratie-instructies" -ForegroundColor Gray Write-Host " -Revert Waarschuwing voor verwijdering (NIET AANBEVOLEN!)" -ForegroundColor Red Write-Host "`n Voorbeeld:" -ForegroundColor Cyan Write-Host " .\entitlement-management.ps1 -Monitoring" -ForegroundColor White } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Hoog – Zonder Entitlement Management blijven organisaties afhankelijk van handmatige, ad-hoc toegangsverlening zonder formele goedkeuringsworkflows, duidelijke expiratiedata of periodieke herbeoordeling. Dit leidt tot access sprawl, waarbij gebruikers in de loop van de tijd toegang accumuleren zonder dat onnodige toegang systematisch wordt verwijderd, wat resulteert in een groter aanvalsoppervlak en niet-naleving van compliance-vereisten zoals BIO 09.02, ISO 27001 A.5.18 en NIS2 Artikel 21.

Management Samenvatting

Implementeer Entitlement Management voor gestructureerd toegangsbeheer via self-service access packages met automatische goedkeuringsworkflows, gecontroleerde expiratiedata en periodieke toegangsbeoordelingen. Vereist Azure AD Premium P2. Implementatietijd: 64 uur.