Infograb logo
SCIM 전용 Okta 통합 설치

SCIM (System for Cross-domain Identity Management) 통합은 자동화된 사용자 관리를 가능하게 하며, Teleport의 사용자 계정이 해당 Okta 사용자 프로필과 동기화되도록 보장합니다. 이 통합은 Okta 조직 내의 변경 사항에 따라 Teleport 사용자 계정을 자동으로 생성, 업데이트 및 삭제하여 온보딩 및 오프보딩 프로세스를 간소화합니다. SCIM Teleport 통합은 Okta에서 사용자 프로비저닝이 해제될 때 Teleport에서 사용자를 즉각적으로 잠글 수 있게 하여, 보안 및 컴플라이언스를 유지하기 위해 모든 진행 중인 Teleport 세션을 중지합니다.

작동 방식

SCIM을 사용한 사용자 프로비저닝(및 비활성화)에는 두 개의 Teleport 구성 요소가 함께 작동해야 합니다:

  • 상위 Okta 사용자에 대한 SSO 로그인을 제공하는 SAML 커넥터
  • 상위 Okta 조직 내의 변경에 따라 Teleport 사용자 계정을 프로비저닝하고 비활성화하는 Teleport SCIM 플러그인 통합

이 두 Teleport 구성 요소는 Teleport와 Okta 사이의 인터페이스 역할을 하는 Okta SAML 애플리케이션에 의존합니다. 일관성을 위해 두 Teleport 구성 요소 모두 동일한 Okta 애플리케이션을 사용해야 합니다.

사용자가 Okta 앱에 직접 또는 그룹 구성원을 통해 할당되면, 해당 Teleport 사용자 계정이 생성됩니다. Okta 사용자가 이미 유효한 임시 Teleport SAML 사용자 계정(즉, 사용자가 SCIM 프로비저닝이 활성화되기 전에 SAML SSO를 통해 클러스터에 로그인한 경우)을 가지고 있다면, 임시 계정은 SAML 통합에 의해 자동으로 수용되고 장기 SCIM 관리 계정으로 승격됩니다.

Note

현재 SCIM 사용자 프로필 특성이 Teleport 사용자에 저장되지 않지만, 이는 향후 변경될 수 있습니다.

사용자가 Okta 앱에서 할당 해제되거나 Okta 관리자가 비활성화하면, Teleport는 즉시 해당 사용자를 삭제하고, 기존 세션을 즉시 종료하며 해당 사용자가 이미 발급된 자격증명을 재사용하지 못하도록 방지하는 잠금을 생성합니다. 이 잠-lock은 사용자가 이후 SCIM을 통해 다시 프로비저닝되면 자동으로 해제되지만, 그렇지 않으면 잠금은 영구적이며 명시적으로 삭제해야 제거할 수 있습니다.

Warning

Okta는 사용자가 단순히 일시 중지될 때 SCIM 업데이트를 Teleport에 전송하지 않습니다. Okta는 일시 중지된 사용자의 클러스터 로그인 시도를 방지하지만, 존재하는 세션은 종료되지 않으며 사전 발급된 자격증명은 정상적인 기간 동안 유효합니다.

사전 준비 사항

  • 실행 중인 Teleport 클러스터. Teleport를 시작하려면 가입하기 무료 체험판을 이용해 보세요.

  • tctl 관리 도구 및 tsh 클라이언트 도구 버전 >= 16.2.0.

    tctltsh 다운로드 방법에 대한 지침은 설치를 방문하세요.

1단계/2. Teleport SCIM 통합 설치

Teleport는 두 가지 SCIM 통합 모드를 지원합니다:

  • API 토큰 없이 - 사용자가 Teleport에 로그인할 때 사용자 특성을 역할에 매핑하는 것이 전파됩니다. 부수 효과로 사용자 역할은 사용자가 Teleport에 로그인할 때 표시되고 업데이트됩니다.
  • API 토큰을 사용하여 - 사용자 특성을 역할에 매핑하는 것이 SCIM 사용자 프로비저닝 중 즉시 전파됩니다.

다음 tctl 명령을 실행하여 SCIM 통합을 설치합니다.

$ tctl plugins install okta  \
  --org https://trial-12356.okta.com \
  --saml-connector "${SAML_CONNECTOR_NAME}" \
  --no-users-sync \
  --no-accesslist-sync \
  --no-appgroup-sync \
  --scim
성공적으로 Okta 플러그인 "okta"를 생성했습니다.

SCIM 기본 URL: https://teleport.example.com:443/v1/webapi/scim/okta
SCIM 사용자 식별자 필드: userName
SCIM 베어러 토큰: 1234567891234567891234567890
$ tctl plugins install okta  \
  --org https://trial-12356.okta.com \
  --saml-connector "${SAML_CONNECTOR_NAME}" \
  --no-users-sync \
  --no-accesslist-sync \
  --no-appgroup-sync \
  --scim
  --api-token="${OKTA_API_TOKEN}"
성공적으로 Okta 플러그인 "okta"를 생성했습니다.

SCIM 기본 URL: https://teleport.example.com:443/v1/webapi/scim/okta
SCIM 사용자 식별자 필드: userName
SCIM 베어러 토큰: 1234567891234567891234567890

2단계/2. Okta 앱 구성

Teleport SCIM 통합을 활용하려면, Okta 앱에서 SCIM 프로비저닝을 활성화해야 하며, 이는 사용자 관리 변경 사항을 Teleport에 전파합니다. Okta 앱에서 SCIM 프로비저닝을 구성하는 방법에 대한 자세한 지침은 Okta 통합 SCIM 프로비저닝 구성하기 가이드를 참조하세요.

Okta 앱이 SCIM 프로비저닝이 활성화되기 전에 할당된 사용자라도, 사용자를 명시적으로 프로비저닝해야 합니다. 이는 Okta 앱 할당 페이지에서 Provision Users 버튼을 선택하여 수행할 수 있습니다.

기존 사용자 프로비저닝
Tip

일부 Okta 인스턴스에서 Provision Users 버튼이 누락된 경우를 보았습니다. 그럴 경우, 사용자를 앱에서 제거하고 다시 추가하는 것이 사용자 프로비저닝을 강제하는 최선의 방법으로 확인되었습니다. Provisioning/To App 패널에서 Force Sync를 트리거하는 것도 작동할 수 있지만, 간헐적으로만 성공한 경험이 있습니다.

Teleport에서 프로필 데이터 숨기기

Okta 사용자 프로필에 Teleport 클러스터와 공유하고 싶지 않은 데이터가 있는 경우, Okta 애플리케이션 사용자 프로필을 편집하여 Teleport에 전체 사용자 프로필의 부분 집합 및/또는 매핑된 버전을 제공할 수 있습니다.

SCIM 통합 삭제

Teleport UI의 통합 페이지를 통해 SCIM 통합을 삭제하거나, 다음과 같이 tctl을 사용하여 삭제할 수 있습니다:

$ tctl plugins delete okta
Warning

SCIM 서비스에서 프로비저닝된 사용자는 SCIM 플러그인과 함께 자동으로 삭제되지 않습니다.

tctl 및 jq의 조합을 사용하여 SCIM 프로비저닝된 모든 사용자를 반자동으로 삭제할 수 있습니다.

예를 들어:

tctl get users --format=json \
 |  jq '.[] | select(.metadata.labels["teleport.dev/origin"] == "okta") | .metadata.name' -r \
 | xargs -L 1 tctl users rm
Teleport 원문 보기