Förstå Just-in-Time-provisionering
Just-in-Time-provisionering är en process som används i identitets- och åtkomsthanteringssystem för att skapa användarkonton i farten när de loggar in i ett system för första gången. Denna artikel förklarar grunderna i Just-in-Time-provisionering och besvarar vanliga frågor om dess implementering.
Innan vi diskuterar Just-in-Time-provisionering, föreställ dig att du bygger en SaaS B2B-app och vill stödja medlemskapsfunktioner, vilket möjliggör för medlemmar att enkelt gå med i din arbetsyta (hyresgäst). Vilka funktioner skulle du föreslå? Här är en checklista för dig:
Scenario | Flöde |
---|---|
Admininbjudan | Användare kan få en e-postinbjudan att gå med i organisationen. |
Management API-användarskapande eller import | Användare kan använda ett förskapad användarkonto för att gå med i organisationen. |
Just-in-Time-provisionering | Användare som loggar in i appen för första gången kan gå med i organisationen. |
Katalogsynkronisering (t.ex. SCIM) | Använd IdP:s katalogsynkroniseringsfunktionalitet för att föreprovisionera användare i appen i förväg. |
Just-in-Time (JIT) provisionering är en process som används i identitets- och åtkomsthanteringssystem för att skapa användarkonton i farten när de loggar in i ett system för första gången. Istället för att föreprovisionera konton för användare i förväg skapar och konfigurerar JIT-provisionering de nödvändiga användarkontona dynamiskt när en användare autentiserar sig. Just-in-Time-provisionering är en populär funktion med egna egenskaper, som effektivitet, ingen administrativ inblandning och automatiserat organisationsmedlemskap etc. Nu när du förstår grunderna i Just-in-Time-provisionering kan du ha flera frågor när du fördjupar dig i verklig produktutveckling. Jag kommer att besvara dessa frågor, som kan vara kontroversiella och högst beroende av dina specifika affärsfall.
Behöver du implementera Just-in-Time-provisionering för din produkt?
Dessa fall är vanliga när man bygger en B2B-app som involverar flerhyresgästarkitektur, företags-SSO, arbetar med företag eller kräver team on-boarding funktioner. Här är några exempel på scenarier som din klient kan stöta på.
Snabb onboarding
Du har en klient som upplever frekventa anställningar eller snabb tillväxt kan använda JIT-provisionering för att snabbt sätta upp användarkonton för nya anställda. Låt oss ta ett exempel:
Sarah är en nyanställd på företag SuperFantasy
, som använder Okta
som sin Enterprise Identity Provider. HR-teamet lägger till henne som en affärsidentitet [email protected]
i Okta bara en gång. När Sarah använder denna e-post för att logga in i en företagsanvänd produktivitetsapp kallad Smartworkspace
för första gången, skapar systemet automatiskt ett konto och provisionerar rätt roll för henne inom företagets arbetsyta. På så sätt behöver varken Sarah eller HR-teamet på SuperFantasy genomgå flera steg för kontoskapande och rolltilldelning.
Fusioner, förvärv och tillfälliga arbetare
Du har en klient som upplever sammanslagning eller förvärv av andra, JIT-provisionering kan förenkla processen att ge åtkomst till det förvärvande företagets system för många nya användare. Låt oss ta ett annat exempel,
Peter arbetar för MagicTech
, vilket nyligen förvärvades av SuperFantasy
. MagicTech är en mindre organisation utan företags-SSO men använder Smartworkspace
också där Peter redan har ett affärskonto.
HR-teamet kan lägga till Peter i Okta
. När Peter loggar in i Smartworkspace för första gången genom Okta, länkar systemet automatiskt hans befintliga affärskonto och ger rätt åtkomst till SuperFantasy.
De ovanstående scenarierna är idealiska för att implementera JIT-funktionen.
Är det specifikt för SAML och Enterprise SSO?
Just-in-Time (JIT)-provisionering är ofta associerad med Single sign-on (SSO) i SAML-autentisering, men det är inte exklusivt för SAML. JIT-provisionering kan också användas med andra autentiseringsprotokoll som OAuth 2.0 och OpenID Connect och det kräver inte alltid en Enterprise SSO-konfiguration.
Till exempel kan e-postbaserad JIT-provisionering förenkla team on-boarding genom att automatiskt lägga till användare till en arbetsyta baserat på deras e-postdomän. Detta är särskilt användbart för organisationer som saknar budget och resurser för att köpa och hantera företags-SSO.
Den grundläggande idén bakom JIT-provisionering är att automatisera skapandet eller uppdateringen av användarkonton när en användare först försöker få åtkomst till en tjänst, oavsett vilket specifikt protokoll som används.
Gäller det nya eller befintliga användare av appen?
Detta är en klurig fråga. Just-in-Time (JIT)-provisionering avser i allmänhet det första försöket att få åtkomst till en app. Dock, olika produkter uppfattar denna funktionalitet på olika sätt. Vissa använder JIT-provisionering enbart för identitets- och kontoskapande, medan andra också inkluderar Just-in-Time-kontouppdateringar, såsom reprovisionering och attributsynkronisering.
Förutom automatisk användarskapande tillåter SAML JIT-Provisionering tilldelning och återkallande av gruppmedlemskap som en del av provisioneringen. Det kan också uppdatera provisionerade användare för att hålla deras attribut i Service Provider (SP) lagret i synk med Identity Provider (IDP) användarlagret attribut.
Till exempel, i Oracle Cloud, kan Just-in-Time-provisionering konfigureras på olika sätt.
- Just-in-Time-skapande
- Just-in-Time-uppdatering
Administrera Oracle Identity Cloud Service: Förstå SAML Just-In-Time Provisioning.
När du loggar in, användaren: | Flöde |
---|---|
Finns och JIT-provisionering är aktiverad. | Normal SSO-felflöde. |
Finns inte och JIT-skapande är aktiverat. | Användaren skapas och befolkas med attributen i SAML-tillkännagivandet, som mappas i JIT-konfigurationen. |
Finns och JIT-uppdatering är aktiverad. | Användarattributvärden uppdateras med attributen i SAML-tillkännagivandet, som mappas i JIT-konfigurationen. |
Om du vill överväga det efterföljande befintliga användarinloggningsscenariot, se till att du har ett robust provisioneringssystem tillsammans med ditt JIT-system. Till exempel,
- Konfliktlösning: Ditt system bör ha en strategi för att hantera konflikter om ett konto redan finns med annan information än vad som tillhandahålls av IdP under JIT-processen. Detta kan kräva detaljerad kontroll av din organisations policyer och IdP-konfiguration.
- Revisionsspår: Det är viktigt att behålla loggar över både nya kontoskapningar och uppdateringar av befintliga konton genom JIT-processer för säkerhet och regelefterlevnad.
- Prestanda: Medan JIT-provisionering sker snabbt, överväg den potentiella påverkan på inloggningstider, särskilt för befintliga användare om du uppdaterar deras information vid varje inloggning.
- Datakonsistens: Se till att din JIT-provisioneringsprocess upprätthåller datakonsistens, särskilt när du uppdaterar befintliga användarkonton.
Vad är skillnaden mellan JIT och SCIM?
Förutom Just-in-Time (JIT) provisionering kanske du har hört talas om SCIM (System for Cross-domain Identity Management). SCIM är ett öppet standardprotokoll utformat för att förenkla och automatisera hantering av användaridentiteter mellan olika system och domäner. Det används ofta i katalogsynkroniseringsscenarier.
Den största skillnaden mellan JIT och SCIM är att JIT skapar konton under användarens inloggningsförsök, medan SCIM kan provisionera användare genom en offline automatiserad process, oberoende av användarens inloggningsförsök.
Detta innebär att JIT fokuserar på onboarding av nya användare, medan SCIM fokuserar på hela livscykelhanteringen av användare.
Dessutom är JIT ofta en utvidgning av SAML och saknar en standardiserad implementering över system, medan SCIM är ett väl definierat, standardiserat protokoll (RFC 7644) för identitetshantering.
Vissa större organisationer använder SCIM för kontoprovisionering, integrerar det med sina egna system. Detta kan vara mycket komplext och varierar fall för fall. Dessa organisationer har ofta ett provisioneringssystem som involverar både automatiserade processer och manuell administrativ inblandning.
Just-in-Time-provisionering i Logto
SSO Just-in-Time-provisionering och E-postdomän Just-in-Time-provisionering är vad vi omfamnar i Logto.
I Logto har vi denna funktionsuppsättning på organisationsnivå som tillåter användare att automatiskt gå med i organisationen och få rolltilldelningar om de uppfyller specifika kriterier.
Vi implementerar JIT-funktionen på dess mest skalbara och säkra nivå för att förenkla och automatisera provisioneringsprocessen för utvecklare som onboardar sina klienter. Men, som vi diskuterade tidigare, eftersom provisioneringssystem kan vara komplexa och skräddarsydda efter dina klienters specifika behov, bör du dra nytta av Logtos förbyggda JIT-funktioner, din noggranna systemdesign och Logto management API för att konstruera ett robust provisioneringssystem.
Låt oss ta detta diagram för att se hur det fungerar i Logto,
Enterprise SSO-provisionering
Om du har Enterprise SSO inställ i Logto, kan du välja din organisations Enterprise SSO för att möjliggöra just-in-time-provisionering.
Nya eller befintliga användare som loggar in genom företags-SSO för första gången kommer automatiskt att gå med i organisationen och få standardorganisationens roller.
Tabellen nedan listar de potentiella flödena:
Användarstatus | Flödesbeskrivning |
---|---|
Användaren existerar inte och JIT är aktiverad. | Användaren skapas och går automatiskt med i motsvarande organisation med lämpliga roller. |
Användaren finns med samma verifierade e-postadress som företags-SSO, och JIT är aktiverad. | Användarens e-postadress länkas automatiskt till företags-SSO-kontot och de går med i motsvarande organisation med lämpliga roller. |
Användaren existerar inte och JIT är inte aktiverad. | Normalt SSO-fel flöde. |
Användaren finns och JIT är inte aktiverad. | Normalt SSO flöde. |
E-postdomäner provisionering
Om en organisation inte har en dedikerad företags-SSO, kan du använda e-postdomäner för att möjliggöra Just-in-Time-provisionering. Detta händer vanligtvis för mindre företag som inte har budget för företags-SSO men ändå vill ha en viss nivå av medlemonboarding-automat och säkerhetshantering.
När användare registrerar sig, om deras verifierade e-postadresser matchar de konfigurerade e-postdomänerna på organisationsnivå, kommer de att provisioneras till motsvarande organisation(er) med motsvarande roller.
E-postdomän provisionering fungerar för:
- E-postregistreringsautentisering
- Social registreringsautentisering
E-postflöde
Användarstatus | Flödesbeskrivning |
---|---|
Användaren existerar inte och registrerar sig med e-post, och JIT är aktiverad. | Användaren skapas och går automatiskt med i motsvarande organisation med lämpliga roller. |
Användaren finns med samma verifierade e-postadress som provisionerade e-postdomäner, och JIT är aktiverad. | Normalt e-post inloggningsflöde. |
Användaren existerar inte och registrerar sig med e-post, och JIT är inte aktiverad. | Normalt e-post registreringsflöde. |
Användaren finns och loggar in med e-post, och JIT är inte aktiverad. | Normalt e-post inloggningsflöde. |
Socialt flöde
Användarstatus | Flödesbeskrivning |
---|---|
Användaren existerar inte, registrerar sig med socialt konto med användning av en verifierad e-post, och JIT är aktiverad. | Användaren skapas och går automatiskt med i motsvarande organisation med lämpliga roller. |
Användaren existerar inte, registrerar sig med socialt konto med en overifierad e-post eller ingen e-post, och JIT är aktiverad. | Normalt socialt registreringsflöde. |
Användaren finns med samma verifierade e-postadress som provisionerade e-postdomäner, loggar in genom socialt konto, och JIT är aktiverad. | Normalt socialt inloggningsflöde. |
Användaren existerar inte, registrerar sig med socialt konto, och JIT är inte aktiverad. | Normalt socialt registreringsflöde. |
Användaren finns, loggar in med socialt konto, och JIT är inte aktiverad. | Normalt socialt inloggningsflöde. |
Hantera e-postdomän provisionering och företags-SSO potentiell konflikt
Om du initialt ställer in e-postdomän provisionering och senare konfigurerar en företags-SSO med samma e-postdomän, här är vad som händer:
När en användare anger sin e-postadress kommer de att omdirigeras till SSO-flödet och kringgår e-postautentiseringen. Detta innebär att JIT-processen inte kommer att utlösas.
För att hantera detta, kommer vi att visa ett varningsmeddelande vid konfiguration. Se till att du hanterar detta flöde genom att välja rätt SSO för att aktivera just-in-time-provisionering och förlita dig inte på e-postdomän provisionering.
Standardorganisationens roller
När du provisionerar användare, kan du ställa in deras standardorganisationens roller. Rollistan kommer från organisationens mall, och du kan välja en roll eller lämna den tom.
Enterprise SSO Just-in-Time-uppdatering
Lyckligtvis har vi redan inbyggt denna funktion i Enterprise SSO! Du kan välja om profildatan synkroniseras till Logto vid första inloggningen eller vid varje inloggning. Vi överväger också att lägga till fler funktioner som roll- och organisationsmappning och reprovisionering i framtiden.
Kolla detta för att lära dig mer.
Just-in-Time-funktionen är omedelbart tillgänglig i Logto. Registrera dig för Logto idag och börja automatisera dina klients medlems onboarding.