SSO 조직에서 사용자 접근 관리하기

SSO 조직에서 사용자 접근 관리하기

LangSmith가 Single Sign-On(SSO) 인증을 사용할 때 사용자가 조직에 가입하는 방식을 관리하는 유연한 컨트롤을 알려드릴게요.

Just-In-Time(JIT) 프로비저닝과 사용자 초대를 각각 독립적으로 활성화·비활성화하여 조직의 보안 및 온보딩 요구사항에 맞출 수 있습니다.

SSO가 활성화되면 두 가지 독립 설정이 있습니다: JIT 프로비저닝은 SSO로 로그인할 때 사용자를 자동으로 추가하고, 초대는 관리자가 사용자가 조직에 접근하기 전에 수동으로 초대할 수 있게 합니다. 이 설정들을 조합하여 사용자 온보딩 워크플로를 제어하세요.

이 페이지에서는 이 설정이 어떻게 동작하고 어떻게 구성하는지 설명합니다.

출처: 문서

본문

설정

다음 두 설정을 독립적으로 제어하여 사용자가 조직에 가입하는 방식을 관리할 수 있습니다.

JIT 프로비저닝

jit_provisioning_enabled 설정은 자동 사용자 프로비저닝을 제어합니다. 활성화하면 SSO 프로바이더로 인증하는 사용자가 조직에 자동으로 추가되고 기본 역할로 기본 워크스페이스에 배정됩니다. 자세한 내용은 기본 SSO 설정 구성을 참고하세요. 비활성화하면 사용자가 조직에 접근하려면 명시적으로 초대되거나 SCIM으로 추가되어야 합니다.

초대

invites_enabled 설정은 수동 사용자 초대를 제어합니다. 활성화하면 조직 관리자가 사용자가 로그인하기 전에 초대를 보낼 수 있습니다. 초대받은 사용자는 SSO 로그인 시 초대를 수락할 수 있습니다. 비활성화하면 수동 초대가 허용되지 않으며 사용자는 JIT 프로비저닝이나 SCIM으로만 가입할 수 있습니다.

설정 업데이트

LangSmith UI 또는 LangSmith API에서 이 설정을 업데이트할 수 있습니다:

UI:

  1. Settings > Organization > Access and Security > General로 이동합니다.
  2. 필요에 따라 Enable JIT provisioningAllow invites를 토글합니다.
  3. Settings > Organization > SSO Configuration에서 SSO 기본 워크스페이스와 역할을 구성합니다.

API:

Update organization info 엔드포인트로 조직 설정을 프로그래매틱하게 업데이트합니다:

curl -X PATCH https://api.smith.langchain.com/api/v1/organizations/current/info \
  -H "Authorization: Bearer $LANGS..._KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jit_provisioning_enabled": true,
    "invites_enabled": true
  }'

응답에는 업데이트된 현재 조직 구성이 포함됩니다:

{
  "id": "org-uuid",
  "display_name": "My Organization",
  "jit_provisioning_enabled": true,
  "invites_enabled": true,
  "sso_login_slug": "my-org",
  ...
}

참고: LangSmith self-hosted를 사용하는 경우 다음을 고려하세요:

  • JIT 프로비저닝과 초대 설정은 기본 조직(default_sso_provision=true로 식별됨)에만 적용됩니다. self-hosted의 다른 조직은 초대를 사용해야 합니다.
  • 환경 변수 SELF_HOSTED_JIT_PROVISIONING_ENABLED는 JIT 프로비저닝 설정을 전역으로 재정의할 수 있습니다. false로 설정하면 개별 설정과 무관하게 모든 조직에서 JIT 프로비저닝이 비활성화됩니다.
  • 추가 self-hosted 사용자 관리 사용자 지정은 사용자 관리 사용자 지정을 참고하세요.

사용자 접근 동작 방식

사용자가 SSO로 로그인을 시도하면 LangSmith는 다음 결정 흐름을 따릅니다:

  1. 사용자가 SSO 프로바이더로 인증합니다.
  2. LangSmith가 사용자에게 조직 접근권이 이미 있는지 확인합니다:
    ├─ YES → User is signed in
    └─ NO → Continue to step 3
    
  3. 초대가 활성화되어 있고 보류 중인 초대가 존재하는지 확인합니다:
    ├─ YES → Provision into organization with invite's organization role; provision into workspaces if invite included workspaces
    └─ NO → Continue to step 4
    
  4. JIT 프로비저닝이 활성화되어 있는지 확인합니다:
    ├─ YES → Automatically provision user with default SSO workspaces/role
    └─ NO → Deny access (user must be added via SCIM or by administrator)
    

참고: JIT 프로비저닝과 초대가 모두 활성화되면 초대가 우선합니다. 보류 중인 초대가 있는 사용자는 기본 SSO 설정이 아닌 초대 내용으로 추가됩니다.

구성 시나리오

개방형 접근 (둘 다 활성화)

구성:

  • ✓ JIT Provisioning 활성화
  • ✓ Invites 활성화

동작:

  • 사용자는 SSO로 즉시 로그인할 수 있고 자동 프로비저닝됩니다.
  • 관리자는 특정 역할이나 워크스페이스를 배정하기 위해 초대를 보낼 수 있습니다.
  • 초대받은 사용자는 초대 구성을 받고, 초대받지 않은 사용자는 기본 SSO 구성을 받습니다.

예시:

User [email protected] signs in via SSO:
  - No invite exists → Added to default workspaces with Viewer role

User [email protected] signs in via SSO:
  - Invite exists for Editor role in "Production" workspace → Added only to "Production" workspace with Editor role (invite takes precedence)

JIT 전용 (초대 비활성화)

구성:

  • ✓ JIT Provisioning 활성화
  • ✗ Invites 비활성화

동작:

  • SSO로 인증하는 모든 사용자가 자동 프로비저닝됩니다.
  • 관리자는 초대를 보낼 수 없습니다.
  • 모든 새 사용자는 동일한 기본 워크스페이스와 역할을 받습니다.

초대 전용 (JIT 비활성화)

구성:

  • ✗ JIT Provisioning 비활성화
  • ✓ Invites 활성화

동작:

  • 사용자는 조직에 접근하려면 먼저 초대되어야 합니다.
  • 유효한 SSO 자격 증명이 있어도 초대가 없는 사용자는 접근이 거부됩니다.
  • 조직에 접근할 수 있는 사용자를 세밀하게 제어할 수 있습니다.

예시:

User [email protected] signs in via SSO:
  - Has pending invite → Successfully joins organization

User [email protected] signs in via SSO:
  - No invite → Access denied (must request invite from administrator)

폐쇄형 접근 (둘 다 비활성화)

구성:

  • ✗ JIT Provisioning 비활성화
  • ✗ Invites 비활성화

동작:

  • SSO 사용자는 자동으로 조직에 가입할 수 없습니다.
  • 초대를 보낼 수 없습니다.
  • 사용자는 SCIM을 통해 프로비저닝되거나, SCIM을 통해 이미 조직의 일부가 된 뒤 관리자가 직접 프로비저닝해야 합니다.

사용자 접근 빠른 참조

JIT 활성화 Invites 활성화 보류 중인 초대 결과
Yes Invite claimed (invite configuration used)
No Auto-provisioned (default SSO configuration)
N/A Auto-provisioned (default SSO configuration)
Yes Invite claimed
No Access denied - must be invited
N/A Access denied - must use SCIM or admin

기본 SSO 설정 구성

JIT 프로비저닝이 활성화되면 새 사용자용 기본 설정을 구성합니다:

  1. 기본 워크스페이스 역할. 자동 프로비저닝 시 사용자가 받는 워크스페이스 역할을 선택합니다. 각 역할이 무엇을 할 수 있는지는 조직·워크스페이스 작업을 참고하세요. 옵션:
    • Viewer: 읽기 전용 접근
    • User: 표준 접근
    • Editor: 리소스 수정 가능
    • Admin: 워크스페이스 전체 제어
  2. 기본 워크스페이스. 사용자가 자동으로 추가될 워크스페이스를 하나 이상 선택합니다. 사용자는 선택한 모든 워크스페이스에서 동일한 역할을 받습니다. 구성 방법:
    1. Settings > Organization > SSO Configuration으로 이동합니다.
    2. Default workspace role을 설정합니다.
    3. Default workspaces를 선택합니다.
    4. 구성을 저장합니다.

SCIM 통합

조직이 SCIM(System for Cross-domain Identity Management)을 사용하면 사용자를 ID 프로바이더를 통해 자동으로 프로비저닝·관리할 수 있습니다. SCIM은 JIT 및 초대 설정과 함께 동작하는 추가 사용자 관리 메커니즘을 제공합니다.

참고: SCIM 그룹 구성원은 수동 또는 JIT 프로비저닝으로 배정된 역할을 재정의합니다. SCIM을 사용하는 경우 충돌을 피하려면 JIT 프로비저닝을 비활성화하는 것을 고려하세요.

SSO Groups Sync

SSO Groups Sync는 SCIM의 대안으로, 로그인 시 SSO 토큰에서 그룹 구성원을 읽고 SCIM 명명 규칙을 사용해 조직·워크스페이스 역할을 배정합니다. 동기화는 각 로그인에서 JIT와 초대 해석 후 실행되며, 자신이 만든 구성원만 소유합니다.

JIT, 초대, SCIM과의 우선순위:

  • SCIM 출처 구성원은 SSO Groups Sync가 절대 수정하지 않습니다.
  • SSO Groups Sync 출처 구성원은 토큰의 그룹 구성원을 기준으로 각 로그인에서 완전히 대체됩니다.
  • 수동 및 JIT 프로비저닝 구성원은 SSO Groups Sync가 수정하지 않습니다.

혼동스러운 우선순위 동작을 피하려면 조직당 SCIM 또는 SSO Groups Sync 중 하나만 선택하는 것을 권장합니다. 구성과 장단점은 SSO Groups Sync를 참고하세요.

관련 문서

더 알아보기