Azure: Gastgebruikers-machtigingen Beperken Tot Minimum

💼 Management Samenvatting

Het beperken van machtigingen voor gastgebruikers in Microsoft Entra ID is geen cosmetische instelling maar een cruciaal beveiligingsanker voor elke organisatie die vertrouwelijke gegevens in de cloud onderbrengt. Wanneer externe consultants, leveranciers of ketenpartners zonder duidelijke afbakening toegang krijgen, verandert de tenant ongemerkt in een adressenboek vol bruikbare metadata over medewerkers, teams en bedrijfsapplicaties. Door het toegangsniveau standaard te verlagen naar de optie 'Most restrictive' maak je expliciet dat een uitnodiging voor samenwerking niet gelijkstaat aan rechten binnen de volledige directory. Deze maatregel beschermt projectdossiers, onderzoekstrajecten en beleidsconcepten tegen nieuwsgierige ogen, maar voorkomt ook dat kwaadwillenden de tenant gebruiken als startpunt voor phishingcampagnes of social-engineeringaanvallen die vertrekken vanuit authentieke gegevens. Het belang van deze beperking neemt alleen maar toe nu hybride werken en publiek-private samenwerkingen structureel zijn geworden binnen de Nederlandse overheid. Gastgebruikers komen tegenwoordig uit uiteenlopende domeinen: start-ups die innovatieve functionaliteit leveren, regionale samenwerkingsverbanden rondom veiligheidsregio's of Europese partners in subsidieprogramma's. Elk van deze partijen heeft een legitiem belang om een specifiek Team, dossier of dashboard te gebruiken, maar geen van hen heeft behoefte aan inzage in personeelslijsten, hierarchische relaties of applicatieregistraties. Door het meest strikte beleid te kiezen leg je vast dat zichtbaarheid een privilege is dat wordt verdiend, niet iets wat per ongeluk wordt meegeleverd met een gastaccount. Bovendien creeert deze instelling rust binnen het securityteam. Zonder aanvullende maatregelen moeten beheerders voortdurend uitleggen waarom externe gebruikers onverwacht contact opnemen met interne medewerkers, of waarom gevoelige teamnamen opduiken in screenshots van leveranciers. Met beperkte rechten verdwijnt die discussie: wat niet zichtbaar is, kan ook niet per ongeluk worden gedeeld. De instelling sluit naadloos aan op het principe van minimale rechten dat in de Baseline Informatiebeveiliging Overheid (BIO) centraal staat en vormt een tastbare invulling van artikel 32 van de AVG, dat vereist dat organisaties 'passende technische en organisatorische maatregelen' nemen. Tot slot geeft het afdwingen van strikte beperkingen een helder signaal af richting bestuurders en auditors. Het laat zien dat de organisatie controle heeft over externe samenwerking en dat het cloudlandschap niet drijft op impliciete aannames maar op gedocumenteerde keuzes. In audittrajecten van de Algemene Rekenkamer of bij sectorale toezichthouders zoals de Autoriteit Persoonsgegevens kun je aantonen dat directory-inzage systematisch is begrensd en dat uitzonderingen bewust worden afgehandeld. Daarmee positioneer je Microsoft Entra ID als een gecontroleerd samenwerkingsplatform waarin vertrouwen en transparantie hand in hand gaan, zonder dat dit ten koste gaat van wendbaarheid of innovatie. Door in projectopdrachten expliciet te melden dat gastrechten bewust zijn begrensd, schep je bovendien duidelijke verwachtingen bij leveranciers en partners. Zij weten dat aanvullende zichtbaarheid altijd via een changeproces moet worden aangevraagd en krijgen direct inzicht in de redenatie achter een eventuele weigering. Dat voorkomt irritatie, versnelt besluitvorming in crisissituaties en zorgt ervoor dat de organisatie zelfs bij een snelle opschaling, bijvoorbeeld een landelijke vaccinatiecampagne of een acute energiestoring, de regie houdt over wie welke informatie ziet. Het streng configureren van gastmachtigingen is daarmee niet slechts een technisch vinkje, maar een governance-keuze die de betrouwbaarheid van de gehele Nederlandse Baseline voor Veilige Cloud ondersteunt.

Aanbeveling
Stel Microsoft Entra ID zo in dat gastgebruikers uitsluitend hun eigen profiel en expliciet gedeelde resources kunnen zien en borg deze instelling via beleid, monitoring en documentatie binnen de Nederlandse Baseline voor Veilige Cloud.
Risico zonder
Medium
Risk Score
6/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
Azure

Standaardmachtigingen voor gastgebruikers lijken onschuldig omdat ze vooral lezen in plaats van schrijven, maar in de praktijk vormen ze een breed aanvalsoppervlak dat zeer aantrekkelijk is voor dreigingsactoren. Zodra een externe gebruiker automatisch de volledige lijst met gebruikers, Microsoft 365-groepen en applicatieregistraties kan zien, ontstaat een perfecte telefoonlijst die aanvallers kunnen gebruiken om geloofwaardige spearphishing te versturen. Ze weten precies wie welk team aanstuurt, welke projectmailboxen bestaan en welke functietitels bij gevoelige afdelingen horen. In combinatie met openbare bronnen zoals LinkedIn levert dat voldoende context op om malwarecampagnes gericht op beleidsmedewerkers, ICT-beheerders of bestuurders op te zetten. Het risico beperkt zich niet tot phishing: inzicht in applicatieregistraties toont ook welke legacy-interfaces of single-tenant-apps nog actief zijn, waardoor brute-force-aanvallen direct kunnen worden gericht op kwetsbare eindpunten. Daarnaast ondermijnt een te ruim gastbeleid de naleving van privacywetgeving en de Nederlandse Baseline voor Veilige Cloud. De AVG schrijft voor dat persoonsgegevens niet breder mogen worden gedeeld dan strikt noodzakelijk voor het doel van verwerking. Een gastgebruiker die in kaart kan brengen wie in de organisatie werkt, welke functie zij vervullen en in welke teams zij samenwerken, krijgt feitelijk toegang tot een personeelsadministratie zonder privacyverklaring of toestemming. Ook artikel 9.2.3 van ISO 27001 en de corresponderende BIO-maatregelen benadrukken dat externe accounts alleen tot noodzakelijke bronnen mogen worden beperkt. Wanneer auditteams constateren dat een gast duizenden directory-objecten kan doorbladeren, wordt direct geconcludeerd dat het principe van minimale rechten onvoldoende is toegepast. Dat leidt niet alleen tot aanwijzingen van toezichthouders, maar kan ook aanbestedingen of samenwerkingen met buitenlandse overheden frustreren omdat het vertrouwen in de beveiliging afneemt. Het operationele risico is minstens zo groot. Zodra een gast kan zien welke SharePoint-sites, Teams en Power Platform-omgevingen bestaan, kan hij of zij gericht toegang aanvragen of social engineering inzetten bij site-eigenaren. Veel functioneel beheerders zijn geneigd om verzoeken van vertrouwde partners te honoreren, zeker als de aanvrager kan verwijzen naar concrete groepsnamen of interne projectcodes. Zo ontstaat sluipend privilege creep waarbij externe partijen na verloop van tijd steeds meer gevoelige dossiers kunnen openen zonder dat iemand het geheel overziet. In crisissituaties, bijvoorbeeld tijdens een cybersecurity-incident of een nationale ramp, hebben kwaadwillenden dan al een kaart van kritieke overlegstructuren, waardoor coordinatie kan worden verstoord. Ook financieel en reputatietechnisch is de schade aanzienlijk wanneer gastgebruikers te veel zien. Een enkel gelekt screenshot van de volledige directory kan aantonen welke afdelingen aan vertrouwelijke onderzoeksprogramma's werken of welke leveranciers betrokken zijn bij defensieprojecten. Zulke informatie is goud waard voor concurrenten of statelijke actoren. Bovendien leidt het tot wantrouwen bij burgers wanneer blijkt dat externe partners vrij konden grasduinen door personeelsgegevens. De media-aandacht rondom AVG-incidenten maakt duidelijk dat publieke organisaties zich geen tweede kans kunnen permitteren; transparantie achteraf weegt nooit op tegen preventieve technische maatregelen vooraf. Daarom is het noodzakelijk om het gastbeleid structureel te verankeren in governanceprocessen. Door standaard 'Most restrictive' af te dwingen, leg je een harde grens vast en dwing je af dat elke uitbreiding van zichtbaarheid expliciet wordt gedocumenteerd via change- en risicoprocedures. De maatregel fungeert als vangrail die voorkomt dat tijdelijke uitzonderingen permanent blijven bestaan. Het beperkt bovendien de hoeveelheid forensisch onderzoek na een incident, omdat meteen kan worden uitgesloten dat externe accounts toegang hadden tot de rest van de directory. Samengevat: zonder restricties ontstaan er gelijktijdig privacyrisico's, compliance-issues, operationele verstoringen en reputatieschade. Met restricties blijven gastaccounts uitsluitend gericht op het doel waarvoor zij zijn uitgenodigd en blijft de regie stevig bij de organisatie liggen.

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

Implementatie

Deze maatregel draait om het herconfigureren van de external collaboration settings zodat Microsoft Entra ID gastgebruikers slechts minimale zichtbaarheid biedt. Start met het verzamelen van actuele beleidskaders: welke typen samenwerkingen zijn actief, welke partners krijgen standaard toegang en welke uitzonderingen bestaan er al? Documenteer per scenario waarom een gast inzage nodig heeft en vertaal dat naar concrete groepen of applicaties. Vervolgens meld je je aan bij de Azure Portal met een account dat de rol Global Administrator of External Identity Administrator heeft en navigeer je naar Entra ID, External Identities en vervolgens External collaboration settings. In de sectie Guest user access kies je uitdrukkelijk voor de optie 'Guest users have limited access to properties and memberships of directory objects', die in de interface wordt aangeduid als de meest restrictieve variant. Sla de configuratie op en noteer in het configuration management database-item dat deze instelling organisatiebreed is geactiveerd, inclusief datum, verantwoordelijke en verwijzing naar dit artikel uit de Nederlandse Baseline voor Veilige Cloud. Na het aanpassen van de instelling voer je een gecontroleerde verificatie uit. Maak een representatief gastaccount aan of gebruik een bestaand testaccount dat zich in een veilige tenant bevindt. Nodig dit account uit voor een specifiek Team of een SharePoint-site die voor externe samenwerking is bedoeld. Laat het testaccount inloggen via portal.azure.com en Graph Explorer, en controleer systematisch welke objecten zichtbaar zijn. De gast mag uitsluitend het eigen profiel zien, de groepen waarin hij of zij lid is en de ledenlijst van die groepen. Gebruik PowerShell, Microsoft Graph Explorer en de Teams-client om de ervaring na te bootsen die echte gasten hebben. Documenteer screeningsresultaten met screenshots en voeg deze als bewijs toe aan het auditdossier zodat controleurs kunnen verifieren dat de configuratie correct werkt. Communicatie is essentieel om deze wijziging te laten landen. Informeer productteams en projectleiders dat directory-inzage voor gasten nu standaard is geblokkeerd. Leg uit hoe zij extra zichtbaarheid kunnen aanvragen via het bestaande changeproces en benadruk dat uitzonderingen altijd tijdelijk, gedocumenteerd en beoordeeld moeten zijn door security en privacy officers. Werk eventuele samenwerkingsrichtlijnen, onboarding-checklists of leverancierscontracten bij zodat daarin expliciet staat dat gasten alleen toegang krijgen tot de resources waarvoor zij zijn uitgenodigd. Voeg deze maatregel ook toe aan de opleidingsmaterialen voor tenantbeheerders en servicedeskmedewerkers, zodat verzoeken van externe partijen consequent worden beoordeeld op noodzakelijkheid. Tot slot borg je de verandering door monitoring en periodieke controles. Automatiseer een maandelijkse check met Microsoft Graph of het script in dit artikel om te bevestigen dat de instelling onveranderd op 'Most restrictive' staat. Koppel de uitkomst aan het risicodashboard van de CISO-organisatie en definieer een escalatiepad wanneer iemand de instelling wijzigt. In incident response-plannen benoem je expliciet dat gastaccounts standaard geen directory kunnen enumereren, zodat onderzoeksteams weten dat ze een afwijking moeten signaleren als dat wel gebeurt. Door deze operationele borging sluit het technische ontwerp volledig aan op governance-, risico- en complianceprocessen en blijft de organisatie aantoonbaar in controle over externe identiteiten. Neem ten slotte de tijd om lessons learned vast te leggen na de eerste implementatie. Beschrijf welke teams direct voordeel merkten, welke aanvullende controles nodig bleken en welke communicatiekanalen het beste werkten om projectleiders te bereiken. Deze feedbackloop zorgt ervoor dat de instelling niet wordt gezien als een blokkade, maar als een noodzakelijke kwaliteitsstap binnen het bredere cloudadoptieprogramma.

Vereisten

Een zorgvuldige implementatie vraagt om randvoorwaarden die verder gaan dan enkel het juiste portaal openen of een script uitvoeren. Begin met een formeel vastgesteld samenwerkingsbeleid waarin staat welke categorieen externe partijen toegang kunnen krijgen, wie de interne eigenaren zijn van datasets en wie toestemming geeft voor uitzonderingen. Leg daarin vast hoe informatieklassificaties worden gekoppeld aan Microsoft 365-groepen, welke data minimaal op niveau 'Intern' blijven en welk proces geldt voor gegevens met het label 'Departementaal Vertrouwelijk'. Minimaal twee beheerders hebben de rol Global Administrator, Security Administrator of External Identity Administrator zodat altijd een vervanger beschikbaar is tijdens vakantie, ziekte of crisisrespons. Op hun beheerwerkplekken staan de modules Microsoft.Graph, Microsoft.Graph.Beta en AzureAD.Standard.Preview klaar, inclusief moderne authenticatie en Just-In-Time-toegang via Privileged Identity Management.

Daarnaast moet het changeproces duidelijk beschrijven wie een wijziging initieert, welke bewijsstukken nodig zijn en hoe de CISO-organisatie de risicoanalyse bekrachtigt. Elke aanvraag tot verruiming van gastrechten bevat een Business Impact Assessment, een verwijzing naar het register van verwerkingsactiviteiten en een bevestiging van de Functionaris Gegevensbescherming dat er geen ongeoorloofd delen van persoonsgegevens plaatsvindt. Servicedeskmedewerkers zijn getraind om standaard te antwoorden dat gastaccounts geen toegang krijgen tot de directory en verwijzen verzoekers naar het formele proces. Er is een actueel overzicht beschikbaar van alle samenwerkingsomgevingen waarin gasten actief zijn, plus de eigenaar die verantwoordelijk is voor het verwijderen van overbodige accounts. Tot slot bestaat er een periodieke rapportage richting bestuur waarin aantallen gastaccounts, hun levensduur en de status van de instelling 'Most restrictive' zichtbaar zijn. Deze combinatie van beleid, rollen, tooling en rapportage vormt de noodzakelijke voedingsbodem om de configuratie duurzaam te laten functioneren binnen de Nederlandse Baseline voor Veilige Cloud.

Vervolgens zijn technische randvoorwaarden nodig om de configuratie betrouwbaar uit te voeren. De tenant draait minimaal op Microsoft Entra ID P1 zodat Conditional Access en rapportages beschikbaar zijn. Logging naar Microsoft Sentinel of een ander SIEM-platform is ingericht, inclusief diagnostische instellingen voor External Identities. Er bestaat een netwerkpad naar management-endpoints zodat scripts vanuit het segment 'beheerwerkplek' verbinding kunnen maken zonder dat er openstaande VPN's of persoonlijke apparaten nodig zijn. Back-up en version control voor scripts in de map deployment en code/azure zijn geregeld via GitHub of Azure DevOps, zodat wijzigingen aantoonbaar kunnen worden gevolgd. Beheerders beschikken over een dedicated testtenant of sandbox waarin de maatregel eerst wordt gevalideerd voordat productie wordt aangepast. Ook is er een lijst met contactpersonen van ketenpartners, zodat zij tijdig kunnen worden geinformeerd over de wijziging in zichtbaarheid.

Tot slot is cultuur een randvoorwaarde: leidinggevenden ondersteunen het principe van minimale rechten en accepteren dat uitzonderingen inspanning kosten. Zonder die steun kan een technisch team deze maatregel niet handhaven. Daarom hoort een besluit van het CIO-beraad of het informatiebeveiligingsberaad bij de documentatie, inclusief verwijzing naar de risicoanalyse. Neem de maatregel op in onboardingprogramma's voor nieuwe projectleiders en contractmanagers zodat zij begrijpen waarom gastrechten standaard beperkt zijn. Alleen wanneer beleid, techniek, processen en cultuur op elkaar aansluiten, levert de instelling 'Most restrictive' de beoogde bescherming op.

Als aanvullende borging is een jaarplanning nodig voor interne audits en pentests die specifiek kijken naar externe identiteiten. Plan ten minste eenmaal per jaar een control waarbij een ethisch hacker of red team probeert directory-informatie te achterhalen via gastaccounts. Documenteer bevindingen en verbeteracties, en koppel deze aan de roadmap van het identity-team. Deze terugkerende toetsing zorgt ervoor dat randvoorwaarden actueel blijven, zelfs wanneer nieuwe werkvormen of platforms worden ingevoerd.

Monitoring

Gebruik PowerShell-script guest-access-restricted.ps1 (functie Invoke-Monitoring) – Voer het script uit vanaf een beheerde werkplek of Azure Automation-account zodat de external collaboration settings meerdere keren per dag worden vergeleken met het gewenste profiel en afwijkingen automatisch worden gelogd in het SOC-platform..

Monitoring draait om het continu aantonen dat de instelling 'Most restrictive' actief blijft en dat geen enkele beheerder deze per ongeluk of bewust terugdraait. Start met het script 'guest-access-restricted.ps1' uit de map code/azure/identity-access en koppel dit via een geautomatiseerde taak aan een beveiligde beheerwerkplek of Azure Automation-account. Het script leest de external collaboration settings uit via Microsoft Graph, registreert de status in een logbestand en stuurt een melding naar het SOC-dashboard zodra de instelling afwijkt van het verwachte profiel. Voeg extra controles toe die nagaan of er in de afgelopen 24 uur wijzigingen zijn aangebracht in de rollen Global Administrator en External Identity Administrator; een wijziging in rollen gevolgd door een wijziging in gastbeleid is een indicator voor mogelijk misbruik. Combineer de technische metingen met user experience-tests: laat maandelijks een gastaccount een reeks Graph-query's uitvoeren en log de foutcodes die terugkomen wanneer het account probeert de directory te enumereren. Rapporteer de resultaten aan het informatiebeveiligingsberaad zodat zij kunnen beoordelen of er trendmatig afwijkingen optreden. Documenteer tenslotte ieder incident, zelfs als het vals alarm blijkt te zijn, zodat auditors kunnen zien dat de controlemiddelen actief worden beheerd. Breid de monitoring uit met Azure Monitor-workbooks waarin je de geschiedenis van configuratiewijzigingen visualiseert. Gebruik de auditlogs van Entra ID om te tonen wie de instelling heeft aangepast, vanuit welke bron-IP dat is gebeurd en of er vooraf een Privileged Identity Management-activatie plaatsvond. Stel een alert in die direct een ticket aanmaakt in het ITSM-systeem zodra iemand het gastniveau wijzigt. Koppel dit ticket aan een runbook waarin staat dat de wijziging binnen twee uur moet worden gevalideerd en zo nodig moet worden teruggedraaid. Wanneer afwijkingen vaker voorkomen, analyseer je of er sprake is van onduidelijke processen of onvoldoende training. Monitoring gaat ook over beleving: interview projectleiders en gastgebruikers elk kwartaal om te controleren of de maatregel niet leidt tot onnodige vertraging. Neem hun feedback op in een continue verbetercyclus. Als meerdere teams aangeven dat zij inzicht nodig hebben in specifieke groepen, onderzoek dan of er vervangende functionaliteit bestaat, zoals een gecontroleerde adressenlijst in SharePoint die wel is toegestaan. Zo houd je grip op shadow IT en voorkom je dat mensen alsnog lijstjes exporteren uit oude systemen. Vergeet tot slot niet om compliance-eisen mee te nemen. Documenteer in het auditdossier welke meetpunten worden bewaakt, hoe lang logbestanden worden bewaard (minimaal zeven jaar voor rijksorganisaties) en hoe de betrouwbaarheid van de scripts wordt gecontroleerd. Laat minimaal eenmaal per jaar een onafhankelijk team het monitoringsscript reviewen en uitvoeren in een kale beheerimage, zodat duidelijk is dat er geen verborgen afhankelijkheden zijn. Op die manier blijft monitoring een aantoonbaar effectief onderdeel van de Nederlandse Baseline voor Veilige Cloud. Voeg aan dit geheel een maturity-meting toe. Hanteer bijvoorbeeld de BIO-volwassenheidsschaal om te beoordelen of monitoring zich op het niveau 'Ingebed' bevindt. Scoor jezelf op criteria zoals volledigheid van logging, reactietijd op alerts en mate van automatisering. De uitkomsten vormen input voor het directieverslag informatiebeveiliging en laten zien dat de organisatie niet alleen reageert op problemen, maar actief werkt aan voorspelbare beheersing.

Implementatie

Gebruik PowerShell-script guest-access-restricted.ps1 (functie Invoke-Implementation) – Automatiseren via script.

  1. Doorloop in de Azure Portal stap voor stap het pad Entra ID > External Identities en open de configuratiepagina waar de gasttoegangsinstellingen staan. Neem vooraf het change-nummer, het doel van de wijziging en het expliciete akkoord van de verantwoordelijke informatie-eigenaar op zodat iedere actie herleidbaar blijft in auditrapportages. Controleer welke baselinedocumenten van toepassing zijn, waaronder dit artikel, de BIO-maatregelen en de interne beleidsnotitie over externe samenwerking. Leg in het changeformulier vast dat deze configuratie onderdeel is van de Nederlandse Baseline voor Veilige Cloud en dat afwijkingen alleen via het CAB mogen worden goedgekeurd. Lees de huidige instellingen uit, exporteer een screenshot en sla deze op in het bewijsdossier als nulmeting voordat je iets wijzigt. Documenteer ook de versienummers van gebruikte scripts, de identiteit van de beheerwerkplek en de gebruikte authenticatiemethode om forensische reconstructie mogelijk te maken. Sluit de stap af met een korte risico-inschatting zodat reviewers direct zien welke impact de wijziging heeft.
  2. Kies vervolgens bij Guest user access expliciet voor de optie waarin gastgebruikers beperkte toegang hebben tot eigenschappen en memberships van directory-objecten. Beschrijf in het changeformulier waarom deze instelling past binnen het principe van minimale rechten, welke risicoanalyse hieraan vooraf is gegaan en hoe eventuele uitzonderingen worden afgehandeld. Controleer in dezelfde sessie of gerelateerde instellingen zoals Collaboration restrictions, Cross-tenant access settings en Guest invite settings in lijn zijn met het beoogde beleid en noteer eventuele afhankelijkheden. Gebruik daarna een testgastaccount om direct te verifieren dat de wijziging effect heeft, voer Microsoft Graph-query's uit om te bevestigen dat alleen de toegewezen groepen zichtbaar zijn, controleer de Teams-client, probeer SharePoint-sitecollecties te openen en maak screenshots van de foutmeldingen die verschijnen wanneer het account toch probeert de directory te enumereren. Log deze bevindingen in het testdossier, laat een collega-beheerder de resultaten peer-reviewen, voeg het goedkeuringscommentaar toe aan het change-record, bespreek de bevindingen tijdens het operationeel overleg en werk waar nodig trainingsmateriaal bij.
  3. Bevestig ten slotte dat de wijziging is opgeslagen door op Save te klikken, de succesvolle auditlog te controleren en een periodieke export van deze log te plannen naar het centrale SIEM zodat afwijkingen automatisch alerting veroorzaken. Noteer in het configuratieregister wie de actie heeft uitgevoerd, welk tijdstip gold, welke scripts of portalen zijn gebruikt en welke bewijslast is verzameld, inclusief ticketnummers en verwijzingen naar de repository waarin de scripts zijn beheerd. Koppel de wijziging aan het incident- en probleembeheerproces zodat afwijkingen snel kunnen worden onderzocht, stel meldingen in die het SOC waarschuwen zodra iemand de instelling wijzigt en definieer een rollback-procedure voor het geval de wijziging ongewenste impact heeft. Informeer de servicedesk, het security operations center en de betrokken productteams dat de instelling is aangescherpt, licht toe welke signalen op afwijking moeten worden gemeld en geef aan hoe gasten extra toegang kunnen aanvragen via het formele proces. Rond af door de change te evalueren tijdens de eerstvolgende retrospective van het identity-team zodat verbeterpunten direct kunnen worden opgenomen en de documentatie in de deployment-map kan worden bijgewerkt. Leg afsluitend vast welke lessen zijn geleerd en koppel deze terug aan het bestuur.

Compliance en Auditing

  1. CIS Control 1.5 verplicht organisaties om gasttoegang te beperken tot het kleinste mogelijke oppervlak. In het compliance-dossier beschrijf je hoe het gastbeleid directory-enumeratie blokkeert, hoe het monitoringsscript elke nacht de instelling controleert en hoe afwijkingen binnen 24 uur worden geanalyseerd en teruggedraaid. Voeg een stappenplan toe waarin staat dat de control owner na iedere wijziging een ticket aanmaakt, een forensische notitie schrijft en de status deelt met het informatiebeveiligingsberaad. Leg de koppeling met de actuele CIS Azure Benchmark vast, inclusief versienummer, publicatiedatum en verwijzing naar het acceptatiebesluit binnen de Nederlandse Baseline voor Veilige Cloud. Documenteer ook welke metriek elke maand wordt gemeten (aantal actieve gastaccounts, aantal afwijkingen, gemiddelde oplostijd) en hoe die cijfers worden opgenomen in het risicoregister. Licht ten slotte toe hoe lessons learned worden opgevolgd, hoe de control wordt getest tijdens interne audits en welke evidence beschikbaar is voor een externe assessor zodat helder is dat het proces structureel volwassen is. Beschrijf hoe de control samenhangt met andere CIS-eisen, zoals identity monitoring en privileged access management, zodat een auditor de volledige keten kan volgen. Sluit af met een verwijzing naar de plek in het SIEM-dashboard waar realtime resultaten zichtbaar zijn.
  2. BIO-maatregel 09.01 verlangt dat rechten alleen worden toegekend wanneer ze aantoonbaar nodig zijn. Licht in de documentatie toe dat iedere gastuitnodiging wordt gekoppeld aan een informatie-eigenaar, dat het autorisatieregister automatisch bijwerkt zodra iemand een resource verlaat en dat het beleid expliciet beschrijft binnen welke termijn ongebruikte accounts worden verwijderd. Leg uit hoe het securityteam elk kwartaal steekproeven uitvoert waarbij zij controleren of gastaccounts inderdaad alleen toegang hebben tot hun projectteams en hoe bevindingen worden besproken in het lijnmanagementoverleg. Beschrijf de KPI's die worden gevolgd, zoals 'percentage gasten met eigenaar' en 'doorlooptijd verwijdering', en hoe deze KPI's richting bestuur worden gerapporteerd. Benoem bovendien dat de control onderdeel is van de BIO-volwassenheidsmeting, dat de Functionaris Gegevensbescherming meekijkt bij uitzonderingen en dat verbeteracties worden vastgelegd in het roadmapdocument voor de Nederlandse Baseline voor Veilige Cloud. Geef inzicht in de escalatieprocedure wanneer KPI's rood kleuren, hoe lessons learned worden vertaald naar aanvullende maatregelen zoals training of tooling en op welke manier resultaten worden gedeeld met ketenpartners die ook toegang tot de tenant hebben.
  3. ISO 27001 controle A.9.1.2 verlangt dat toegang tot netwerkdiensten wordt beperkt tot geautoriseerde gebruikers. Beschrijf hoe de instelling 'Most restrictive' ervoor zorgt dat Microsoft Entra ID slechts de noodzakelijke informatie ontsluit voor gastaccounts en hoe dit wordt onderbouwd met logbestanden, testresultaten en managementrapportages. Koppel de maatregel aan het Statement of Applicability, leg uit welke bewijsstukken beschikbaar zijn voor externe auditors, beschrijf welke retentie-eisen gelden, hoe de control is gekoppeld aan het privacy impact assessment en hoe afwijkingen worden gevolgd via corrigerende maatregelen. Benoem welke teams verantwoordelijk zijn voor het onderhouden van de documentatie, hoe vaak de effectiviteitstoets wordt uitgevoerd en welke escalaties gelden wanneer de control niet werkt. Werk uit hoe de control aansluit op verbetercyclus Plan-Do-Check-Act, hoe uitkomsten worden gedeeld met leveranciers die namens de organisatie beheer uitvoeren en hoe herstelacties worden vastgelegd in het register van corrigerende maatregelen.

Remediatie

Gebruik PowerShell-script guest-access-restricted.ps1 (functie Invoke-Remediation) – Het PowerShell-script guest-access-restricted.ps1 wordt ingezet zodra monitoring aangeeft dat de gastinstelling niet langer op 'Most restrictive' staat of wanneer een auditor eist dat de configuratie onmiddellijk wordt hersteld. Start met het uitvoeren van het script vanaf een beheerde werkplek waarop de Microsoft.Graph-module up-to-date aanwezig is en waarop multi-factor-authenticatie verplicht is. Het script maakt een verbouwing van de instelling inzichtelijk door eerst de huidige configuratie uit te lezen, deze te loggen in een forensisch bestand en vervolgens de gewenste instelling te schrijven via de Graph-API. De operator kiest het change-nummer waarmee de actie wordt verbonden en geeft aan welke tenant, welk scenario en welke verantwoordelijke informatie-eigenaar betrokken zijn. Hierdoor is elke remediering herleidbaar en voldoet de organisatie aan de eisen van de Nederlandse Baseline voor Veilige Cloud. Vooraf voert de operator een dry-run uit, zodat duidelijk wordt welke waarden zullen worden aangepast. Pas wanneer de preview geen fouten oplevert, wordt de daadwerkelijke write-actie uitgevoerd. Het script controleert na afloop automatisch of de wijziging correct is verwerkt door dezelfde API-call nogmaals uit te voeren en het resultaat te vergelijken met het gewenste profiel. Wanneer de status nog niet overeenkomt, wordt er een foutmelding gelogd en wordt de operator gevraagd om contact op te nemen met het SOC zodat zij kunnen beoordelen of er sprake is van een gelijktijdige wijziging door een andere beheerder. Na een succesvolle remediering genereert het script een kort rapport waarin de oude waarde, de nieuwe waarde, het tijdstip en de accountnaam zijn opgenomen. Dit rapport wordt opgeslagen in de map deployment/evidence zodat auditors het later kunnen terugvinden. Het script kan optioneel een notificatie sturen naar Microsoft Teams of e-mail zodat het change- en incidentteam direct wordt geinformeerd. Wanneer de wijziging onderdeel is van een breder incident, kan het rapport worden toegevoegd aan het post-incidentreviewdocument zodat duidelijk is welke technische maatregelen zijn genomen. Omdat gasttoegang direct impact heeft op samenwerking met externe partijen, bevat het script ook een communicatiestap. Na bevestiging dat de instelling weer op 'Most restrictive' staat, toont het script een overzicht met aanbevolen berichten voor projectleiders, servicedesk en leveranciers zodat zij weten dat inzage weer is beperkt. Hierdoor voorkom je dat samenwerkingspartners denken dat er functionaliteit is weggevallen zonder aankondiging. Tot slot logt het script hoeveel tijd er zat tussen detectie en herstel, zodat je de mean time to remediate kunt rapporteren als KPI richting bestuurders en toezichthouders. Om herhaling te voorkomen bevat het script een evaluatiemodule: de operator geeft de oorzaak van de afwijking op (bijvoorbeeld foutieve change, testactiviteit of kwaadwillende actie) en koppelt die oorzaak automatisch aan het risicoregister. Wanneer dezelfde oorzaak vaker terugkomt, genereert het script een advies om aanvullende maatregelen te nemen, zoals strengere PIM-goedkeuring of extra training. Bij iedere run worden de gebruikte PowerShell-versies en moduleversies vastgelegd zodat later kan worden aangetoond dat de tooling up-to-date was. Het script biedt ook een rollback-functie. Als blijkt dat de wijziging onbedoelde impact heeft, kan de operator met een enkele parameter de vorige configuratie terugzetten terwijl tegelijkertijd een ticket wordt aangemaakt voor nadere analyse. Hierdoor blijft de beschikbaarheid van cruciale samenwerkingsomgevingen gewaarborgd. Tenslotte wordt een checksum van de scriptversie vergeleken met de broncode in de repository, zodat zeker is dat er niet met een onbeheerde kopie wordt gewerkt. Op deze manier is remediatie niet alleen een technische handeling, maar een volledig gecontroleerd proces dat governance, communicatie en bewijsvoering combineert..

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 Guest Access Restricted .DESCRIPTION CIS Azure Foundations Benchmark - Control 1.20 Controleert of guest access restrictief is geconfigureerd. .NOTES Filename: guest-access-restricted.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 1.20 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "Guest Access Restricted" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer in Entra ID portal:" -ForegroundColor Gray Write-Host " - External Identities > External collaboration settings" -ForegroundColor Gray Write-Host " - Guest user access = Most restrictive" -ForegroundColor Gray Write-Host " - Guests kunnen geen andere guests uitnodigen" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Guest access restrictions" -ForegroundColor Yellow } } catch { Write-Error $_; exit 1 } # ================================================================================ # Standaard Invoke-* Functions (Auto-generated) # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer in Entra ID portal:" -ForegroundColor Gray Write-Host " - External Identities > External collaboration settings" -ForegroundColor Gray Write-Host " - Guest user access = Most restrictive" -ForegroundColor Gray Write-Host " - Guests kunnen geen andere guests uitnodigen" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Guest access restrictions" -ForegroundColor Yellow } } catch { Write-Error $_; exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
Medium: Zonder restricties kunnen externe accounts de volledige directory en applicatieregistraties inventariseren, waarmee spearphishing, social engineering en privacy-incidenten ontstaan en naleving van CIS 1.5, BIO 09.01 en ISO 27001 A.9.1.2 direct in gevaar komt.

Management Samenvatting

Gasttoegang: kies 'Most restrictive', valideer dit maandelijks met het script guest-access-restricted.ps1 en documenteer de resultaten voor auditdoeleinden zodat directory-enumeratie door externe partijen structureel wordt voorkomen.