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을 사용해 사용자의 이름이나 이메일 주소를 수정하려면 해당 이메일 도메인에 대한 소유권이 확인돼어야 합니다. 도메인 인증에 대해 자세히 알아보기 →

SCIM API 토큰 생성

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

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

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

토큰 철회

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

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

기존 토큰 교체

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

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

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

초대 이메일 표시 안 함

SCIM을 통해 프로비저닝 시 사용자가 이메일로 워크스페이스와 그룹 초대를 받을지 제어하려면 엔터프라이즈 요금제 워크스페이스의 소유자가 설정과 멤버신원과 프로비저닝SCIM 프로비저닝SCIM 프로비저닝에서 생성된 초대 이메일 표시 안 함에서 설정을 조정하세요. 사용자에게 이메일을 보내지 않으려면 이 설정을 토글하세요.

  • 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 구성

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Google

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

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

  • 사용자 생성

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

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

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

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

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

  2. 아래로 스크롤해 SCIM 프로비저닝 섹션으로 이동하세요. 선택 가능한 SCIM 토큰이 나타납니다.

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

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

  1. 사용자 계정에 적절한 권한이 있는지 확인하려면 관리자 계정으로 로그인해야 합니다.

  2. Google Workspace 관리자 고객센터Notion 애플리케이션에 자동 프로비저닝 설정부터 단계별 설명에 따라 진행하세요.

Gusto

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

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

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

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

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

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

Okta

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

  • 사용자 생성

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

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

  • 그룹 푸시

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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에서 프로비저닝 구성

  1. 관리애플리케이션애플리케이션으로 이동하세요.

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

  3. 저장을 클릭하세요.

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

  5. Assertion Consumer Service(ACL) URL을 Consumer URL 상자에 붙여넣으세요.

  6. SCIM API 토큰SCIM 전달자 토큰 상자에 붙여넣으세요.

  7. 활성화를 클릭하세요.

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

  9. 워크플로에서 프로비저닝 활성화를 선택하세요.

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

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

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

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

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 이메일 도메인과 동일합니다. 이 가이드를 통해 도메인을 인증하세요 →

  • 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 통합이 중단됩니다.

참고: 기존 사용자 스키마의 확장 기능인 역할 속성을 사용해서 사용자에게 워크스페이스 수준을 할당할 수 있어요. 형식은 다음과 같아요.

"urn:ietf:params:scim:schemas:extension:notion:2.0:User": { role: string // "owner" | "membership_admin" | "member" }

  • 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>

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

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


피드백 보내기

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