Teknisk gennemgang
Sådan scanner SimpleEntra
jeres tenant.
Ingen magi, ingen black box. Her er præcis, hvad der sker fra det øjeblik I godkender admin-samtykket, til fund vises på jeres skærm.
Samtykkemodellen
SimpleEntra er registreret som et multi-tenant-program i sin egen Entra ID-tenant. Når jeres administrator klikker på admin-consent-linket, opretter Microsoft en service principal i jeres tenant — ét objekt, read-only-tilladelser.
Service principalen er det eneste vi har “inde i” jeres tenant. I kan til enhver tid inspicere den under Entra → Enterprise applications → SimpleEntra. I kan deaktivere eller slette den når som helst. Sletning er øjeblikkelig og permanent — vores næste Graph-kald returnerer 401 Unauthorized.
Vi bruger application permissions (app-only), ikke delegerede tilladelser. Det betyder, at SimpleEntra logger ind som sig selv — det kan ikke udgive sig for at være en bruger, handle på en brugers vegne eller tilgå noget, der kræver et brugertoken (mail, filer, Teams-beskeder).
| Organization.Read.All | Tenant-navn og domæner |
| User.Read.All | Brugerliste: navn, UPN, seneste login, licens |
| Group.Read.All | Grupper (til CA-politikmedlemskabsopløsning) |
| Directory.Read.All | Antal brugere, grupper og roller |
| RoleManagement.Read.Directory | Katalogroller (Global Admin osv.) |
| Policy.Read.All | Conditional Access, auth-metoder, identity protection |
| IdentityRiskyUser.Read.All | Brugere markeret som risikable |
| Application.Read.All | App-registreringer, service principals, OAuth-rettigheder |
| Device.Read.All | Entra-registrerede enheder |
| DeviceManagementManagedDevices.Read.All | Intune-administrerede enheder |
| AuditLog.Read.All | Login-logfiler (seneste 30 dage) |
| Reports.Read.All | MFA- og autentificeringsmetode-rapporter |
Hurtig scanning (60 sekunder)
Umiddelbart efter samtykket kører den hurtige scanning synkront i browseranmodningen. Den foretager 6 målrettede Microsoft Graph-kald og returnerer:
- MFA-dækningHvor mange % af jeres brugere har fuldført MFA-registrering. Separat: admins vs. almindelige brugere.
- Ældre autentificeringEr legacy-auth (Basic, SMTP AUTH) blokeret på tenant-niveau? Er der Conditional Access-politikker der lukker hullet?
- Global Admin-antalHvor mange konti har Global Administrator-rollen. Benchmark: maks. 2.
- Udløbende applikationshemmelighederApp-registreringer med hemmeligheder der udløber inden for 30 eller 90 dage.
- Enhedsstatus% af Intune-administrerede enheder i en compliant tilstand.
- Risikable brugereKonti markeret som høj- eller mellemrisiko af Entra ID Protection.
Fuld scanning (3–5 minutter)
Den fulde scanning udløses on-demand af jeres IT-chef. Den kører i en separat worker-proces og anvender Maester — en open-source PowerShell-testsuite vedligeholdt af Microsoft identity-community.
Maester kører mod jeres tenant med de samme app-only-legitimationsoplysninger og returnerer strukturerede bestå/fejl-resultater for hvert test. Vi parser outputtet til strukturerede fund og gemmer dem i vores database tagget med framework:
- CIS Microsoft 365 Benchmark — 55+ kontroller der dækker grundlæggende sikkerhedshygiejne for M365
- CISA SCuBA — 35+ kontroller fra den amerikanske cybersikkerhedsbaseline for M365
- EIDSCA — 30+ Entra ID Security Config Analyzer-kontroller
- Maester community-tests — 34+ yderligere open-source-tjek
Total: 150+ sikkerhedstjek på tværs af CIS Microsoft 365 Benchmark, CISA SCuBA, EIDSCA og Maester. Hvert tjek mappes til en publiceret kontrol i et navngivet framework. Vi opfinder ikke alvorlighedsniveauer — de kommer fra kilderne.
Hvad vi ikke dækker
Ærlighed om scope. SimpleEntra læser Microsoft 365-konfiguration via Graph API. Vi ser ikke, og kan ikke evaluere:
- Governance-dokumentation (politikker, procedurer, risiko-registre)
- Incident response-planer og SOC / SIEM-workflows
- Business continuity-, backup- og disaster recovery-planer
- Supply chain- og vendor-risk-management
- Awareness-træningsprogrammer og HR onboarding / offboarding-processer
- Fysisk sikkerhed og on-premise infrastruktur
For NIS2-readiness betyder det at vi dækker Artikel 21(2)(h) og (j) — de M365-konfigurations-afhængige dele — og leverer delvist input til (e) og (i). De øvrige seks sub-punkter kræver supplerende organisatorisk evidens.
At vide hvad vi ikke måler er en del af, hvorfor vores fund kan tages alvorligt.
Dashboardet
Alle data lander i en Supabase Postgres-database i eu-central-1 (AWS Frankfurt). Next.js-frontend'et læser det via Row Level Security-politikker — hver tenants data er strengt isoleret.
Dashboardet viser:
- Samlet posture-score + modenhed per søjle (Identitet, Enheder, Apps, Adgang)
- Login-trends og anomalier (heatmap, geo, spidstimer)
- Conditional Access-dækning og politik-for-politik-overblik
- App-registreringer med udløbende hemmeligheder eller brede OAuth-rettigheder
- Fuld fundliste, filtrerbar efter framework, risikoniveau og søjle
- Afhjælpningskø med status, prioritet, deadline og auditspor
Hvad vi aldrig rører
Denne liste er værd at nævne eksplicit. SimpleEntra vil aldrig:
- Skrive til jeres tenant (ingen ReadWrite-tilladelser eksisterer i vores manifest)
- Læse mail, kalender, OneDrive-filer, Teams-beskeder eller SharePoint-indhold
- Oprette eller ændre brugere, grupper eller roller
- Ændre eller aktivere/deaktivere Conditional Access-politikker
- Sende mails på jeres vegne (Mail.Send er ikke i vores tilladelsessæt)
- Gemme jeres Graph-tokens permanent (de hentes frisk ved hvert kald via client credentials flow)
- Gemme de faktiske værdier af applikationshemmeligheder — vi læser kun metadata (navn, udløb, nøgle-ID)
Vil I være sikre, åbn admin-consent-URL'en inden I godkender den — Microsoft viser alle tilladelser vi anmoder om. Ser I noget andet end .Read-tilladelser, godkend ikke og kontakt os.
Har I stadig spørgsmål?
Book en demo, og vi kører en live scanning på en test-tenant, så I kan se præcis, hvad SimpleEntra gør — og hvad det ikke gør.
Book en demo