Logo Logo
GitHub Designed by Logto

Just-in-time 프로비저닝이란 무엇인가요?

SaaS B2B 앱을 구축하고 구성원 기능을 지원하고 싶다면, 구성원이 쉽게 작업 공간(tenant)에 가입할 수 있도록 하세요. 아래 표와 같은 기능이 필요할 수 있으며, just-in-time 프로비저닝은 그 과정의 효율성을 높이는 데 도움을 줍니다.

FeaturesFlow
Admin initiated invitation사용자는 조직에 가입하기 위한 이메일 초대를 받을 수 있습니다.
User creation or import through API사용자는 미리 생성된 사용자 계정을 사용하여 조직에 가입할 수 있습니다.
Just-in-time provisioning처음 앱에 로그인하는 사용자는 조직에 가입할 수 있습니다.
Directory Sync (예: SCIM)IdP의 Directory Sync 기능을 사용하여 미리 앱에 사용자를 사전 프로비저닝합니다.

Just-in-time (JIT) 프로비저닝은 사용자가 시스템에 처음으로 로그인할 때 즉석에서 사용자 계정을 생성하는 ID 및 접근 관리 시스템에서 사용되는 프로세스입니다. 사용자 계정을 사전에 미리 프로비저닝하는 대신, JIT 프로비저닝은 사용자가 authenticate(인증)할 때 필요한 사용자 계정을 동적으로 생성하고 구성합니다. Just-in-time 프로비저닝은 효율성, 관리적 개입 없는 구성원 자동 등록 등의 특성을 가진 인기 있는 기능입니다.

Just-in-time 프로비저닝의 사용 사례는 무엇인가요?

이러한 사례는 B2B 앱을 구축할 때, multi-tenant 아키텍처, Enterprise SSO, 기업과의 작업, 팀 온보딩 기능이 필요한 경우에 공통으로 나타납니다. 다음은 고객이 겪을 수 있는 시나리오 예시입니다.

빠른 온보딩

빈번한 채용 또는 빠른 성장을 경험하는 고객은 JIT 프로비저닝을 사용하여 새로운 직원의 사용자 계정을 신속하게 설정할 수 있습니다. 예를 들어:

Sarah는 Company SuperFantasy에서 새로 입사한 직원으로, 이 회사는 Enterprise Identity Provider로서 Okta를 사용합니다. HR 팀은 Okta에 비즈니스 아이덴티티로 그녀를 한 번만 추가합니다. Sarah가 처음으로 기업 생산성 앱인 Smartworkspace에 로그인할 때 시스템은 자동으로 계정을 생성하고 그녀에게 적절한 역할을 부여합니다. 이로 인해 Sarah와 SuperFantasy의 HR 팀은 계정 생성 및 역할 할당에 여러 단계를 거칠 필요가 없습니다.

합병, 인수 및 임시 근로자

합병하거나 다른 회사를 인수하는 고객의 경우, JIT 프로비저닝은 많은 신규 사용자가 인수 회사의 시스템에 접근할 수 있게 하는 과정을 간소화할 수 있습니다. 다음은 또 다른 예입니다:

Peter는 최근 MagicTech라는 회사에서 근무하고 있으며, 이 회사는 최근 SuperFantasy에 인수되었습니다. MagicTech는 Enterprise SSO가 없는 작은 조직이지만, Smartworkspace를 사용하고 있으며, Peter는 이미 비즈니스 계정을 가지고 있습니다.

HR 팀은 Okta에 Peter를 추가할 수 있습니다. Peter가 Okta를 통해 Smartworkspace에 처음 로그인할 때, 시스템은 그의 기존 비즈니스 계정을 자동으로 연결하고 SuperFantasy에 대한 적절한 접근 권한을 부여합니다.

위 시나리오는 JIT 기능을 구현하기에 이상적입니다.

SAML 및 Enterprise SSO에만 해당되나요?

Just-in-time (JIT) 프로비저닝은 SAML 인증에서 기업 SSO (Enterprise SSO) 와 연관되는 경우가 많지만, 보안 어설션 마크업 언어 (Security Assertion Markup Language, SAML) 에 한정되지 않습니다. JIT 프로비저닝은 OAuth 2.0 OpenID Connect (OIDC) 와 같은 다른 authentication(인증) 프로토콜과 함께 사용할 수도 있으며, 항상 기업 SSO (Enterprise SSO) 설정을 요구하지는 않습니다.

예를 들어, 이메일 기반 JIT 프로비저닝은 사용자 이메일 도메인에 따라 자동으로 사용자를 작업 공간에 추가하여 팀 온보딩을 간소화할 수 있습니다. 이는 Enterprise SSO를 구입하고 관리할 예산과 리소스가 부족한 조직에게 특히 유용합니다.

JIT 프로비저닝의 근본적인 아이디어는 특정 프로토콜에 관계없이 사용자가 서비스를 처음 이용하려고 할 때 사용자 계정 생성을 자동화하는 것입니다.

앱의 새로운 사용자나 기존 사용자에게 적용되나요?

Just-in-time (JIT) 프로비저닝은 일반적으로 앱에 처음 접근하는 것을 의미합니다. 하지만 서로 다른 제품은 이 기능을 다르게 인식할 수 있습니다. 일부는 ID 및 계정 생성만을 위해 JIT 프로비저닝을 사용하며, 다른 제품은 재프로비저닝 및 속성 동기화 등 just-in-time 계정 업데이트도 포함합니다.

자동 사용자 생성 외에도 SAML JIT 프로비저닝은 프로비저닝의 일환으로 그룹 가입 허가 및 철회를 허용할 수 있습니다. 또한, 서비스 제공자 (Service provider, SP) 스토어의 프로비저닝된 사용자를 신원 제공자 (Identity provider, IdP) 사용자 스토어 속성과 동기화하여 업데이트할 수 있습니다.

기존 사용자 로그인 시나리오를 고려하고 싶다면, JIT 시스템과 함께 강력한 프로비저닝 시스템을 구축해야 합니다. 예를 들어,

  • 충돌 해결: 계정에 IdP가 JIT 프로세스 중 제공하는 정보와 다른 정보가 있을 경우 이를 처리하기 위한 전략을 마련해야 합니다. 이는 조직의 정책과 IdP 구성에 대한 세밀한 통제가 필요할 수 있습니다.
  • 감사 추적: 보안 및 컴플라이언스 이유로 JIT 프로세스를 통한 새로운 계정 생성 및 기존 계정 업데이트 모두의 로그를 유지하는 것이 중요합니다.
  • 성능: JIT 프로비저닝은 빠르게 수행되지만, 특히 기존 사용자의 정보를 매 로그인마다 업데이트하는 경우 로그인 시간에 미칠 잠재적 영향을 고려해야 합니다.
  • 데이터 일관성: 특히 기존 사용자 계정 업데이트 시, JIT 프로비저닝 프로세스가 데이터 일관성을 유지하도록 보장하세요.

JIT와 SCIM의 차이점은 무엇인가요?

SCIM은 서로 다른 시스템 및 도메인 간의 사용자 ID 관리를 단순화하고 자동화하기 위한 공개 표준 프로토콜입니다. 이는 일반적으로 Directory Sync 시나리오에서 사용됩니다.

JIT와 SCIM의 주된 차이점은 JIT가 사용자의 로그인 시도 시 계정을 생성하는 반면, SCIM은 사용자 로그인 시도와 독립적으로 오프라인 자동화 프로세스를 통해 사용자를 프로비저닝할 수 있다는 점입니다.

즉, JIT는 신규 사용자 온보딩에 초점을 맞추고, SCIM은 사용자 수명 주기 관리에 초점을 맞춥니다.

또한, JIT는 종종 SAML의 확장이며 시스템 간 표준 구현이 부족한 반면, SCIM은 identity management(아이덴티티 관리)를 위한 잘 정의되고 표준화된 프로토콜 RFC 7644 입니다.

일부 대규모 조직은 SCIM을 계정 프로비저닝에 사용하고, 이를 자체 시스템과 통합합니다. 이러한 과정은 매우 복잡할 수 있으며 사례에 따라 다를 수 있습니다. 이러한 조직은 종종 자동화된 프로세스와 수동적 관리 개입을 모두 필요로 하는 프로비저닝 시스템을 보유합니다.