Azure Identity: Access Reviews Configuratie En Beheer

💼 Management Samenvatting

Access Reviews vormen een essentieel onderdeel van moderne identity governance door organisaties in staat te stellen periodiek en systematisch toegangsrechten te beoordelen, te valideren en te herzien. Voor Nederlandse overheidsorganisaties is een goed geconfigureerd Access Reviews-programma niet alleen een best practice, maar een kritieke beveiligingsmaatregel die direct bijdraagt aan compliance met de Baseline Informatiebeveiliging Overheid (BIO), de NIS2-richtlijn en internationale standaarden zoals ISO 27001 door het voorkomen van opkruipen van bevoegdheden en het handhaven van het principe van minimale bevoegdheden.

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

Zonder periodieke toegangsbeoordelingen accumuleren gebruikers in de loop van de tijd toegangsrechten zonder dat deze actief worden verwijderd wanneer zij niet langer nodig zijn. Contractors behouden toegang na projecteinde, werknemers behouden toegang na functiewijziging, tijdelijke verhoogde toegang wordt nooit ingetrokken, en gebruikers krijgen toegang voor specifieke projecten maar behouden deze toegang onbeperkt. Het resultaat is een overmatig aantal accounts met uitgebreide toegangsrechten dat een groter aanvalsoppervlak vormt en het risico op beveiligingsincidenten aanzienlijk verhoogt. Access Reviews lossen deze fundamentele problemen op door organisaties in staat te stellen periodiek te verifiëren of toegangsrechten nog steeds gerechtvaardigd zijn, of gebruikers daadwerkelijk gebruik maken van hun toegang, en of toegang kan worden ingetrokken zonder impact op bedrijfsvoering. Door geautomatiseerde beoordelingsprocessen te implementeren kunnen organisaties systematisch onnodige toegang identificeren en verwijderen, waardoor 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 Access Reviews-programma voor Azure AD-rollen, groepslidmaatschappen, applicatietoegang en gastgebruikerstoegang via Microsoft Entra ID Access Reviews, een Premium P2-functie. De configuratie omvat het opzetten van terugkerende beoordelingen voor verschillende toegangstypen met geschikte frequenties, het toewijzen van gekwalificeerde beoordelaars, het configureren van automatische herinneringen en escalatiepaden, en het implementeren van automatische toepassing van beoordelingsresultaten. Voor Azure AD-rollen worden driemaandelijkse beoordelingen geconfigureerd voor alle bevoorrechte rollen, waarbij managers en beveiligingsteams als beoordelaars worden aangewezen. Voor groepslidmaatschappen worden kwartaalbeoordelingen geconfigureerd voor alle beveiligingsgroepen en Microsoft 365-groepen, waarbij groepeigenaren als primaire beoordelaars worden aangewezen. Voor applicatietoegang worden halfjaarlijkse beoordelingen geconfigureerd voor alle zakelijke applicaties, waarbij applicatie-eigenaren en beveiligingsteams als beoordelaars worden aangewezen. Voor gastgebruikerstoegang worden driemaandelijkse beoordelingen geconfigureerd waarbij gastgebruikers zelf hun toegang kunnen beoordelen of waarbij gastgebruikers automatisch worden verwijderd wanneer zij niet reageren. Alle beoordelingen worden geconfigureerd met automatische herinneringen één week voor de vervaldatum, escalatiepaden voor niet-voltooide beoordelingen, en automatische toepassing van resultaten om toegang te verwijderen wanneer dit wordt geweigerd.

Vereisten

Voor het succesvol implementeren van een volledig geconfigureerd Access Reviews-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 beoordelingsprocessen, inclusief beoordelaars en gebruikers wier toegang wordt beoordeeld. Deze licenties zijn essentieel voor het gebruik van de geautomatiseerde Access Reviews-functionaliteit binnen Microsoft Entra ID, die het mogelijk maakt om gestructureerde, herhaalbare beoordelingsprocessen op te zetten die volledig kunnen worden geautomatiseerd en gecontroleerd. Zonder deze licenties zijn organisaties volledig aangewezen op handmatige processen, wat niet alleen tijdrovend is maar ook aanzienlijk foutgevoeliger kan zijn en moeilijker te schalen naar grote aantallen gebruikers en toegangstypen.

Een tweede kritieke vereiste betreft het beschikken over een volledige en actuele inventarisatie van alle toegangstypen binnen de organisatie die moeten worden beoordeeld. Deze inventarisatie moet alle Azure AD-rollen omvatten, inclusief directoryrollen zoals Globale beheerder, Bevoorrechte rolbeheerder, Gebruikersbeheerder en Beveiligingsbeheerder, evenals aangepaste rollen. Daarnaast moeten alle beveiligingsgroepen, Microsoft 365-groepen en distributiegroepen worden geïnventariseerd, evenals alle zakelijke applicaties en hun toegangstoewijzingen. Voor gastgebruikers moet een complete lijst worden opgesteld van alle externe gebruikers die toegang hebben tot organisatieresources. Zonder een complete en nauwkeurige inventarisatie bestaat het reële risico dat bepaalde toegangstypen over het hoofd worden gezien tijdens beoordelingsprocessen, waardoor het beoogde beveiligingsniveau niet wordt bereikt en potentiële beveiligingsrisico's blijven bestaan.

Het toewijzen van geschikte en gekwalificeerde beoordelaars vormt een derde essentiële vereiste die cruciaal is voor de effectiviteit van het beoordelingsproces. Beoordelaars moeten bestaan uit een zorgvuldig samengestelde combinatie van directe managers, groepeigenaren, applicatie-eigenaren en leden van het beveiligingsteam, waarbij elk type beoordelaar een unieke en waardevolle bijdrage levert aan het proces. Managers beschikken over de contextuele kennis en inzicht in de dagelijkse werkzaamheden van hun medewerkers om te beoordelen of een gebruiker nog steeds toegang nodig heeft voor hun huidige functie en verantwoordelijkheden. Groepeigenaren en applicatie-eigenaren beschikken over specifieke kennis over de doelstellingen en het gebruik van hun groepen en applicaties. Het beveiligingsteam beschikt over de expertise om beveiligingsrisico's en compliance-vereisten te beoordelen. Deze combinatie zorgt voor een evenwichtige en grondige beoordeling die zowel zakelijke behoeften als beveiligingsvereisten in overweging neemt.

Een vastgesteld en duidelijk gecommuniceerd beoordelingsschema is eveneens cruciaal voor het succes van het proces en moet zorgvuldig worden afgestemd op de specifieke behoeften en risicoprofiel van de organisatie. Voor bevoorrechte rollen worden driemaandelijkse beoordelingen algemeen aanbevolen als optimale balans tussen beveiligingsniveau en administratieve belasting. Voor groepslidmaatschappen worden kwartaalbeoordelingen aanbevolen, terwijl voor applicatietoegang halfjaarlijkse beoordelingen vaak voldoende zijn. Voor gastgebruikerstoegang worden driemaandelijkse beoordelingen aanbevolen om te waarborgen dat externe toegang actueel en gerechtvaardigd blijft. Het schema moet duidelijk worden gecommuniceerd naar alle betrokken partijen en moet worden vastgelegd in het formele beveiligingsbeleid van de organisatie om consistentie en naleving te waarborgen.

Ten slotte moet een duidelijk gedefinieerd en gedocumenteerd proces worden opgesteld voor het afhandelen van gebruikers wier toegang wordt geweigerd tijdens de beoordeling. Dit proces moet in detail specificeren hoe toegang wordt ingetrokken, welke stappen worden gevolgd om te verifiëren dat toegang daadwerkelijk is verwijderd, hoe gebruikers worden geïnformeerd over de beslissing, welke alternatieve toegangsmethoden beschikbaar zijn indien de gebruiker nog steeds beperkte toegang nodig heeft, en hoe bezwaar kan worden aangetekend tegen de beslissing. Het proces moet ook voorzien in uitzonderingen voor legitieme zakelijke gevallen, waarbij een formele goedkeuringsprocedure wordt gevolgd die documentatie vereist van de zakelijke rechtvaardiging, een vastgestelde vervaldatum voor de uitzondering, en een plan voor regelmatige herbeoordeling.

Implementatie

Gebruik PowerShell-script access-reviews-configuration.ps1 (functie Invoke-Remediation) – Configureert Access Reviews voor verschillende toegangstypen.

De implementatie van een volledig geconfigureerd Access Reviews-programma begint met het navigeren naar de Microsoft Entra ID-portal en het selecteren van de Identity Governance-sectie, gevolgd door de Access Reviews-functionaliteit. Vanuit dit menu worden nieuwe beoordelingen aangemaakt voor verschillende toegangstypen, waarbij elk toegangstype een specifieke configuratie vereist die is afgestemd op de unieke kenmerken en risicoprofiel van dat toegangstype. De configuratiewizard leidt gebruikers stap voor stap door het volledige opzetten van het beoordelingsproces, waarbij duidelijke instructies en contextuele hulp worden geboden om configuratiefouten te minimaliseren.

Voor Azure AD-rollen wordt een nieuwe beoordeling aangemaakt door te kiezen voor 'Azure AD-rollen' als beoordelingsscope, waarna specifiek de bevoorrechte rollen worden geselecteerd die in de beoordeling moeten worden meegenomen. Dit omvat typisch kritieke rollen zoals Globale beheerder, Bevoorrechte rolbeheerder, Gebruikersbeheerder, Beveiligingsbeheerder en andere rollen met uitgebreide beheerdersrechten. Beoordelaars worden toegewezen als een combinatie van directe managers en leden van het beveiligingsteam, waarbij beide groepen moeten goedkeuren voordat toegang wordt behouden. De herhaling wordt ingesteld op driemaandelijks, waarbij automatisch nieuwe beoordelingsrondes worden gestart. Automatische toepassing wordt geactiveerd om toegang te verwijderen wanneer dit wordt geweigerd, en herinneringsberichten worden geconfigureerd om één week voor de vervaldatum te worden verzonden.

Voor groepslidmaatschappen wordt een nieuwe beoordeling aangemaakt door te kiezen voor 'Groepen' als beoordelingsscope, waarna specifiek de beveiligingsgroepen en Microsoft 365-groepen worden geselecteerd die moeten worden beoordeeld. Groepeigenaren worden automatisch aangewezen als beoordelaars, waarbij het systeem de eigenaren van elke groep identificeert en hen uitnodigt om de lidmaatschappen van hun groepen te beoordelen. Voor groepen zonder eigenaar worden leden van het beveiligingsteam aangewezen als beoordelaars. De herhaling wordt ingesteld op kwartaal, waarbij automatisch nieuwe beoordelingsrondes worden gestart. Automatische toepassing wordt geactiveerd om gebruikers te verwijderen uit groepen wanneer hun lidmaatschap wordt geweigerd, en herinneringsberichten worden geconfigureerd om beoordelaars te helpen hun taken tijdig te voltooien.

Voor applicatietoegang wordt een nieuwe beoordeling aangemaakt door te kiezen voor 'Applicaties' als beoordelingsscope, waarna specifiek de zakelijke applicaties worden geselecteerd die moeten worden beoordeeld. Applicatie-eigenaren worden automatisch aangewezen als primaire beoordelaars, waarbij het systeem de eigenaren van elke applicatie identificeert en hen uitnodigt om de toegangstoewijzingen van hun applicaties te beoordelen. Leden van het beveiligingsteam worden aangewezen als secundaire beoordelaars om een extra controlelaag te bieden. De herhaling wordt ingesteld op halfjaarlijks, wat voldoende is voor de meeste applicaties omdat toegangstoewijzingen doorgaans minder frequent wijzigen dan groepslidmaatschappen of roltoewijzingen. Automatische toepassing wordt geactiveerd om toegang te verwijderen wanneer dit wordt geweigerd, en herinneringsberichten worden geconfigureerd om beoordelaars te helpen hun taken tijdig te voltooien.

Voor gastgebruikerstoegang wordt een nieuwe beoordeling aangemaakt door te kiezen voor 'Gastgebruikers' als beoordelingsscope, waarbij alle externe gebruikers die toegang hebben tot organisatieresources worden meegenomen in de beoordeling. Gastgebruikers kunnen worden geconfigureerd om zelf hun toegang te beoordelen, waarbij zij worden uitgenodigd om te bevestigen of zij nog steeds toegang nodig hebben. Alternatief kunnen managers of het beveiligingsteam worden aangewezen als beoordelaars wanneer zelfbeoordeling niet geschikt is. De herhaling wordt ingesteld op driemaandelijks, wat essentieel is om te waarborgen dat externe toegang actueel en gerechtvaardigd blijft. Automatische toepassing wordt geactiveerd om gastgebruikers te verwijderen wanneer hun toegang wordt geweigerd of wanneer zij niet reageren op de beoordelingsuitnodiging binnen de gestelde termijn.

Na het configureren van alle beoordelingen is het essentieel om de voortgang actief te monitoren en ervoor te zorgen dat alle beoordelaars hun taken tijdig voltooien. Het systeem biedt uitgebreide dashboards en rapporten die real-time inzicht geven in de voortgang van alle beoordelingen, inclusief welke gebruikers nog moeten worden beoordeeld, welke beoordelingen zijn voltooid, welke beoordelaars nog moeten reageren, en hoeveel tijd er nog rest tot de vervaldatum. Deze dashboards kunnen worden gebruikt om trends te identificeren, zoals of bepaalde beoordelaars consistent vertragingen hebben of of bepaalde toegangstypen vaker worden geweigerd dan andere. Actieve monitoring helpt om vertragingen te voorkomen en zorgt ervoor dat het proces binnen de gestelde termijnen wordt afgerond, wat essentieel is voor het handhaven van een effectief toegangsbeheerbeleid en het voldoen aan compliance-vereisten.

Compliance en Auditing

Access Reviews vormen 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 om te waarborgen dat alleen geautoriseerde gebruikers toegang behouden tot kritieke systemen en gegevens. Deze controle valt onder het niveau L1, wat betekent dat deze als basisbeveiligingsmaatregel wordt beschouwd en door alle organisaties moet worden geïmplementeerd. De CIS Benchmark biedt uitgebreide en specifieke richtlijnen voor de frequentie, methodologie en documentatie van deze beoordelingen, waarbij wordt benadrukt dat het proces gestructureerd, volledig gedocumenteerd en herhaalbaar moet zijn om effectief te zijn.

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. De BIO benadrukt sterk het belang van volledig gedocumenteerde beoordelingsprocessen waarbij alle beslissingen, rechtvaardigingen en acties worden vastgelegd voor audit- en compliance-doeleinden.

De internationale standaard ISO 27001:2022 bevat in controle A.5.18 specifieke en gedetailleerde vereisten voor de beoordeling van gebruikers toegangsrechten. Deze controle vereist 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 periodieke toegangsbeoordelingen helpt organisaties niet alleen te voldoen aan deze ISO-vereisten, maar draagt ook aanzienlijk bij aan het behalen en behouden van ISO 27001-certificering.

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. 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 access-reviews-configuration.ps1 (functie Invoke-Monitoring) – Controleert de configuratie en status van Access Reviews.

Effectieve monitoring van Access Reviews is essentieel om te waarborgen dat het beoordelingsprogramma correct blijft functioneren en dat organisaties altijd beschikken over actuele en gerechtvaardigde toegangstoewijzingen. Monitoring omvat het continu volgen van de status van alle actieve beoordelingen, het verifiëren dat beoordelaars hun taken tijdig voltooien, het controleren van de effectiviteit van automatische toepassingsprocessen, en het waarborgen dat alle toegangstypen worden beoordeeld volgens het vastgestelde schema.

De basis van monitoring wordt gevormd door regelmatige verificatie van de status van alle actieve beoordelingen via de Microsoft Entra ID-portal of via PowerShell met behulp van de Microsoft Graph API. Beheerders moeten wekelijks controleren of alle beoordelingen actief zijn, of er geen waarschuwingen of foutmeldingen zijn die kunnen wijzen op problemen met het beoordelingsproces, en of beoordelaars hun taken tijdig voltooien. Deze verificatie kan worden geautomatiseerd via PowerShell-scripts die de status van alle beoordelingen controleren en waarschuwingen genereren wanneer problemen worden gedetecteerd.

Naast het controleren van de status van beoordelingen moeten organisaties regelmatig verifiëren dat beoordelaars hun taken tijdig voltooien en dat het beoordelingsproces binnen de gestelde termijnen wordt afgerond. Dit kan worden gedaan door de voortgangsdashboards te monitoren die real-time inzicht geven in welke gebruikers nog moeten worden beoordeeld, welke beoordelingen zijn voltooid, en welke beoordelaars nog moeten reageren. Organisaties moeten processen implementeren voor het regelmatig uitvoeren van deze verificaties, waarbij wekelijks wordt gecontroleerd of beoordelingen tijdig worden voltooid en waarbij waarschuwingen worden gegenereerd wanneer vertragingen worden gedetecteerd.

Voor organisaties die automatische toepassing hebben geconfigureerd, is het essentieel om te monitoren of deze functionaliteit correct functioneert en of toegang daadwerkelijk wordt verwijderd wanneer dit wordt geweigerd. Dit omvat het controleren of geweigerde toegang daadwerkelijk is verwijderd, of er geen fouten zijn in het automatische toepassingsproces, en of de verwijdering binnen de verwachte tijdsframes plaatsvindt. Problemen met automatische toepassing kunnen leiden tot situaties waarin geweigerde toegang niet wordt verwijderd, wat kan resulteren in onnodige bevoorrechte toegang die blijft bestaan ondanks beoordelingsbeslissingen. Organisaties moeten processen implementeren voor het monitoren van de automatische toepassingsfunctionaliteit, waarbij dagelijks wordt gecontroleerd of verwijderingen correct worden uitgevoerd en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd.

Remediatie

Gebruik PowerShell-script access-reviews-configuration.ps1 (functie Invoke-Remediation) – Herstelt of configureert Access Reviews wanneer deze ontbreken of onjuist zijn geconfigureerd.

Remediatie van Access Reviews omvat het opzetten van nieuwe beoordelingen wanneer deze ontbreken, het corrigeren van configuratiefouten in bestaande beoordelingen, en het waarborgen dat alle toegangstypen worden beoordeeld volgens het vastgestelde schema. Het is belangrijk om te realiseren dat wanneer Access Reviews niet zijn geconfigureerd, organisaties niet beschikken over een gestructureerd proces om toegangsrechten periodiek te beoordelen, wat kan resulteren in opkruipen van bevoegdheden en niet-naleving van compliance-vereisten.

Wanneer Access Reviews ontbreken voor specifieke toegangstypen, kunnen nieuwe beoordelingen worden aangemaakt via de Microsoft Entra ID-portal door te navigeren naar Identity Governance, Access Reviews, en vervolgens Nieuwe beoordeling te selecteren. De configuratiewizard leidt gebruikers door het volledige opzetten van het beoordelingsproces, waarbij alle benodigde instellingen worden geconfigureerd, inclusief scope, beoordelaars, herhaling, automatische toepassing en herinneringsberichten. Na het voltooien van de configuratie wordt de beoordeling gestart en begint de actieve beoordelingsperiode.

Voor bestaande beoordelingen met configuratiefouten kunnen de instellingen worden bijgewerkt via de Microsoft Entra ID-portal door te navigeren naar de specifieke beoordeling en de instellingen te bewerken. Dit omvat het bijwerken van beoordelaars wanneer deze niet langer geschikt zijn, het aanpassen van de herhalingsfrequentie wanneer dit nodig is, en het corrigeren van automatische toepassingsinstellingen wanneer deze niet correct functioneren. Het is belangrijk om te verifiëren dat alle wijzigingen correct zijn toegepast en dat de beoordeling correct blijft functioneren na de wijzigingen.

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 Access Reviews Configuration .DESCRIPTION CIS Microsoft 365 Benchmark - Control 5.1.2 Controleert en configureert Access Reviews voor Azure AD-rollen, groepslidmaatschappen, applicatietoegang en gastgebruikerstoegang. .NOTES Filename: access-reviews-configuration.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 "Access Reviews 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 "AccessReview.ReadWrite.All") { Write-Host "Connecting to Microsoft Graph..." -ForegroundColor Gray Connect-MgGraph -Scopes "AccessReview.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 Access Reviews #> try { Connect-RequiredServices Write-Host "Checking Access Reviews configuration..." -ForegroundColor Gray # Haal alle Access Review definities op $accessReviewDefinitions = Get-MgIdentityGovernanceAccessReviewDefinition -ErrorAction Stop $result = @{ totalReviews = 0 activeReviews = 0 roleReviews = 0 groupReviews = 0 applicationReviews = 0 guestReviews = 0 compliant = $false } if ($accessReviewDefinitions) { $result.totalReviews = $accessReviewDefinitions.Count foreach ($review in $accessReviewDefinitions) { # Controleer of de review actief is $instances = Get-MgIdentityGovernanceAccessReviewDefinitionInstance -AccessReviewScheduleDefinitionId $review.Id -ErrorAction SilentlyContinue $activeInstance = $instances | Where-Object { $_.Status -eq "InProgress" } if ($activeInstance) { $result.activeReviews++ } # Categoriseer op basis van scope if ($review.Scope -and $review.Scope.Query -match "roleAssignment|directoryRole") { $result.roleReviews++ Write-Host " [OK] Role Review: $($review.DisplayName)" -ForegroundColor Green Write-Host " Status: $($activeInstance.Status)" -ForegroundColor Cyan Write-Host " Recurrence: $($review.Recurrence.Pattern.Type)" -ForegroundColor Cyan } elseif ($review.Scope -and $review.Scope.Query -match "group") { $result.groupReviews++ Write-Host " [OK] Group Review: $($review.DisplayName)" -ForegroundColor Green Write-Host " Status: $($activeInstance.Status)" -ForegroundColor Cyan Write-Host " Recurrence: $($review.Recurrence.Pattern.Type)" -ForegroundColor Cyan } elseif ($review.Scope -and $review.Scope.Query -match "application") { $result.applicationReviews++ Write-Host " [OK] Application Review: $($review.DisplayName)" -ForegroundColor Green Write-Host " Status: $($activeInstance.Status)" -ForegroundColor Cyan Write-Host " Recurrence: $($review.Recurrence.Pattern.Type)" -ForegroundColor Cyan } elseif ($review.Scope -and $review.Scope.Query -match "guest") { $result.guestReviews++ Write-Host " [OK] Guest Review: $($review.DisplayName)" -ForegroundColor Green Write-Host " Status: $($activeInstance.Status)" -ForegroundColor Cyan Write-Host " Recurrence: $($review.Recurrence.Pattern.Type)" -ForegroundColor Cyan } } } Write-Host "`n Summary:" -ForegroundColor Cyan Write-Host " Total Access Reviews: $($result.totalReviews)" -ForegroundColor White Write-Host " Active Reviews: $($result.activeReviews)" -ForegroundColor White Write-Host " Role Reviews: $($result.roleReviews)" -ForegroundColor White Write-Host " Group Reviews: $($result.groupReviews)" -ForegroundColor White Write-Host " Application Reviews: $($result.applicationReviews)" -ForegroundColor White Write-Host " Guest Reviews: $($result.guestReviews)" -ForegroundColor White # Bepaal compliance status if ($result.roleReviews -gt 0 -and $result.groupReviews -gt 0) { $result.compliant = $true Write-Host "`n [OK] COMPLIANT" -ForegroundColor Green Write-Host " Access Reviews zijn geconfigureerd voor kritieke toegangstypen" -ForegroundColor Cyan exit 0 } else { Write-Host "`n [WARNING] PARTIALLY COMPLIANT" -ForegroundColor Yellow Write-Host " Aanbevolen: Configureer Access Reviews voor alle toegangstypen" -ForegroundColor Yellow Write-Host " - Azure AD-rollen (driemaandelijks)" -ForegroundColor Gray Write-Host " - Groepslidmaatschappen (kwartaal)" -ForegroundColor Gray Write-Host " - Applicatietoegang (halfjaarlijks)" -ForegroundColor Gray Write-Host " - Gastgebruikerstoegang (driemaandelijks)" -ForegroundColor Gray exit 1 } } catch { Write-Host "`n [FAIL] ERROR: $_" -ForegroundColor Red Write-Host " Error Details: $($_.Exception.Message)" -ForegroundColor Red Write-Host "`n Note: Access Reviews vereisen Azure AD Premium P2 licenties" -ForegroundColor Yellow exit 2 } } function Invoke-Remediation { <# .SYNOPSIS Configureert Access Reviews wanneer deze ontbreken .DESCRIPTION Deze functie biedt richtlijnen voor het handmatig configureren van Access Reviews via de Microsoft Entra ID-portal, omdat geautomatiseerde configuratie complex is en specifieke zakelijke vereisten vereist. #> try { Connect-RequiredServices Write-Host "Access Reviews Configuration" -ForegroundColor Gray Write-Host "`n [INFO] Access Reviews 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 > Access Reviews" -ForegroundColor White Write-Host " 3. Klik op: Nieuwe beoordeling" -ForegroundColor White Write-Host "`n Aanbevolen configuraties:" -ForegroundColor Cyan Write-Host "`n Azure AD-rollen:" -ForegroundColor Yellow Write-Host " - Scope: Azure AD-rollen" -ForegroundColor Gray Write-Host " - Rollen: Alle bevoorrechte rollen" -ForegroundColor Gray Write-Host " - Beoordelaars: Managers + Beveiligingsteam" -ForegroundColor Gray Write-Host " - Herhaling: Driemaandelijks" -ForegroundColor Gray Write-Host " - Auto-toepassing: Verwijder bij weigering" -ForegroundColor Gray Write-Host "`n Groepslidmaatschappen:" -ForegroundColor Yellow Write-Host " - Scope: Groepen" -ForegroundColor Gray Write-Host " - Groepen: Beveiligingsgroepen + Microsoft 365-groepen" -ForegroundColor Gray Write-Host " - Beoordelaars: Groepeigenaren" -ForegroundColor Gray Write-Host " - Herhaling: Kwartaal" -ForegroundColor Gray Write-Host " - Auto-toepassing: Verwijder bij weigering" -ForegroundColor Gray Write-Host "`n Applicatietoegang:" -ForegroundColor Yellow Write-Host " - Scope: Applicaties" -ForegroundColor Gray Write-Host " - Applicaties: Alle zakelijke applicaties" -ForegroundColor Gray Write-Host " - Beoordelaars: Applicatie-eigenaren + Beveiligingsteam" -ForegroundColor Gray Write-Host " - Herhaling: Halfjaarlijks" -ForegroundColor Gray Write-Host " - Auto-toepassing: Verwijder bij weigering" -ForegroundColor Gray Write-Host "`n Gastgebruikerstoegang:" -ForegroundColor Yellow Write-Host " - Scope: Gastgebruikers" -ForegroundColor Gray Write-Host " - Beoordelaars: Zelfbeoordeling of Managers" -ForegroundColor Gray Write-Host " - Herhaling: Driemaandelijks" -ForegroundColor Gray Write-Host " - Auto-toepassing: Verwijder bij weigering of geen reactie" -ForegroundColor Gray Write-Host "`n [INFO] Na configuratie, voer -Monitoring uit om te verifiëren" -ForegroundColor Cyan 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 Access Reviews (NIET AANBEVOLEN!) #> try { Write-Host "⚠️ WARNING: Verwijderen van Access Reviews is een BEVEILIGINGSRISICO!" -ForegroundColor Red Write-Host "Dit voorkomt periodieke toegangsbeoordelingen en 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 Access Reviews moet handmatig via de portal" -ForegroundColor Yellow Write-Host "worden uitgevoerd na zorgvuldige overweging." -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 Access Reviews 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 " .\access-reviews-configuration.ps1 -Monitoring" -ForegroundColor White } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Hoog - Zonder periodieke toegangsbeoordelingen accumuleren gebruikers toegangsrechten zonder actieve verwijdering, wat leidt tot opkruipen van bevoegdheden, een groter aanvalsoppervlak en niet-naleving van compliance-vereisten zoals BIO 09.02, ISO 27001 A.5.18 en NIS2 Artikel 21.

Management Samenvatting

Configureer Access Reviews voor Azure AD-rollen (driemaandelijks), groepslidmaatschappen (kwartaal), applicatietoegang (halfjaarlijks) en gastgebruikerstoegang (driemaandelijks). Vereist Azure AD Premium P2. Implementatietijd: 12 uur.