• Just-in-Time

Zrozumcie obsługę Just-in-Time

Just-in-Time to proces używany w systemach zarządzania tożsamością i dostępem do tworzenia kont użytkowników na bieżąco, gdy logują się oni do systemu po raz pierwszy. Artykuł wyjaśnia podstawy działania Just-in-Time oraz odpowiada na najczęściej zadawane pytania związane z jego implementacją.

Guamian
Guamian
Product & Design

Zanim omówimy Just-in-Time, wyobraźmy sobie, że budujesz aplikację SaaS B2B i chcesz wspierać funkcje członkostwa, umożliwiając członkom łatwe dołączanie do Twojego środowiska pracy (tenant). Jakie funkcje byś zaproponował? Oto lista kontrolna dla ciebie:

ScenariuszPrzebieg
Zaproszenie adminaUżytkownicy mogą otrzymać zaproszenie e-mail do przyłączenia się do organizacji.
Tworzenie użytkownika lub import z APIUżytkownicy mogą korzystać z wcześniej utworzonego konta użytkownika, aby dołączyć do organizacji.
Just-in-TimeUżytkownicy, którzy logują się po raz pierwszy do aplikacji, mogą dołączyć do organizacji.
Synchronizacja katalogów (np. SCIM)Użyj funkcji Synchronizacji Katalogów IdP, aby wstępnie przygotować użytkowników w aplikacji.

Just-in-Time (JIT) to proces używany w systemach zarządzania tożsamością i dostępem do tworzenia kont użytkowników na bieżąco, gdy logują się oni do systemu po raz pierwszy. Zamiast z wyprzedzeniem tworzyć i konfigurować konta wstępnie, JIT dynamicznie tworzy i konfiguruje potrzebne konta użytkowników, gdy użytkownik się uwierzytelnia. Just-in-Time to popularna funkcja, która ma swoje cechy, takie jak efektywność, brak udziału administracyjnego i automatyczne członkostwo na poziomie organizacyjnym, itp. Teraz, gdy rozumiesz podstawy Just-in-Time, możesz mieć kilka pytań jak bardziej wdrozysz się w rozwój produktu. Odpowiem na te pytania, które mogą być kontrowersyjne i wysoce zależne od twojego konkretnego biznesu.

Czy potrzebujesz wdrożenia Just-in-Time dla swojego produktu?

Te przypadki są częste przy budowaniu aplikacji B2B z architekturą multi-tenant, z Enterprise SSO, pracowaniem z przedsiębiorstwami lub wymagając funkcji onboardingowej dla zespołów. Przykładowe scenariusze, z którymi może się spotkać Twój klient:

Szybki onboarding

Masz klienta, który doświadcza częstego zatrudniania lub szybkiego wzrostu i może użyć JIT do szybkiego skonfigurowania kont użytkowników dla nowych pracowników. Weźmy jako przykład:

Sara jest nowym pracownikiem firmy SuperFantasy, która używa Okta jako swojego Enterprise Identity Provider. Zespół HR dodaje ją jako tożsamość biznesową [email protected] do Okta tylko raz. Gdy Sara loguje się do aplikacji o nazwie Smartworkspace używanej przez przedsiębiorstwo po raz pierwszy, system automatycznie tworzy konto i przydziela jej odpowiednią rolę w środowisku pracy firmy. Dzięki temu ani Sara, ani zespół HR w SuperFantasy nie muszą przechodzić przez wiele kroków związanych z tworzeniem konta i przypisywaniem ról.

Fuzje, przejęcia i tymczasowi pracownicy

Masz klienta, który doświadcza fuzji lub przejęć, JIT może uprościć proces nadawania dostępu do systemów zdobytej firmy dla wielu nowych użytkowników. Weźmy kolejny przykład,

Piotr pracuje dla MagicTech, które zostało ostatnio przejęte przez SuperFantasy. MagicTech to mniejsza organizacja bez Enterprise SSO, ale używa Smartworkspace gdzie Piotr już ma konto biznesowe.

Zespół HR może dodać Piotra w Okta. Gdy Piotr loguje się po raz pierwszy do Smartworkspace przez Okta, system automatycznie powiązuje jego istniejące konto biznesowe i daje odpowiedni dostęp do SuperFantasy.

Powyższe scenariusze są idealne do wprowadzenia funkcji JIT.

Czy jest to specyficzne dla SAML i Enterprise SSO?

Just-in-Time (JIT) często kojarzony jest z Single sign-on (SSO) w uwierzytelnieniu SAML, ale nie jest zarezerwowany tylko dla SAML. JIT może być również używany z innymi protokołami uwierzytelnienia, jak OAuth 2.0 i OpenID Connect, i nie zawsze wymaga ustawień Enterprise SSO.

Na przykład, Just-in-Time oparte na emailu może uprościć onboarding zespołu przez automatyczne dodanie użytkowników do przestrzeni roboczej opartej na domenie email. To szczególnie przydatne dla organizacji, które nie mają budżetu ani zasobów na zakup i zarządzanie Enterprise SSO.

Podstawowym pomysłem za Just-in-Time jest automatyczne tworzenie konta użytkownika lub aktualizacje, gdy użytkownik po raz pierwszy próbuje uzyskać dostęp do usługi, niezależnie od użytego protokołu.

Czy dotyczy to nowych czy obecnych użytkowników aplikacji?

To skomplikowane pytanie. Just-in-Time (JIT) ogólnie odnosi się do pierwszej próby dostępu do aplikacji. Jednakże, różne produkty postrzegają tę funkcjonalność różnie. Niektóre używają JIT tylko do tworzenia tożsamości i kont, podczas gdy inni obejmują także Just-in-Time aktualizacje kont, takie jak powtórne provisionowanie i synchronizacja atrybutów.

Oprócz automatycznego tworzenia nowych kont użytkowników, SAML Just-In-Time Provisioning pozwala także na nadanie i cofnięcie członkostwa w grupach jako część provisionowania. Może również aktualizować provisionowanych użytkowników, aby skupiał ich atrybuty w pamięci Service Provider (SP) z atrybutami magazynu Identity Provider (IDP).

Na przykład, w Oracle Cloud, Just-in-Time provisioning może być skonfigurowany na różne sposoby.

  1. Just-in-Time tworzenie
  2. Just-in-Time aktualizacja

Administrowanie Oracle Identity Cloud Service: Zrozumieć SAML Just-In-Time Provisioning.

Gdy użytkownik się loguje:Przebieg
Istnieje i JIT jest włączony.Normalny przebieg awarii SSO.
Nie istnieje i JIT creation jest włączonyUżytkownik jest tworzony, i wypełniony atrybutami SAML assertion, jak zdefiniowano w konfiguracji JIT.
Istnieje i JIT update jest włączonyWartości atrybutów użytkownika są aktualizowane atrybutami SAML assertion, jak zdefiniowano w konfiguracji JIT.

Jeśli chcesz rozważyć dalszy scenariusz logowania istniejącego użytkownika, upewnij się, że masz solidny system provisionowania wraz z Twoim systemem JIT. Na przykład,

  • Rozwiązanie konfliktów: Twój system powinien mieć strategie zarządzania konfliktami, jeśli istnieje już konto z innymi informacjami niż te, dostarczone przez IdP podczas procesu JIT. Może to wymagać szczegółowej kontroli nad politykami organizacji i konfiguracją IdP.
  • Ślady audytu: Ważne jest, aby utrzymywać logi zarówno nowo tworzonych kont, jak i aktualizacji istniejących kont przez procesy JIT dla celów bezpieczeństwa i zgodności.
  • Wydajność: Chociaż JIT działa szybko, rozważ wpływ na czasy logowania, szczególnie dla istniejących użytkowników, jeśli aktualizujesz ich dane przy każdym logowaniu.
  • Spójność danych: Upewnij się, że proces provisionowania JIT utrzymuje spójność danych, szczególnie podczas aktualizacji istniejących kont użytkowników.

Jaka jest różnica między JIT a SCIM?

Oprócz Just-in-Time (JIT) możesz również słyszeć o SCIM (System for Cross-domain Identity Management). SCIM to otwarty standardowy protokół zaprojektowany w celu uproszczenia i zautomatyzowania zarządzania tożsamością użytkownika w różnych systemach i domenach. Jest on często używany w scenariuszach Synchronizacji Katalogów.

Główna różnica między JIT a SCIM polega na tym, że JIT tworzy konta w trakcie próby logowania użytkownika, podczas gdy SCIM może provisionować użytkowników przez proces offline, niezależny od prób logowania użytkowników.

To oznacza, że JIT skupia się na onboardingu nowych użytkowników, podczas gdy SCIM koncentruje się na pełnym cyklu życia użytkowników.

Co więcej, JIT jest często rozszerzeniem SAML i nie ma standaryzowanej implementacji w różnych systemach, w przeciwieństwie do SCIM, który jest dobrze określonym, standaryzowanym protokołem (RFC 7644) do zarządzania tożsamościami.

Niektóre większe organizacje używają SCIM do provisionowania kont, integrując go z ich własnymi systemami. Może to być bardzo złożone i odbywać się na zasadzie przypadku. Te organizacje mają zwykle system provisionowania, który obejmuje zarówno procesy automatyczne, jak i ręczną interwencję administracyjną.

Just-in-Time provisioning w Logto

SSO Just-in-Time provisioning oraz Email domain Just-in-Time provisioning to funkcje, które wspieramy w Logto.

W Logto mamy ten zestaw funkcji na poziomie organizacji, który pozwala użytkownikom automatycznie dołączać do organizacji i otrzymywać przypisanie ról, jeśli spełniają określone kryteria.

Wdrażamy funkcję JIT na najbardziej skalowalnym i bezpiecznym poziomie, aby uprościć i zautomatyzować proces provisionowania dla deweloperów podczas onboardingu ich klientów. Jednak, jak omówiliśmy wcześniej, ponieważ systemy provisionowania mogą być złożone i dostosowane do specyficznych potrzeb klientów, należy wykorzystać wbudowane funkcje JIT w Logto, staranne projektowanie systemu oraz Logto management API, aby skonstruować solidny system provisionowania.

Popatrzmy, jak to działa w Logto:

Enterprise SSO provisioning

Jeśli masz skonfigurowane Enterprise SSO w Logto, możesz wybrać enterprise SSO swojej organizacji, aby włączyć just-in-time provisioning.

Nowi lub istniejący użytkownicy logujący się po raz pierwszy przez enterprise SSO zostaną automatycznie dołączeni do organizacji i otrzymają domyślne role organizacyjne.

Poniższa tabela wymienia możliwe przepływy:

Stan użytkownikaOpis przepływu
Użytkownik nie istnieje, a JIT jest włączony.Użytkownik jest tworzony i automatycznie dołączany do odpowiedniej organizacji z odpowiednimi rolami.
Użytkownik istnieje z tym samym zweryfikowanym adresem email, co enterprise SSO, a JIT jest włączony.Email użytkownika zostaje automatycznie powiązany z kontem enterprise SSO, a użytkownik dołącza do odpowiedniej organizacji z odpowiednimi rolami.
Użytkownik nie istnieje, a JIT nie jest włączony.Normalny przebieg awarii SSO.
Użytkownik istnieje, a JIT nie jest włączony.Normalny przebieg SSO.

SSO provisioning

Provisionowanie przez domeny email

Jeśli organizacja nie ma dedykowanego enterprise SSO, możesz użyć domen email do włączenia Just-in-Time provisioning. Zazwyczaj ma to miejsce w przypadku mniejszych firm, które nie mają budżetu na enterprise SSO, ale nadal chcą jakiegoś poziomu automatyzacji onboardingowej członków i zarządzania bezpieczeństwem.

Gdy użytkownicy się rejestrują, jeśli ich zweryfikowane adresy email pasują do skonfigurowanych domen email na poziomie organizacji, zostaną provisionowani do odpowiedniej organizacji(i) z odpowiednimi rolami.

Provisionowanie przez domeny email

Provisionowanie przez domeny email działa dla:

  1. Uwierzytelnianie za pomocą emailu
  2. Uwierzytelnianie za pomocą kont społecznościowych

Przebieg email

Stan użytkownikaOpis przepływu
Użytkownik nie istnieje i rejestruje się za pomocą email, a JIT jest włączony.Użytkownik jest tworzony i automatycznie dołączany do odpowiedniej organizacji z odpowiednimi rolami.
Użytkownik istnieje z tym samym zweryfikowanym adresem email, co provisionowane domeny email, a JIT jest włączony.Normalny przebieg logowania za pomocą emaila.
Użytkownik nie istnieje i rejestruje się za pomocą email, a JIT nie jest włączony.Normalny przebieg rejestracji za pomocą emaila.
Użytkownik istnieje i loguje się za pomocą emaila, a JIT nie jest włączony.Normalny przebieg logowania za pomocą emaila.

Przebieg społecznościowy

Stan użytkownikaOpis przepływu
Użytkownik nie istnieje, rejestruje się za pomocą konta w mediach społecznościowych za pomocą zweryfikowanego emaila, a JIT jest włączony.Użytkownik jest tworzony i automatycznie dołączany do odpowiedniej organizacji z odpowiednimi rolami.
Użytkownik nie istnieje, rejestruje się za pomocą konta w mediach społecznościowych za pomocą niezweryfikowanego emaila lub bez podania emaila, a JIT jest włączony.Normalny przebieg rejestracji za pomocą konta w mediach społecznościowych.
Użytkownik istnieje z tym samym zweryfikowanym adresem email co provisionowane domeny email, loguje się przez konto w mediach społecznościowych, a JIT jest włączony.Normalny przebieg logowania przez konto w mediach społecznościowych.
Użytkownik nie istnieje, rejestruje się za pomocą konta w mediach społecznościowych, a JIT nie jest włączony.Normalny przebieg rejestracji za pomocą konta w mediach społecznościowych.
Użytkownik istnieje, loguje się za pomocą konta w mediach społecznościowych, a JIT nie jest włączony.Normalny przebieg logowania za pomocą konta w mediach społecznościowych.

Radzenie sobie z potencjalnym konfliktem provisionowania przez domeny email a Enterprise SSO

Jeśli początkowo skonfigurowałeś provisionowanie przez domeny email, a później skonfigurujesz Enterprise SSO z tą samą domeną email, oto co się stanie:

Gdy użytkownik wprowadza swój adres email, zostanie przekierowany do przebiegu SSO, omijając uwierzytelnianie emailowe. Oznacza to, że proces JIT nie zostanie uruchomiony.

Aby to rozwiązać, wyświetlimy komunikat ostrzegawczy podczas konfiguracji. Upewnij się, że wybrałeś odpowiednie SSO, aby włączyć Just-in-Time provisioning, i nie polegaj na provisionowaniu przez domeny email.

Rozwiązanie konfliktu

Domyślne role organizacyjne

Podczas provisionowania użytkowników możesz ustawić ich domyślne role organizacyjne. Lista ról pochodzi z szablonu organizacji, a możesz wybrać rolę lub pozostawić ją pustą.

Enterprise SSO Just-in-Time update

Na szczęście, mamy tę funkcję już wbudowaną w Enterprise SSO! Możesz wybrać, czy informacje profilowe są synchronizowane z Logto przy pierwszym logowaniu lub przy każdym logowaniu. Rozważymy również dodanie więcej funkcji jak mapowanie ról i organizacji oraz ponowne provisionowanie w przyszłości.

SSO JIT update Sprawdź tutaj, aby dowiedzieć się więcej.

Funkcja Just-in-Time jest już dostępna w Logto. Zarejestruj się w Logto już dziś i zacznij automatyzować onboardowanie członkostwa swoich klientów.