Gjestene kom for et prosjekt i 2021. De er her fortsatt.
- Bjørnar Aassveen

- 1 day ago
- 4 min read
De fleste organisasjoner har dem. Gjestebrukere som ble invitert inn til et prosjekt, et samarbeid med en leverandør eller en workshop for tre år siden.
Problemet er sjelden at de kommer inn.
Problemet er at de aldri går igjen.
I Microsoft Entra ID er gjestebrukere en viktig del av samarbeid, men de representerer også en identitetsmengde som ofte får langt mindre oppfølging enn ordinære ansatte. Etter noen år ender mange virksomheter opp med hundrevis eller tusenvis av gjestekontoer hvor ingen egentlig vet om de fortsatt er aktive, nødvendige eller eid av noen.
Ja, Entra har gode mekanismer for livssyklusstyring:
Access Reviews
Entitlement Management
Automatisk utløp på tilganger
Prosesser for sponsor-godkjenning
Men før man begynner å automatisere fremtiden må man ofte rydde opp i fortiden.
Først: Få oversikt over hvem som faktisk bor i kjelleren
Det første steget er å forstå hva man faktisk har.
Jeg har derfor sammen med Github Copilot kokt sammen en liten snutt "Entra Guest Account Report", som genererer en rapport over alle gjestebrukere i Entra ID:
Scriptet bruker Microsoft Graph og henter ut alle brukere med userType = Guest.
Rapporten er laget med tanke på både tekniske ressurser og for å få et raskt overblikk over rikets tilstand:
Detaljert CSV-eksport
HTML-rapport med nøkkeltall
Filtrering og drilldown
Trafikklysbasert kategorisering av gjestekontoer
Beregning av aktivitets- og livssyklusindikatorer
Kategorisering for raskere overblikk
Et vanlig problem med gjestekontoer er at alt ser likt ut.
1000 gjester er bare 1000 rader i en liste.
Scriptet forsøker derfor å klassifisere kontoene i kategorier som gjør det enklere å prioritere:
Grønn🍏
Aktiv gjest
Nylig brukt
Ingen åpenbare tegn på at kontoen bør vurderes
Gul🟨
Begynnende tegn på at gjesten kanskje ikke lenger er relevant
Begrenset aktivitet eller nærmer seg terskler for inaktivitet
Rød 🍎
Høy sannsynlighet for at kontoen er utdatert
Lang tids inaktivitet eller andre indikatorer som tilsier opprydding
Grå 🩶
Mangler tilstrekkelig informasjon
Eksempelvis aldri tatt i bruk eller invitasjoner som fortsatt står ubehandlet
I tillegg ser rapporten på blant annet:
Når brukeren ble opprettet
Om kontoen er aktiv eller deaktivert
Om invitasjonen er akseptert
Siste kjente aktivitet
Alders- og aktivitetsintervaller
Resultatet er at man raskt kan identifisere:
"Døde" gjester
Glemte prosjektbrukere
Invitasjoner som aldri ble tatt i bruk
Gjester som burde inngå i en Access Review
Dette gjør det langt enklere å starte en opprydding på en kontrollert måte istedenfor å gå løs på hele bestanden med motorsag.

Neste steg: Deaktiver kontrollert, ikke slett blindt
Når rapporten er gjennomgått vil man ofte sitte igjen med en liste over gjester man ønsker å fjerne tilgang fra.
I mange virksomheter oppstår det plutselig behov for tilgang igjen:
Et gammelt prosjekt gjenoppstår
En leverandør trenger historikk
Noen oppdager at en ekstern samarbeidsflate fortsatt er i bruk
Derfor er det ofte tryggere å starte med deaktivering.
Jeg har laget et eget script for dette:
Scriptet tar inn en CSV-fil med gjestebrukere og gjør følgende:
Oppretter eller gjenbruker sikkerhetsgruppen:
Auto-Gjest-Disabled-DDMMYYYY
Verifiserer at brukeren faktisk er en gjestebruker.
Deaktiverer kontoen dersom den fortsatt er aktiv.
Legger brukeren inn i sikkerhetsgruppen.
Genererer en resultatrapport for hele operasjonen.
Hvorfor opprette en gruppe?
Dette er kanskje den viktigste delen av løsningen.
Ved å samle alle deaktiverte brukere i en dedikert sikkerhetsgruppe får man:
Sporbarhet
Revisjonsgrunnlag
Dokumentasjon av oppryddingen
Mulighet for enkel gjenfinning senere
Hvis noen kommer løpende seks dager senere og spør:
"Hva skjedde egentlig med konsulenten som jobbet på prosjekt X?"
kan man raskt finne igjen kontoen og forstå hva som ble gjort.
Det er betydelig mer komfortabelt enn å grave i gamle logger eller prøve å huske hvem som kjørte et script en fredag ettermiddag.
En tryggere operasjon
Scriptet støtter også -WhatIf, noe jeg anbefaler å bruke først.
Kjør rapport
Gjennomgå kandidater
Godkjenn liste
Kjør disable-script med -WhatIf
Verifiser resultatet
Kjør produksjonsjobben
Arkiver rapporten
Fra opprydding til governance
Det egentlige målet er naturligvis ikke å kjøre oppryddingsscript hvert år.
Målet er å etablere en livssyklus hvor gamle gjester håndteres automatisk, det er ikke alltid like hyggelige med gjester som blir over besøkelsestiden.
Når ryddingen er gjort kan man ta i bruk:
Access Reviews
Entitlement Management
Sponsor-bekreftelser
Tidsbegrensede tilganger
Automatisert lifecycle management
Men erfaringen min er at mange virksomheter aldri kommer dit fordi de sitter fast i en historisk gjeld av gamle identiteter.
Da er første steg ganske enkelt å finne ut hvem som faktisk fortsatt bor i kjelleren.
Gjestebrukere er en av de mest oversette identitetstypene i mange Entra-miljøer.
De har ofte tilgang til Teams, SharePoint, dokumenter og samarbeidsflater, men eies sjelden av noen etter at det opprinnelige behovet er borte.
Før man begynner med governance og livssyklusstyring bør man skaffe seg oversikt.
Kartlegg bestanden
Kategoriser risiko
Deaktiver kontrollert
Innfør governance etterpå
Teknologien for å løse problemet finnes allerede. Den største utfordringen er som regel å finne ut hvor mange gjester som egentlig aldri dro hjem.
Det er få ting som slår følelsen av å rydde. Enten det er garasjen, boden eller Entra ID. Når antallet ukjente gjestekontoer går ned og kontrollen går opp, da sover man litt bedre om natten. 💤 (For den som trenger det, hilsen en som kan sove overalt, når som helst🫡) Bjørnar&AI



Comments