SCIM을 사용한 사용자 및 그룹 프로비저닝

SCIM으로 사용자와 그룹 프로비저닝 - 메인
이 글에서는

SCIM(System for Cross-domain Identity Management) API 표준을 사용하여 Notion 워크스페이스에서 사용자와 그룹을 프로비저닝하고 관리하세요 🔑


사용자 프로비저닝과 관리:

  • 워크스페이스에서 멤버 생성, 제거

  • 멤버의 프로필 정보 업데이트

  • 워크스페이스에서 멤버 검색

    • 이메일 또는 이름으로 멤버 찾기

그룹 프로비저닝과 관리:

  • 워크스페이스에서 그룹 생성, 제거

  • 그룹에 멤버 추가, 제거

  • 워크스페이스에서 그룹 검색

    • 이름으로 그룹 찾기

지원되지 않는 기능:

  • 워크스페이스 게스트 관리

현재 Okta, OneLogin, Rippling, Gusto, 그 외 사용자 지정 SCIM 애플리케이션을 지원합니다. 다른 ID 공급자를 사용하시는 경우 알려주세요.

Notion에서 SCIM을 사용하기 위한 사전 요건

  • 엔터프라이즈 요금제로 워크스페이스를 사용해야 합니다.

  • IDP(ID 제공자)가 SAML 2.0 프로토콜을 지원해야 합니다.

  • 워크스페이스 소유자만 Notion 워크스페이스의 SCIM을 구성할 수 있습니다.

  • 워크스페이스 소유자가 하나 이상의 도메인을 인증한 상태여야 합니다. 도메인 인증에 대해 자세히 알아보기 →

SCIM API 토큰 생성

엔터프라이즈 요금제 워크스페이스 소유자는 설정과 멤버보안과 신원SCIM 구성으로 이동하여 SCIM API 토큰을 생성하고 확인할 수 있습니다.

  • 새 토큰을 생성하려면, 오른쪽의 + 새 토큰 버튼을 클릭하세요.

  • 버튼을 클릭하면 각 워크스페이스 소유자만 볼 수 있는 고유 토큰이 생성됩니다.

토큰 철회

워크스페이스 소유자가 워크스페이스를 나가거나 역할이 변경되면 해당 토큰은 철회됩니다. 이 경우, 나머지 워크스페이스 소유자들에게 철회된 토큰을 교체하라는 메시지가 자동으로 전송됩니다.

워크스페이스 소유자는 사용 중인 토큰을 철회할 수도 있습니다. 토큰을 철회하려면 각 토큰 옆에 있는 🗑를 클릭하세요.

기존 토큰 교체

토큰이 철회된 경우, 기존 API 통합의 토큰을 교체해야 합니다.

철회된 토큰에 기반한 SCIM 통합이나 사용자 프로비저닝은 새로운 토큰이 적용될 때 까지 비활성화됩니다.

참고: 기존 API 통합의 오작동을 방지하기 위해, 관리자를 디프로비저닝하기 전에 해당 관리자가 생성한 토큰을 먼저 교체하세요.

  • GET /ServiceProviderConfig

    • GET <https://api.notion.com/scim/v2/ServiceProviderConfig>

    • 사용 가능한 SCIM 사양의 기능에 대한 설명을 검색합니다.

    • 자세한 내용은 SCIM 프로토콜 사양 문서의 섹션 5에서 확인하세요.

  • GET /ResourceTypes

Azure

추가적인 안내가 필요하시다면 Azure Active Directory의 고객 센터의 문서를 참고해 주세요.

Notion에 Azure SCIM을 통합하면 아래와 같은 프로비저닝 기능을 사용할 수 있어요.

  • 사용자 생성

  • 사용자 제거

  • Azure AD와 Notion에서 사용자 속성 동기화

  • Notion에서 그룹과 그룹 멤버십 프로비저닝

  • Notion에서 SSO(통합로그인) 사용(권장)

참고: 프로비저닝 배포를 계획하는 데 추가 설명이 필요한 경우 Azure 설명서를 함께 참고하세요.

1단계: Azure AD 프로비저닝 지원을 위한 Notion 구성

  • Notion 워크스페이스에 로그인하고 

    설정과 멤버신원과 프로비저닝 탭을 연 다음, 아래로 스크롤하여 SCIM 프로비저닝으로 이동하세요.

  • 토큰이 아직 생성되지 않았으면 

    + 토큰 추가를 클릭하고 토큰을 복사하세요. 5.5단계에서 이 토큰을 시크릿 토큰으로 사용해야 합니다.

  • Notion의 SCIM 테넌트 URL은 https://notion-proxy.senuto.com/scim/v2입니다. 이 URL을 5.5단계에서 사용해야 합니다.

2단계: Azure AD 애플리케이션 갤러리에서 Notion 추가

  • 갤러리에서 애플리케이션을 추가하려면 여기의 설명을 따라 진행하세요.

Azure AD 프로비저닝 서비스를 사용하면 애플리케이션에 대한 배정이나 사용자/그룹의 속성에 따라 프로비저닝 대상의 범위를 지정할 수 있습니다.

  • 배정을 기준으로 앱에 프로비저닝 대상의 범위를 지정할 경우 아래 단계를 따라 사용자와 그룹을 애플리케이션에 배정할 수 있어요.

  • 사용자 또는 그룹의 속성만을 기준으로 프로비저닝 대상의 범위를 지정할 경우 여기에 설명된 대로 범위 지정 필터를 사용할 수 있어요.

3단계: Notion에 자동 사용자 프로비저닝 구성

  • Azure 포털에 로그인하고 Enterprise Applications(엔터프라이즈 애플리케이션)을 선택한 후, All applications(모든 애플리케이션)을 선택하세요.

  • 애플리케이션 목록에서 Notion을 선택하세요.

  • 프로비저닝(Provisioning) 탭을 선택하세요.

  • 프로비저닝 모드(Provisioning Mode)를 자동(Automatic)으로 설정하세요.

  • 관리자 자격 증명(Admin Credentials) 섹션에 Notion 테넌트 URL과 시크릿 토큰을 입력하세요. 연결 테스트(Test Connection)를 클릭하여 Azure AD가 Notion에 연결되는지 확인하세요. 연결에 실패하면 Notion 계정에 관리자 권한이 있는지 확인하고 다시 시도하세요.

  • 저장(Save)을 선택하세요.

  • 매핑(Mappings) 섹션에서 Synchronize Azure Active Directory Users to Notion(Azure Active Directory 사용자를 Notion에 동기화)을 선택하세요.

    • Azure AD에서 Notion으로 동기화된 사용자 속성을 속성-매핑(Attribute-Mapping) 섹션에서 검토하세요. 저장(Save) 버튼을 선택하여 변경 사항을 저장하세요.

  • 매핑(Mappings) 섹션에서 Synchronize Azure Active Directory Users to Notion(Azure Active Directory 사용자를 Notion에 동기화)을 선택하세요.

    • Azure AD에서 Notion으로 동기화된 그룹 속성을 속성-매핑(Attribute-Mapping) 섹션에서 검토하세요. 저장(Save) 버튼을 선택하여 변경 사항을 저장하세요.

  • Notion에 Azure AD 프로비저닝 서비스를 활성화하려면 설정에서 프로비저닝 상태(Provisioning Status)를 On으로 변경하세요.

  • 설정 섹션의 범위(Scope)에서 원하는 값을 선택하여 Notion에 프로비저닝할 사용자 또는 그룹을 결정하세요.

  • 프로비저닝할 준비가 되었다면 저장(Save) 버튼을 클릭하세요.

참고: Azure SCIM

참고: 이 작업은 설정 섹션의 범위(Scope)에서 선택한 모든 사용자와 그룹의 첫 동기화 사이클을 시작합니다.

첫 사이클은 후속 사이클에 비해 시간이 더 오래 걸릴 수 있어요. 이후 동기화는 Azure AD 프로비저닝 서비스가 실행 중인 경우 약 40분마다 실행됩니다.

Google

추가 설명이 필요한 경우 Google Workspace 관리자 도움말 문서의 설명을 함께 참고하세요.

Notion에 Google SCIM을 통합하면 아래와 같은 프로비저닝 기능이 지원됩니다.

  • 사용자 생성

  • 사용자 속성 업데이트(사용자가 조직 이메일 도메인을 사용하는 경우)

  • 사용자 비활성화(Notion 워크스페이스에서 사용자가 제거됩니다)

참고: Google SCIM API 통합은 그룹 프로비저닝과 프로비저닝 해제를 지원하지 않습니다.

1단계: Notion에서 사용자 프로비저닝 활성화

  • 설정과 멤버 탭으로 이동한 다음 신원과 프로비저닝 탭을 선택하세요.

  • 아래로 스크롤해 SCIM 구성 섹션으로 이동하세요. 선택 가능한 SCIM 토큰이 나타납니다.

  • SCIM 토큰 표에서 기존 토큰 옆에 있는 복사 를 클릭하거나 오른쪽 모서리에 있는 토큰 추가를 클릭하여 새 토큰을 만드세요.

2단계: Google에서 프로비저닝 구성

Gusto

설정 프로세스에 관한 자세한 도움말은 Gusto를 참고하세요.

1단계: 연결을 클릭하고 안내에 따라 계정을 인증하세요.

  • Notion 사이드바에서 설정과 멤버 -> 신원과 프로비저닝으로 이동하세요.

  • SCIM 프로비저닝에서 토큰 추가를 클릭하고 토큰을 복사하세요.

  • Gusto에서 SCIM API 키 필드에 토큰을 붙여 넣고 Notion 계정 이메일을 입력하세요.

2단계: Gusto 팀 멤버와 Notion 사용자 계정을 매치시키세요.

Okta

Notion과 Okta API를 통합하면 아래와 같은 프로비저닝 기능이 지원됩니다.

  • 사용자 생성

  • 사용자 속성 업데이트(사용자에게 조직에 속한 이메일 도메인이 있는 경우)

  • 사용자 비활성화(비활성화 시 Notion 워크스페이스에서 사용자 제거됨)

  • 그룹 푸시

1단계: Notion에서 프로비저닝 활성화

  • 설정과 멤버에서 신원과 프로비저닝 탭으로 이동하세요.

  • 아래로 스크롤하여 SAML SSO (통합로그인) 섹션으로 이동하세요.

  • SAML SSO 구성 편집 버튼을 여세요.

  • Assertion Consumer Service(ACS) URL 옆에 있는 복사 링크를 클릭하세요. 나중에 다시 검색할 수 있도록 다른 곳에 저장해 두세요.

  • 설정과 멤버 → 신원과 프로비저닝에서 아래로 스크롤해 SCIM 프로비저닝 섹션으로 이동하세요.

  • 토큰이 아직 생성되지 않은 경우 + 토큰 추가를 클릭하고 토큰을 복사하세요. 나중에 다시 검색할 수 있도록 다른 곳에 저장해 두세요.

2단계: Okta에서 프로비저닝 구성

  • Okta의 앱 카탈로그 디렉토리에서 Notion 앱을 추가하세요.

  • Sign-on 옵션 보기의 Sign On 애플리케이션 탭에서 애플리케이션 사용자 이름 형식으로 이메일을 선택하세요.

  • 프로비저닝 탭에서 API 통합 구성을 선택하고 API 통합 활성화 체크박스를 클릭하세요.

  • 1단계에서 복사한 Notion SCIM API 토큰API 토큰 텍스트 상자에 입력하고 저장을 누르세요.

  • 앱에 프로비저닝 제목 옆에 있는 편집 버튼을 클릭하고 원하는 기능을 활성화하세요. 사용자 생성, 사용자 속성 업데이트, 사용자 비활성화 등의 기능이 있습니다. 저장을 클릭하세요.

  • API 통합을 설정한 후 그룹 푸시 탭을 열고 그룹 푸시 버튼을 사용해 Notion과 동기화하려는 Okta 그룹을 추가하세요.

참고: 기존 SCIM 구성을 통해 사용자/그룹을 업데이트할 때 Okta에서 Notion 앱을 삭제하지 마세요. Notion App을 삭제하면 프로비저닝된 모든 사용자가 워크스페이스에서 삭제됩니다.

Okta로 프로비저닝을 설정하는 데 어려움이 있으면 [email protected]으로 문의주세요.

OneLogin

추가 설명이 필요한 경우 OneLogin 웹사이트의 설명을 함께 참고하세요.

Notion과 OneLogin API를 통합하면 아래와 같은 프로비저닝 기능이 지원됩니다.

  • 사용자 생성

  • 사용자 속성 업데이트(사용자에게 조직에 속한 이메일 도메인이 있는 경우)

  • 사용자 비활성화(비활성화 시 Notion 워크스페이스에서 사용자 제거됨)

  • OneLogin 역할과 Notion 사용 권한 그룹을 매핑하는 규칙 수립

참고: OneLogin을 통해 Notion 사용자 프로비저닝을 하는 경우 SSO를 구성하기 전에 SCIM을 구성하는 것이 중요합니다.

1단계: Notion에서 프로비저닝 활성화

  • 설정과 멤버에서 신원과 프로비저닝 탭으로 이동하세요.

  • 아래로 스크롤하여 SAML SSO (통합로그인) 섹션으로 이동하세요.

  • SAML SSO 구성 편집 버튼을 여세요.

  • Assertion Consumer Service(ACS) URL 옆에 있는 복사 링크를 클릭하세요. 나중에 다시 검색할 수 있도록 다른 곳에 저장해 두세요.

  • 설정과 멤버 → 신원과 프로비저닝에서 아래로 스크롤해 SCIM 프로비저닝 섹션으로 이동하세요.

  • 토큰이 아직 생성되지 않은 경우 + 토큰 추가를 클릭하고 토큰을 복사하세요. 나중에 다시 검색할 수 있도록 다른 곳에 저장해 두세요.

참고: 워크스페이스 소유자는 자신이 생성한 토큰만 복사하고 사용할 수 있습니다. 다른 워크스페이스 소유자가 이미 토큰을 만든 경우 다른 토큰이 필요한지 확인하세요. 토큰을 생성한 워크스페이스 소유자가 워크스페이스에서 나가거나 멤버로 다운그레이드되면 모든 토큰이 만료됩니다.

2단계: OneLogin에서 프로비저닝 구성

  • 관리(Administration) → 애플리케이션 → 애플리케이션으로 이동하세요.

  • 앱 추가 버튼을 클릭하고 검색창에서 Notion을 검색한 다음 Notion SAML 2.0 버전을 선택하세요.

  • 저장을 클릭하세요.

  • 구성 탭으로 이동하세요.

  • Assertion Consumer Service(ACL) URLConsumer URL 텍스트 박스에 붙여 넣으세요.

  • SCIM API 토큰SCIM 전달자 토큰 텍스트 상자에 붙여 넣으세요.

  • 사용(Enable)을 클릭하세요.

  • 프로비저닝 탭으로 이동하세요.

  • 워크플로에서 프로비저닝 사용(Enable provisioning)을 선택하세요.

  • 오른쪽 상단에 있는 저장 버튼을 클릭하세요.

  • (선택 사항) 사용자가 생성, 삭제, 업데이트될 때 관리자 승인을 요청하지 않도록 설정할 수 있습니다. 이 설정을 사용하기 전에 관리자 승인이 필요합니다.

  • (선택 사항) 사용자가 OneLogin에서 삭제될 때 Notion 워크스페이스에서도 사용자를 제거할지 선택할 수 있습니다.

  • 오른쪽 상단에 있는 저장 버튼을 클릭하세요.

Rippling

자세한 설명은 Rippling 웹 사이트를 참고하세요.

아래 표는 SCIM 사용자 속성과 Notion 사용자 프로필 필드 간의 매핑에 대한 간략한 설명입니다. 다른 사용자 속성은 무시됩니다.

  • GET /Users

    • GET <https://api.notion.com/scim/v2/Users>

    • 페이지를 매긴 워크스페이스 멤버 목록을 검색합니다.

    • startIndexcount 매개 변수를 사용하여 페이지를 매길 수 있습니다. startIndex는 1부터 시작합니다.

    • 필터 매개 변수를 사용하여 결과를 필터링할 수 있습니다. 필터링 기준으로 유효한 속성은 email, given_name, family_name입니다. 예: GET <https://api.notion.com/scim/v2/Users?startIndex=1&count=50&filter=email> eq [email protected]

    • given_namefamily_name은 대소문자를 구분합니다. 이메일은 소문자로 변환됩니다.

  • GET /Users/<id>

    • GET <https://api.notion.com/scim/v2/Users/><id>

    • Notion 사용자 ID로 특정 워크스페이스 멤버를 검색합니다. 이 ID는 00000000-0000-0000-0000-000000000000 형식의 32자 UUID입니다.

    • meta.created와 meta.lastModified의 값은 유의미한 타임스탬프 값이 아닙니다.

  • POST /Users

    • POST <https://api.notion.com/scim/v2/Users>

    • 추가하려는 사용자에게 이미 동일한 이메일을 사용하는 Notion 계정이 있는 경우, 해당 계정이 워크스페이스에 추가됩니다.

    • 사용자가 존재하지 않는 경우 이를 호출하면 새 Notion 사용자가 생성되고 해당 사용자가 워크스페이스에 추가됩니다. 그리고 생성된 Notion 사용자 프로필에 매핑됩니다.

  • PATCH /Users/<id>

    • PATCH <https://api.notion.com/scim/v2/Users/><id>

    • 일련의 작업을 통해 업데이트하고, 업데이트된 사용자 레코드를 반환합니다.

참고: 멤버가 사용하는 이메일 도메인에 대한 소유권이 검증된 경우에만 멤버의 프로필 정보를 업데이트할 수 있습니다(일반적으로 Notion에 구성한 SAML SSO 이메일 도메인과 동일합니다). 새 이메일 도메인을 검증하려면 Notion 팀에 문의해 주세요.

  • PUT /Users/<id>

    • PUT <https://api.notion.com/scim/v2/Users/><id>

    • 업데이트하고, 업데이트된 사용자 레코드를 반환합니다.

  • DELETE /Users/<id>

    • DELETE <https://api.notion.com/scim/v2/Users/><id>

    • 워크스페이스에서 사용자를 제거합니다. 사용자가 모든 활성 세션에서 로그아웃됩니다.

      • SCIM으로 사용자 계정을 삭제할 수는 없습니다. 계정 삭제는 수동으로 수행해야 합니다.

      • PATCH /Users/<id> 또는 PUT /Users/<id> 요청을 보내 활성 사용자 속성을 false로 설정해도 워크스페이스에서 사용자를 제거할 수 있습니다.

  • 참고: SCIM 봇 토큰을 만든 워크스페이스 소유자는 API를 통해 제거할 수 없습니다.워크스페이스 소유자가 SCIM API를 통해 제거되면 해당 소유자가 만든 모든 토큰이 취소되고 해당 봇을 사용하는 모든 API 통합이 중단됩니다.

  • GET /Groups

    • GET <https://api.notion.com/scim/v2/Groups>

    • 페이지를 매긴 워크스페이스 멤버 목록을 검색합니다.

    • startIndex와 count 매개 변수를 사용하여 페이지를 매길 수 있습니다. startIndex는 1부터 시작하며 최대 개수는 100입니다. 예: GET <https://api.notion.com/scim/v2/Groups?startIndex=1&count=5>

      • 페이지네이션이 사용되지 않으면 한 번의 요청에서 최대 100개의 워크스페이스 그룹이 반환됩니다.

    • 필터 매개 변수를 사용하여 결과를 필터링할 수 있습니다. 그룹은 displayName 속성으로 필터링할 수 있습니다. 예: GET <https://api.notion.com/scim/v2/Groups?filter=displayName> eq Designers

  • GET /Groups/<id>

    • GET <https://api.notion.com/scim/v2/Groups/><id>

    • Notion 그룹 ID로 특정 워크스페이스 그룹을 검색합니다. 이 ID는 00000000-0000-0000-0000-000000000000 형식의 32자 UUID입니다.

  • POST /Groups

    • POST <https://api.notion.com/scim/v2/Groups>

    • 새 워크스페이스 그룹을 생성합니다.

  • PATCH /Groups/<id>

    • PATCH <https://api.notion.com/scim/v2/Groups/><id>

    • 일련의 작업을 통해 워크스페이스 그룹을 업데이트합니다.

  • PUT /Groups/<id>

    • PUT <https://api.notion.com/scim/v2/Groups/><id>

    • 워크스페이스 그룹을 업데이트합니다.

  • DELETE /Groups/<id>

    • DELETE <https://api.notion.com/scim/v2/Groups/><id>

    • 워크스페이스 그룹을 삭제합니다.

참고: 그룹을 삭제했을 때 하나 이상의 페이지에 '모두 허용' 권한을 가진 사용자가 아무도 없다면, 그룹 삭제가 불가능합니다.


피드백 보내기

이 내용이 도움이 되었나요?