Begrijp Just-in-Time voorziening
Just-in-Time voorziening is een proces dat wordt gebruikt in identiteits- en toegangsbeheer systemen om gebruikersaccounts ad hoc aan te maken wanneer ze voor het eerst inloggen op een systeem. Dit artikel legt de basisprincipes van Just-in-Time voorziening uit en beantwoordt veelvoorkomende vragen over de implementatie ervan.
Voordat we Just-in-Time voorziening bespreken, stel je voor dat je een SaaS B2B-app bouwt en lidmaatschapsfuncties wilt ondersteunen, zodat leden gemakkelijk je werkomgeving (huurder) kunnen joinen. Welke functies zou je voorstellen? Hier is een checklist voor jou:
Scenario | Flow |
---|---|
Beheerdersuitnodiging | Gebruikers kunnen een e-mailuitnodiging ontvangen om lid te worden van de organisatie. |
Management API gebruikersaanmaak of import | Gebruikers kunnen een vooraf aangemaakt gebruikersaccount gebruiken om lid te worden van de organisatie. |
Just-in-Time voorziening | Gebruikers die voor het eerst inloggen op de app kunnen lid worden van de organisatie. |
Directory Sync (bijv. SCIM) | Gebruik de Directory Sync-functionaliteit van de IdP om gebruikers vooraf te voorzien in de app. |
Just-in-Time (JIT) voorziening is een proces dat wordt gebruikt in identiteits- en toegangsbeheer systemen om gebruikersaccounts ad hoc aan te maken wanneer ze voor het eerst inloggen op een systeem. In plaats van vooraf accounts voor gebruikers aan te maken, maakt JIT voorziening de benodigde gebruikersaccounts dynamisch aan wanneer een gebruiker zich authenticeert. Just-in-time voorziening is een populaire functie met zijn eigen kenmerken, zoals efficiëntie, geen administratieve betrokkenheid en geautomatiseerde organisatie lidmaatschap, enz. Nu je de basisprincipes van Just-in-Time voorziening begrijpt, heb je misschien verschillende vragen als je dieper ingaat op de ontwikkeling van echte producten. Ik zal deze vragen behandelen, die controversieel kunnen zijn en sterk afhankelijk zijn van jouw specifieke zakelijke gevallen.
Moet je Just-in-Time voorziening implementeren voor jouw product?
Deze gevallen zijn gebruikelijk bij het bouwen van een B2B-app die multi-tenant architectuur, enterprise SSO, samenwerken met bedrijven of team onboarding functionaliteiten omvat. Hier zijn enkele voorbeeldscenario's die jouw klant kan tegenkomen.
Snelle onboarding
Je hebt een klant die vaak nieuw personeel aanneemt of snel groeit kan gebruik maken van JIT voorziening om snel gebruikersaccounts aan te maken voor nieuwe medewerkers. Laten we een voorbeeld nemen:
Sarah is een nieuwe medewerker bij bedrijf SuperFantasy
, dat Okta
als haar Enterprise Identity Provider gebruikt. Het HR-team voegt haar slechts eenmalig toe als een zakelijke identiteit [email protected]
in Okta. Wanneer Sarah dit e-mailadres gebruikt om in te loggen op een bedrijfsmatige productiviteitsapp genaamd Smartworkspace
voor de eerste keer, maakt het systeem automatisch een account aan en voorziet de juiste rol voor haar binnen de werkomgeving van het bedrijf. Op deze manier hoeven Sarah noch het HR-team bij SuperFantasy geen meerdere stappen te doorlopen voor accountaanmaak en roltoewijzing.
Fusies, overnames en tijdelijke werknemers
Je hebt een klant die andere bedrijven samenvoegt of overneemt, JIT voorziening kan het proces van het verlenen van toegang tot de systemen van het overgenomen bedrijf voor veel nieuwe gebruikers vereenvoudigen. Laten we een ander voorbeeld nemen,
Peter werkt voor MagicTech
, dat recent is overgenomen door SuperFantasy
. MagicTech is een kleinere organisatie zonder enterprise SSO maar gebruikt ook Smartworkspace
waarin Peter al een zakelijk account heeft.
Het HR-team kan Peter toevoegen in Okta
. Wanneer Peter inlogt in Smartworkspace voor de eerste keer via Okta, linkt het systeem automatisch zijn bestaande zakelijke account en verleent de juiste toegang tot SuperFantasy.
De bovenstaande scenario's zijn ideaal voor het implementeren van de JIT functie.
Is het specifiek voor SAML en Enterprise SSO?
Just-in-time (JIT) voorziening wordt vaak geassocieerd met Single sign-on (SSO) in SAML-authenticatie, maar het is niet exclusief voor SAML. JIT voorziening kan ook worden gebruikt met andere authenticatieprotocollen zoals OAuth 2.0 en OpenID Connect, en het vereist niet altijd een Enterprise SSO-instelling.
Bijvoorbeeld, op e-mail gebaseerde JIT voorziening kan team onboarding stroomlijnen door gebruikers automatisch toe te voegen aan een werkomgeving op basis van hun e-maildomein. Dit is bijzonder nuttig voor organisaties die niet het budget en de middelen hebben om enterprise SSO aan te schaffen en te beheren.
Het fundamentele idee achter JIT voorziening is om gebruikersaccount aanmaak of updates te automatiseren wanneer een gebruiker voor het eerst probeert toegang te krijgen tot een dienst, ongeacht het specifieke protocol dat wordt gebruikt.
Geldt het voor nieuwe of bestaande gebruikers van de app?
Dit is een lastige vraag. Just-in-time (JIT) voorziening verwijst over het algemeen naar de eerste poging om toegang te krijgen tot een app. Echter, verschillende producten zien deze functionaliteit anders. Sommige gebruiken JIT voorziening alleen voor identiteit en accountcreatie, terwijl anderen ook Just-in-Time account updates omvatten, zoals opnieuw voorzien en attribuutsynchronisatie.
Naast automatische gebruikersaanmaak stelt SAML JIT Provisioning het mogelijk groepslidmaatschappen toe te kennen en in te trekken als onderdeel van voorziening. Het kan ook voorziende gebruikers bijwerken om hun attributen in de Service Provider (SP) opslag in overeenstemming te houden met de attributen van de Identity Provider (IDP) gebruikersopslag.
Bijvoorbeeld, in Oracle Cloud kan Just-in-Time voorziening op verschillende manieren worden geconfigureerd.
- Just-in-Time creatie
- Just-in-Time update
Beheren van Oracle Identity Cloud Service: Begrijp SAML Just-In-Time Provisioning.
Bij het inloggen, de gebruiker: | Flow |
---|---|
Bestaat en JIT voorziening is ingeschakeld. | Normale SSO foutstroom. |
Bestaat niet en JIT creatie is ingeschakeld. | Gebruiker wordt aangemaakt en gevuld met de SAML-verklaring attributen, zoals in JIT-configuratie gemapt. |
Bestaat en JIT update is ingeschakeld. | Gebruikersattribuut waarden worden bijgewerkt met de SAML-verklaring attributen, zoals in JIT-configuratie gemapt. |
Als je wil nadenken over het scenario van bestaande gebruikers die opnieuw inloggen, zorg ervoor dat je een robuust voorzieningssysteem hebt samen met jouw JIT-systeem. Bijvoorbeeld,
- Conflictoplossing: Jouw systeem moet een strategie hebben voor het afhandelen van conflicten als er al een account bestaat met andere informatie dan die wordt verstrekt door de IdP tijdens het JIT-proces. Dit kan gedetailleerde controle vereisen over de beleidsregels van jouw organisatie en de IdP-configuratie.
- Audit trails: Het is belangrijk om logs bij te houden van zowel nieuwe accountaanmakingen als updates van bestaande accounts via JIT-processen omwille van beveiliging en naleving.
- Prestatie: Hoewel JIT voorziening snel plaatsvindt, overweeg de mogelijke impact op inlogtijden, vooral voor bestaande gebruikers als je hun informatie bijwerkt bij elke inlog.
- Gegevensconsistentie: Zorg ervoor dat jouw JIT voorzieningsproces gegevensconsistentie behoudt, vooral bij het bijwerken van bestaande gebruikersaccounts.
Wat is het verschil tussen JIT en SCIM?
Naast Just-in-Time (JIT) voorziening, heb je misschien gehoord van SCIM (System for Cross-domain Identity Management). SCIM is een open standaard protocol ontworpen om het beheer van gebruikersidentiteiten te vereenvoudigen en te automatiseren over verschillende systemen en domeinen. Het wordt vaak gebruikt in Directory Sync-scenario's.
Het belangrijkste verschil tussen JIT en SCIM is dat JIT accounts aanmaakt tijdens de inlogpoging van de gebruiker, terwijl SCIM gebruikers kan voorzien via een offline geautomatiseerd proces, onafhankelijk van gebruikersinlogpogingen.
Dit betekent dat JIT zich richt op nieuwe gebruikersonboarding, terwijl SCIM zich richt op het volledige levenscyclusbeheer van gebruikers.
Bovendien is JIT vaak een uitbreiding van SAML en mist het een gestandaardiseerde implementatie over systemen heen, terwijl SCIM een goed gedefinieerd, gestandaardiseerd protocol (RFC 7644) is voor identiteitsbeheer.
Sommige grotere organisaties gebruiken SCIM voor accountvoorziening, waarbij ze het integreren met hun eigen systemen. Dit kan erg complex zijn en variëren per geval. Deze organisaties hebben vaak een voorzieningssysteem dat zowel geautomatiseerde processen als handmatige beheerdersbetrokkenheid omvat.
Just-in-Time voorziening in Logto
SSO Just-in-Time voorziening en E-mail domein Just-in-Time voorziening zijn wat we omarmen in Logto.
In Logto hebben we deze functionaliteit ingesteld op het organisatieniveau dat gebruikers de mogelijkheid biedt om automatisch lid te worden van de organisatie en roltoewijzingen te ontvangen als ze aan specifieke criteria voldoen.
We implementeren de JIT functie op zijn schaalbaarst en veiligst om het voorzieningsproces voor ontwikkelaars die hun klanten onboarden te vereenvoudigen en te automatiseren. Zoals we eerder bespraken, aangezien voorzieningssystemen complex kunnen zijn en kunnen worden afgestemd op de specifieke behoeften van je klanten, moet je Logto's voorgebouwde JIT-functies benutten, jouw zorgvuldige systeemontwerp en de Logto management API om een robuust voorzieningssysteem te construeren.
Laten we deze diagram nemen om te zien hoe het werkt in Logto,
Enterprise SSO voorziening
Als je Enterprise SSO hebt ingesteld in Logto, kun je je organisatie enterprise SSO selecteren om just-in-time voorziening in te schakelen.
Nieuwe of bestaande gebruikers die voor de eerste keer via enterprise SSO inloggen zullen automatisch lid worden van de organisatie en standaard organisatie rollen ontvangen.
De volgende tabel geeft de potentiële stromen weer:
Gebruikersstatus | Omschrijving van de stroom |
---|---|
Gebruiker bestaat niet, en JIT is ingeschakeld. | Gebruiker wordt aangemaakt en automatisch toegevoegd aan de corresponderende organisatie met passende rollen. |
Gebruiker bestaat met hetzelfde geverifieerde e-mailadres als de enterprise SSO, en JIT is ingeschakeld. | Het e-mailadres van de gebruiker wordt automatisch gekoppeld aan het enterprise SSO-account, en ze treden toe tot de corresponderende organisatie met passende rollen. |
Gebruiker bestaat niet, en JIT is niet ingeschakeld. | Normale SSO foutstroom. |
Gebruiker bestaat, en JIT is niet ingeschakeld. | Normale SSO stroom. |
E-mail domeinen voorziening
Als een organisatie geen toegewijde enterprise SSO heeft, kun je e-maildomeinen gebruiken om Just-in-Time voorziening in te schakelen. Dit gebeurt meestal bij kleinere bedrijven die niet het budget hebben voor enterprise SSO maar toch een bepaald niveau van lid onboarding automatisering en veiligheidsbeheer willen.
Wanneer gebruikers zich aanmelden, als hun geverifieerde e-mailadressen overeenkomen met de geconfigureerde e-maildomeinen op organisatieniveau, zullen ze binnen de passende organisatie(s) worden voorzien van de corresponderende rollen.
E-mail domein voorziening werkt voor:
- E-mail aanmeldingsauthenticatie
- Sociale aanmeldingsauthenticatie
E-mail flow
Gebruikersstatus | Omschrijving van de stroom |
---|---|
Gebruiker bestaat niet en meldt zich aan met e-mail, en JIT is ingeschakeld. | Gebruiker wordt aangemaakt en automatisch toegevoegd aan de corresponderende organisatie met passende rollen. |
Gebruiker bestaat met hetzelfde geverifieerde e-mailadres als geëiste e-maildomeinen, en JIT is ingeschakeld. | Normale e-mail inlogstroom. |
Gebruiker bestaat niet en meldt zich aan met e-mail, en JIT is niet ingeschakeld. | Normale e-mail aanmeldingsstroom. |
Gebruiker bestaat en logt in met e-mail, en JIT is niet ingeschakeld. | Normale e-mail inlogstroom. |
Sociale flow
Gebruikersstatus | Omschrijving van de stroom |
---|---|
Gebruiker bestaat niet, meldt zich aan met sociaal account met een geverifieerde e-mail, en JIT is ingeschakeld. | Gebruiker wordt aangemaakt en automatisch toegevoegd aan de corresponderende organisatie met passende rollen. |
Gebruiker bestaat niet, meldt zich aan met sociaal account met een niet-geverifieerde e-mail of geen e-mail, en JIT is ingeschakeld. | Normale sociale aanmeldingsstroom. |
Gebruiker bestaat met hetzelfde geverifieerde e-mailadres als geëiste e-maildomeinen, logt in via sociaal account, en JIT is ingeschakeld. | Normale sociale inlogstroom. |
Gebruiker bestaat niet, meldt zich aan met sociaal account, en JIT is niet ingeschakeld. | Normale sociale aanmeldingsstroom. |
Gebruiker bestaat, logt in met sociaal account, en JIT is niet ingeschakeld. | Normale sociale inlogstroom. |
Omgaan met potentiële conflicten tussen e-mail domein voorziening en enterprise SSO
Als je aanvankelijk e-maildomein voorziening instelt en later een Enterprise SSO configureert met hetzelfde e-maildomein, gebeurt het volgende:
Wanneer een gebruiker zijn e-mailadres invoert, worden ze doorgestuurd naar de SSO stroom, waardoor de e-mailauthenticatie wordt overgeslagen. Dit betekent dat het JIT-proces niet zal worden geactiveerd.
Om dit aan te pakken, laten we een waarschuwingsbericht zien bij configuratie. Zorg ervoor dat je deze stroom afhandelt door de juiste SSO te selecteren om just-in-time voorziening in te schakelen, en vertrouw niet op e-mail domein voorziening.
Standaard organisatie rollen
Bij het voorzien van gebruikers, kun je hun standaardorganisatie rollen instellen. De rollenlijst komt van de organisatiesjabloon, en je kunt een rol kiezen of deze leeg laten.
Enterprise SSO Just-in-Time update
Gelukkig hebben we deze functie al ingebouwd in Enterprise SSO! Je kunt kiezen of profielinformatie gesynchroniseerd wordt naar Logto bij de eerste inlog of bij elke inlog. We zullen ook overwegen meer functies toe te voegen zoals rol- en organisatiemapping en opnieuw voorzien in de toekomst.
Check dit om meer te leren.
De Just-in-Time functie is onmiddellijk beschikbaar in Logto. Meld je vandaag nog aan voor Logto en begin met het automatiseren van het lidmaatschaps-onboarding van je klanten.