Blogserie

Microsoft Entra ID - Externe accounts

Microsoft Entra ID is een Identity Provider (IdP) met diverse soorten identities voor gecentraliseerde authenticatie en autorisatie in verschillende type tenants.

Dit deel van de serie geeft een overzicht van de verschillende soorten externe accounts.

📰 Blogserie Microsoft Entra ID – Identities

Microsoft Entra ID is een Identity Provider (IdP) met diverse soorten identities voor gecentraliseerde authenticatie en autorisatie in verschillende type tenants.

đŸ—ș Overzicht

Dit deel van de serie behandelt externe accounts. Wil je liever eerst een ander onderwerp lezen? Onderaan deze blog vind je het overzicht van alle artikelen in deze serie!

naar het serie overzicht

 

Externe accounts

Externe accounts, vaak ook aangeduid met Invited users, Guest users, B2B of B2C users, authentiseren primair bij een andere identity provider (IdP), of, afhankelijk van de geconfigureerde federatie, met een Email one-time passcode.
Interne accounts kun je omzetten naar externe accounts en andersom kun je externe accounts omzetten naar interne accounts.

Microsoft heeft de nieuwe term “Microsoft Entra External ID” gepositioneerd als oplossing voor het samenwerken met mensen buiten je eigen organisatie. Deze oplossing omvat zowel scenario’s voor het samenwerken met ‘consumers’ (B2C) als business partners (B2B).

Guest accounts zijn bedoeld voor partners, consultants, of bijvoorbeeld ingehuurde medewerkers en hebben standaard minder rechten binnen Entra ID. Guest accounts waren over het algemeen kosteneffectiever. Microsoft stond een verhouding van 1:5 toe, wat betekende dat voor elk gelicentieerd member account maximaal vijf guest accounts waren toegestaan zonder extra licentiekosten. Dit licentiemodel is nu gewijzigd naar Monthly Active Users (MAU).
Dit betekend dat het afrekenmodel gebaseerd is op het aantal externe gebruikers (guest accounts) die zich binnen een kalendermaand authentiseren. Hierbij zijn de eerste 50.000 MAUs zonder kosten. Guest accounts hebben gratis toegang tot basisfuncties zoals samenwerking binnen sharepoint, one-drive en teams.

Federated accounts versus non-Federated accounts

Voor non-federated accounts wordt de gebruikersauthenticatie door Microsoft Entra ID afgehandeld zonder tussenkomst van een externe Identity Provider (IdP).
Non-federated accounts hebben één identiteit attribuut met de standaard aangemaakt domeinnaam.onmicrosoft.com.

Voor federated accounts daarentegen wordt de authenticatie afgehandeld door een IdP buiten Entra ID, bijvoorbeeld Google, Facebook ,een andere Entra ID tenant, of een on-premises oplossing zoals Active Directory Federation Services (ADFS).

Entra ID tenants hebben standaard een aantal voorgedefinieerde ingebouwde externe identity providers geconfigureerd:

Wanneer je een externe gebruiker uitnodigt in je tenant en deze gebruiker heeft bijvoorbeeld een Microsoft account (hotmail.com, outlook.com, live.nl, of msn.com) wordt de Microsoft standaard aanwezige federatie gebruikt.

Federated accounts hebben meerdere identiteit attributen en behalve een sign-in type userPrincipalName ook een sign-in-type ‘federated’. Voor dit type accounts wordt de primaire authenticatie uitgevoerd door de “Issuer” van het gefedereerde account. Wanneer je een account uit een andere Entra ID tenant uitnodigt wordt in je tenant een account aangemaakt met een sign-in-type ‘federated’ en Issuer ‘ExternalAzureAD’. Dit type federatie is gebaseerd op SAML/WSFed federatie tussen Entra ID tenants.

ExternalAzureAD

MicrosoftAccount

Wanneer je een account met een hotmail e-mail adres uitnodigt wordt de issuer ‘MicrosoftAccount’.

Mail

Wanneer er geen expliciet geconfigureerde federatie bestaat met het domein van het uitgenodigde account wordt de Issuer aangeduid met mail.

De primaire authenticatie voor dit laatste type accounts is email one-time passcode. (Code die je via email toegestuurd krijgt).

Accounts met een user principal name (upn) waarvan het domein middels ADFS of PingFederate gefedereerd is met een on-premises Active Directory hebben een Issuer https://adfs./adfs/services/trust en voor deze accounts verzorgen Active Directory domain controllers de primaire authenticatie (username/password) en Entra ID de tweede verificatie stap (MFA), met bijvoorbeeld SMS of de Authenticator App.

Accounts kunnen ook meerdere identiteit attributen hebben bijvoorbeeld voor google en facebook. Gebruikers kunnen dan vaak kiezen met welke identiteitsprovider ze willen inloggen, afhankelijk van de opties die de applicatie welke het account benaderd, biedt.

 

B2B accounts versus B2C accounts

Microsoft Entra ID B2B (Business-to-Business) accounts of gastaccounts zijn ontworpen om externe gebruikers toegang te geven tot resources van je organisatie. Deze accounts maken het mogelijk om veilig samen te werken met partners, leveranciers, en andere externe partijen zonder hiervoor een volledig Microsoft Entra ID-account aan te hoeven maken.

B2B accounts worden met name gebruikt in workforce tenants, maar komen meestal, welliswaar in mindere mate, ook voor in external tenants, bijvoorbeeld als beheer account in je external tenant.

B2C (Business to Consumer) accounts daarentegen zijn niet bedoeld om toegang te geven tot je bedrijfs-, Azure- of Entra ID-resources maar specifiek voor toegang tot klant applicaties met bijbehorende data. B2C accounts komen dan ook meestal niet voor in workforce tenants maar met name in external tenants.

B2B Accounts

B2B accounts zijn federated accounts in Entra ID en hiervoor worden de standaard geconfigureerde Entra External ID geconfigureerde IdP’s gebruikt (zie Federated accounts versus non-Federated accounts). Een B2B account maakt gebruik van eigen (externe) credentials (wachtwoord/MFA).
Door het uitnodigen van een external user via de Entra ID portal of via een uitnodiging in Teams of Sharepoint wordt er een account van type ‘Guest’ aangemaakt en staat de ‘Invitation state’ op ‘PendingAcceptance’.

Het sponsor attribuut (eigenschap van het aangemaakte account) wordt standaard gevuld met de gebuikersnaam van diegene die de externe gebruiker uitnodigt, en kan eventueel aangepast worden naar andere gebruikers of groep accounts.

Het sponsor attribuut geeft geen aparte rechten maar kan je gebruiken in een governance model.

Het externe account (met #EXT# in het upn attribuut) wordt standaard aangemaakt als guest account en kun je lid maken van groepen en/of rollen in je eigen tenant, net zoals member accounts in je eigen tenant. Standaard hebben dit soort accounts minder rechten dan member accounts. Guest accounts kunnen bijvoorbeeld standaard geen overzicht opvragen van alle users, groepen of andere objecten in een tenant.

Na ontvangst van de uitnodigings e-mail, of directe link naar een app of portal, start voor de externe gebruiker het ‘redemption’ proces gevolgd door het ‘consent’ proces. Voor meer informatie over deze processen zie B2B Invitation Redemption – Microsoft Entra External ID.

Afhankelijk van je ENTRA ID MFA configuratie moet de externe gebruiker, naast het authenticeren met de ‘eigen’ (home tenant) credentials ook authenticeren met MFA credentials van ‘jouw’ tenant, en hiervoor eerst het MFA registratie proces doorlopen. Dit zal voor de meeste tenants het geval zijn, omdat voor de meeste tenants ‘security defaults’ voor ENTRA ID ID aanstaan, of met conditional access policies, MFA voor guest accounts afgedwongen wordt en Microsoft per 15 oktober 2024 voor alle gebruikers MFA voor het inloggen in Azure afdwingt.

Het beheren van B2B accounts in je tenant is een uitdaging. Guest accounts zijn snel gemaakt, zeker wanneer je External collaboration settings van je tenant toelaten dat iedereen guest users kan uitnodigen:

…en uitnodigingen naar elke willekeurig domein gestuurd mogen worden.

Het idee is dat guest users zichzelf verwijderen uit jou tenant:

Dit kan je als externe gebruiker doen door naar je ‘home’ tenant te gaan naar myaccount.microsoft.com en daar bij ‘Organizations’ je gast tenant te verlaten:

Het is maar de vraag of gebruikers hier van de op hoogte zijn en of ze dit ook daadwerkelijk doen. Voor je het weet zit je met een grote hoeveelheid B2B accounts die niet meer gebruikt worden, maar nog wel diverse rechten hebben binnen je organisatie!

Oplossingen die Entra ID hiervoor biedt zijn self-service sign up, cross-tenant synchronization, entitlement management/access reviews en B2B direct connect.

Self-Service sign-up

Self-Service sign-up is een Entra External ID feature die zowel voor workforce (B2B scenario’s) als external tenants (B2C scenario’s) beschikbaar is. Met deze feature kunnen externe gebruikers automatisch een B2B/B2C account aanmaken in je tenant en toegang krijgen tot specifieke (niet Microsoft) applicaties.

Door het aanmaken van ‘user-flows’ met eventueel ‘custom-attributes’ en deze te koppelen aan een app registration, wordt, wanneer de externe gebruiker deze applicatie benaderd, automatisch een externe gebruiker aangemaakt als deze nog niet bestaat in je tenant.

De mogelijkheden zijn zeer uitgebreid. Naast de standaard aanwezige externe IdPs kun je ook zelf custom IdPs configuren om externe gebruikers te laten authenticeren met bijvoorbeeld Octa, of andere SAML/OIDC compatible IdPs. Op dit moment ondersteunt een Entra ID workforce tenant alleen nog federaties met WSFed/SAML. Een external tenant ondersteunt ook OpenID Connect (OIDC).

Ook kun je claims, eventueel komend vanuit een externe IdP toevoegen of transformeren. In het deel over B2C Accounts ga ik hier dieper op in.

Voor meer informatie over user-flows zie ook: self-service-sign-up-overview.

Entitlement management/Access reviews

Naast lifecycle management van B2B accounts met cross-tenant synchronization kent ENTRA ID ook features voor ‘toegangs’ lifecycle management, voor het beheren van toegang tot resources. Deze features zijn ’entitlement management’ en ‘access reviews’.

Met entitlement management kun je organisaties specificeren waarvan de gebruikers toegestaan wordt om toegang tot resources van jouw organisatie te krijgen. Zodra een dergelijk verzoek goedgekeurd is, wordt automatisch het B2B guest account aangemaakt en de benodigde toegang ingesteld. Entitlement management verwijdert ook automatisch B2B guest accounts wanneer de toegangstermijn verlopen is of de toegang ingetrokken wordt.

Access reviews worden door business groepen uitgevoerd om te bepalen of bestaande B2B accounts nog steeds toegang nodig hebben tot bepaalde resources. Wanneer een B2B account tot geen enkele resource meer toegang heeft wordt het account automatisch verwijderd. Voor meer informatie zie: identity-governance-overview.

Voor dit type functionaliteiten heb je wel additionele licenties nodig. Voor een overzicht van benodigde licentie per feature zie: licensing-fundamentals.

❗Let op wanneer je gebruik maakt van cross-tenant synchronisatie en entitlement management/access reviews kunnen conflicterende situaties optreden voor B2B accounts. Een zorgvuldige planning en configuratie is dan ook noodzakelijk!

B2C Accounts

Entra ID B2C (Business-to-Consumer) accounts zijn accounts die uitgenodigd of aangemaakt worden in een Entra ID, meestal External tenant. Dit type accounts krijgt toegang tot applicaties en data die je als organisatie aanbiedt aan je klanten. Dit kunnen federated accounts zijn, waarbij de authenticatie extern plaatsvindt of non-federated (local) accounts waar de Entra ID External tenant de authenticatie verzorgt.

User-Flows

B2C accounts maken gebruik van user-flows om de sign-in en sign-up ervaring van B2C accounts per applicatie aan te kunnen passen. In de user-flow staat geconfigureerd met welke IdP(s) de gebruiker in kan inloggen. Wanneer de userflow gebruik maakt van Entra ID Email Account als IdP, kan de sign-in met wachtwoord zijn of met een eenmalige code via e-mail. Voor de sign-up (aanmaken van het account) wordt altijd een eenmalige code naar het e-mailadres gestuurd.

Tijdens de sign-up kan de B2C gebruiker die zich registreert, om additionele profieldata gevraagd worden. Dit kan m.b.v. voorgedefinieerde attributen uit de user flow maar ook met additionele custom attributen.
Voor meer informatie zie Define custom attributes – Microsoft Entra External ID.

Aanpassen van Claims

Entra ID maakt gebruik van policies voor het aanpassen van claims. Naast een “Claim mapping polices” voor het aanpassen en toevoegen van claims bestaat er inmiddels ook een “Custom Claims Policy” waaarmee het mogelijk is om of met MS Graph/Powershell of met de UI van de Entra admin center claims per service principal aan te passen.

Voor uitgebreide informatie zie Claims customization – Microsoft identity platform.

SCIM provisioning

Veel applicaties hebben een eigen ‘user database’ waarin gebruikers informatie wordt bewaard. Aan de hand van deze gebruikers informatie kan de applicatie bijvoorbeeld autorisatie beslissingen nemen.
De System for Cross-domain Identity Management (SCIM) specificatie biedt een algemeen gebruikers schema om de lifecycle van accounts tussen applicaties te beheren. Accounts worden bijvoorbeeld automatisch aangemaakt en verwijderd in een applicatie vanuit een IdP. SCIM is meer en meer de standaard voor het provisionen van accounts en in combinatie met federatie standaarden zoals SAML en OIDC biedt dit een algemene, op standaarden gebaseerde oplossing voor toegangsbeheer.

Ook Entra ondersteunt SCIM. Voor meer informatie zie: app-provisioning/user-provisioning.

 

📌 Conclusie

Hopelijk geeft deze blog meer duidelijkheid over welke type identities Entra ID allemaal ondersteund en hoe deze te gebruiken.
Zoals in de inleiding aangegeven kent Entra ID naast human identities ook machine- en device identities. In een Cloud optimized of Cloud native landschap wordt steeds meer gebruik gemaakt van niet-interactieve authenticatie om services met elkaar te laten communiceren.

 

âžĄïž Vervolg

Volgende delen van deze blogserie gaan dan ook in op workload identities en hoe de moderne, op tokens gebaseerde authenticatie en autorisatie werkt.

Willy-Jan Verberne

Willy-Jan is één van onze Azure specialisten. Met een sterke achtergrond in solution architectuur, identity en accessmanagement praat hij je bij over alles rondom (onder andere) Entra ID en AKS.

Blog serie overzicht

Klik op een van de onderwerken om direct naar het betreffende artikel in deze serie te gaan!

Interne AccountsExterne AccountsDevice IdentitiesIdentitiesAuthenticatie Protocollen (OAuth/OIDC)Workload IdentitiesOAuth/OIDC : inleidingOAuth/OIDC : flowsOAuth/OIDC : tokensOAuth/OIDC : permissions

Device Identities

Under construction....