• Udemy의 SCIM API로 사용자 관리

    이 문서에서는 기업이 Udemy의 SCIM(도메인 간 ID 관리 시스템) API를 사용하여 사용자 라이선스를 추가하거나 제거할 수 있는 방법을 설명합니다.  

    SCIM은 Okta 및 OneLogin 등 여러 IdP에 의해 지원됩니다.  또한, Udemy Business SCIM API를 다른 IdP나 자체 개발 도구에 대해서도 활용할 수 있습니다.

    참고: Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.

    • 토큰 만료 30일 전
    • 토큰 만료 후

    라이선스 사용

    ID 제공업체에서 일반적으로 라이선스는 그룹 수준 또는 일부 경우에는 개인 수준에서 배정됩니다. licenseType 속성이 요청에 포함되어 있는 경우 해당 사용자에게 적용될 라이선스의 유형이 지정됩니다.

    • 해당 속성은 사용자를 생성할 때 포함될 수 있으며, 해당 사용자는 자신의 Udemy Business 계정을 활성화한 후 명시된 라이선스를 확보합니다.
    • 해당 특성은 기존 사용자를 위해 포함될 수 있으며 기존 라이선스를 부여하거나 제거할 수 있습니다.
    • 계정에 필요한 유형의 라이선스가 충분하지 않은 경우, Udemy Business는 IdP로 오류 메시지를 전송하며 변경되는 사항은 없습니다.

    라이선스 제거 제한 사항: 

    사용자는 라이선스 유형을 보유해야 합니다. 사용자로부터 모든 라이선스를 회수하려면 해당 사용자를 기업의 계정에서 비활성화해야 합니다. Udemy Business가 빈 licenseType 속성을 받으면 시스템이 무시합니다. 

    비활성 사용자에 대해 'Pro'에서 'Enterprise' 라이선스로 다운그레이드하는 것은 현재 지원되지 않습니다. 비활성 사용자란 두 라이선스 모두가 프로비저닝되었으나 아직 로그인하지 않은 사용자를 칭합니다. 

    필수 licenseType 속성 제공

    다음은 기업의 ID 제공업체에 포함되어야 하는 licenseTypes 속성입니다. 

    urn:ietf:params:scim:schemas:extension:udemy:2.0:User.

    이 속성은 문자열 목록으로 제공되어야 하며, 각 문자열은 라이선스 이름을 나타냅니다(라이선스 유형의 자세한 정보는 아래 섹션 참조).

    허용되는 값 및 해당하는 라이선스 유형 제공

    사용자의 라이선스 유형을 관리하려면 허용되는 값을 입력해야 합니다. 아래 표의 입력 값은 Udemy Business에서 지원하는 라이선스 유형에 대해 검증됩니다. 라이선스 이름 값은 대소문자를 구분하지 않습니다. 

     

    라이선스 이름 유형

    허용되는 값의 예시 

    Enterprise 플랜 라이선스
    Enterprise, eNtErpRisE, enTERprise 

    Pro

    추가 라이선스

    Pro, pRo, PRo 

     

    참고: 허용되지 않는 값을 입력하면 오류 알림이 표시됩니다.

    사용자를 만들 때 licenseTypes를 포함하는 방법

    다음은 사용자를 만들 때 licenseTypes를 포함하기 위해 ID 제공업체에 입력해야 하는 내용의 예시입니다.

    POST /scim/v2/Users HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <enter your Bearer token here> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:schemas:core:2.0:User",        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User"    ],    "userName": "john.doe@udemy.com",    "externalId": "someexternalidtest12312",    "name": {        "givenName": "John",        "familyName": "Doe"    },    "emails": [        {            "primary": true,            "type": "work",            "value": "john.doe@udemy.com"        }    ],    "active": true,    "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {        "licenseTypes": ["Enterprise", "Pro"]    } }

    기존 사용자의 속성을 교체하고 licenseTypes를 포함하는 방법

    다음은 기존 사용자의 속성을 교체하고 licenseTypes를 포함하기 위해 입력해야 하는 내용의 예시입니다.

    PUT /scim/v2/Users/<scim-user-uuid> HTTP/1.1

    Host: myorganization.udemy.com

    Accept: application/scim+json

    Authorization: Bearer <enter your Bearer token here>

    Content-Type: application/scim+json

    {

      "schemas": [

        "urn:ietf:params:scim:schemas:core:2.0:User",

        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",

        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User"

      ],

        "userName": "john.doe@udemy.com",

        "externalId": "someexternalidtest12312",

        "name": {

            "givenName": "John",

            "familyName": "Doe"

        },

        "emails": [

            {

                "primary": true,

                "type": "work",

                "value": "john.doe@udemy.com"

            }

        ],

      "active": true,

      "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {

        "licenseTypes": ["Enterprise", "Pro"]

      }

    }

    기존 사용자의 licenseTypes 필드만 설정하는 방법

    기존 사용자에 대해 licenseTypes 필드만 설정하려면 PATCH 요청을 사용하는 두 가지 옵션이 있습니다.

    "op": "add" 

    애드온 라이선스(예: 'Pro')를 기존 라이선스에 추가하려면 다음을 사용합니다.

    "op": "replace" 

    이를 통해 기존 값을 덮어씁니다.

    참고

    이 추가 작업을 통해 Udemy Business Pro 라이선스를 Enterprise 또는 Enterprise+Pro인 기존 라이선스에 추가할 수 있습니다. 이미 Enterprise 라이선스가 있는 사용자에게는 Pro 라이선스가 추가됩니다. 이미 Enterprise+Pro 라이선스가 있는 사용자에게는 다른 라이선스가 추가되지 않습니다.

    기존 사용자에 대해 licenseTypes 필드만 설정하기 위해 입력해야 하는 내용의 예시는 다음과 같습니다.

    PATCH /scim/v2/Users/<scim-user-uuid> HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <enter your Bearer token here> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:api:messages:2.0:PatchOp",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User",    ],    "Operations": [        {            "op": "add",            "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {                "licenseTypes": ["Pro"]            }        }    ] }W

    사용자의 현재 라이선스 전체를 덮어쓰는 방법

    교체 작업을 통해 사용자의 현재 라이선스 전체를 덮어쓸 수 있습니다. 이를 수행하려면 다음 내용을 입력해야 합니다.

    PATCH /scim/v2/Users/<scim-user-uuid> HTTP/1.1 Host: myorganization.udemy.com Accept: application/scim+json Authorization: Bearer <enter your Bearer token here> Content-Type: application/scim+json {    "schemas": [        "urn:ietf:params:scim:api:messages:2.0:PatchOp",        "urn:ietf:params:scim:schemas:extension:udemy:2.0:User",    ],    "Operations": [        {            "op": "replace",            "urn:ietf:params:scim:schemas:extension:udemy:2.0:User": {                "licenseTypes": ["Enterprise", "Pro"]            }        }    ] }
    문서 읽기
  • Entra ID로 SCIM 권한 설정(Azure AD)

    통합 인증(SSO)을 설정 하고 나면 Udemy Business로 Entra ID(이전 명칭: Azure AD)에서 도메인 간 ID 관리(SCIM 2.0) 권한 설정을 위해 Udemy를 구성할 수 있습니다.

    SCIM 권한 구성을 통해 Udemy Business를 자동으로 업데이트하는 Entra ID에서 권한 설정, 권한 설정 해제, 그룹 생성, 그룹 구성원 관리, 라이선스 관리 그리고 Entra ID상의 이름과 이메일 주소와 같은 사용자 프로필의 세부 정보를 수정할 수 있습니다. Entra ID와 Udemy Business는 모두 Entra ID에 동기화되므로 별도로 업데이트할 필요가 없습니다.

    다음을 참고하시기 바랍니다.

    • SCIM 활성화 전에 SSO를 활성화해야 합니다.
    • 통합 인증(SSO)과 권한 설정은 Udemy Business 기업체 서비스 고객에게 제공됩니다.
    • Entra ID를 통해 권한을 설정한 사용자는 Udemy Business 애플리케이션에 최초 로그인 전까지는 라이선스가 생성되지 않습니다.
    • SCIM 권한 설정 변동 사항은 Entra ID에서 Udemy Business로만 동기화되며 그 반대의 경우는 불가능합니다.
    • Entra ID의 SCIM을 통해 관리하는 사용자 및 그룹은 Udemy Business 앱 내부에서 변동 사항을 수정할 수 없습니다. SCIM은 사용자와 그룹 데이터의 단일 진실 공급원입니다.
    • 계약직 혹은 임시직 등 Entra ID의 푸시 알림을 원치 않거나 필요치 않는 사용자가 있는 경우에는 Udemy Business에서 직접 그룹을 생성할 수 있습니다.
    • 참고: Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.
      • 토큰 만료 30일 전
      • 토큰 만료 후

    목차

    Entra ID로 SCIM 권한 구성하기

    1. Udemy Business 계정에서 관리 > 설정 > 권한 구성(SCIM)으로 이동합니다.

    2. 설정 시작을 클릭하여 Entra ID에 입력해야 하는 시크릿 토큰(베어러 토큰)을 생성합니다.

    1a.png

    3. Entra ID 계정에 접속 후 Udemy Business SSO 앱으로 이동해서 아래의 단계를 따라 설정합니다. 자세한 내용은 Entra ID를 이용한 SCIM 권한 설정과 관련한 Microsoft의 환경 설정 가이드를 참고하시기 바랍니다.

    Azure 포털에서 권한 설정 탭으로 이동합니다.   

    참고: udemyazure는 SCIM 구성 방법을 설명하기 위한 목적으로 아래 스크린샷에서 사용된 테스트 이름입니다. 자신의 인스턴스를 구성할 때는 팀에서 명명한 앱을 사용하시기 바랍니다. 

    1b.png

    4. 권한 구성 모드 필드에서 자동을 선택합니다.

    1c.png

    5. 관리자 자격 증명 섹션에서 다음을 확인합니다.

    테넌트 URL: https://yourdomain.udemy.com/scim/v2(귀하의 Udemy Business 계정 URL)

    시크릿 토큰: 귀하의 Udemy Business 계정에서 확인 및 생성할 수 있는 '베어러' 토큰입니다.

    • 관리 > 설정 > 사용자 액세스로 이동하여 시크릿 토큰을 가져옵니다.

    6. 연결 테스트를 클릭하여 작동이 원활한지 확인합니다  

    7. (선택 사항) Azure에서 발송하는 오류 알림을 받으려면 이메일 주소를 입력합니다.

    1d.png

    8. 매핑에서:

    Microsoft Entra ID 사용자 권한 설정으로 이동:

    User Mapping (1).png

    진입하면 속성 매핑 목록이 표시됩니다.

    지원되는 속성

    아래 필수 속성이 customappsso Attribute에 추가되었는지 확인합니다. 해당 필드는 SCIM 권한이 Udemy에서 작동하는 데 필요합니다.

    SCIM 속성 필수 여부 설명
    emails[type eq "work"].value
    사용자의 이메일. 반드시 고유한 값이어야 합니다.
    userName
    IdP에서 보낸 사용자 이름입니다. 반드시 고유한 값이어야 합니다.
    active
    사용자 비활성화/재활성화를 나타냅니다
    externalId
    IdP에서 보낸 사용자의 외부 ID입니다. 반드시 고유한 값이어야 합니다.
    urn:ietf:params:scim:schemas:extension: enterprise:2.0:User:employeeNumber
    EnterpriseSchema의 employeeNumber 필드를 반환하고 external_id 필드로 저장합니다. externalId로 보내려는 특성과 일치해야 합니다.
    name.givenName
    아니요 사용자의 이름입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    name.familyName
    아니요 사용자의 성입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    name, { givenName, familyName }
    아니요 사용자의 이름과 성입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    제목
    아니요 사용자의 직함입니다(예: '수석 엔지니어').
    urn:ietf:params:scim:schemas:extension: udemy:2.0:User:licensePoolName
    아니요 라이선스 풀 이름입니다.
    urn:ietf:params:scim:schemas:extension: udemy:2.0:User:licenseTypes
    아니요

    쉼표로 구분된 라이선스 유형 목록입니다. 

    허용되는 값:

    • 기업
    • Enterprise

    emails[type eq "work"].value에 대한 Microsoft Entra ID 속성이 SSO 이메일 속성과 클레임에서 구성한 값과 일치하는지 확인합니다. (즉, mail 또는 userPrincipalName)

    Edit_attribute.jpg

    사용자 비활성화가 제외되도록 허용하는 속성 Switch([IsSoftDeleted], "False", "True", "True", "False")가 사용자 비활성화를 넘길 수 있도록 하는 활성으로 매핑되었는지 확인합니다.

    mapping_type.jpg

    속성을 추가한 후, 일치 우선 순위를 업데이트하여 emails[type eq "work"].value1로 설정되도록 합니다.
    userName을 2 또는 3으로 업데이트해야 할 수도 있습니다.

    Matching Precedence.png

    9. 사용자 속성 매핑으로 스크롤을 내리고 고급 옵션 표시를 활성화합니다. customappsso용 속성 목록 편집을 선택하고 iduserName 모두에 대해 Exact case를 활성화합니다.

    10. 기본 권한 구성 설정 화면으로 돌아갑니다.

    1h.png

     

    11. 범위 필드에서 사용자와 그룹을 동기화하는 방법을 선택합니다.

    1i.png

    특정 직원이나 부서에 대한 접근 제한이 필요한 경우, Udemy Business 앱에 배정된 사용자와 그룹에 대해서만 동기화를 설정할 수 있습니다. 모든 직원에게 접근 권한을 부여하려는 경우에는 전체 사용자와 그룹을 동기화하면 됩니다.

    1j.png

    Udemy Business에 더 많은 사용자와 그룹의 접근 권한을 부여하는 방법은 아래와 같습니다.

    12. 사용자 및 그룹을 클릭합니다.

    users_and_groups.png

    13. 사용자 추가(사용자와 그룹 중 선택 가능)를 클릭합니다

    애플리케이션에 추가할 모든 사용자와 그룹을 선택하고 선택을 클릭합니다.

    Add_assignment.png

    문제 해결

    매핑 관련:

    User_mapping.png

    권한 설정 시 다음의 오류가 발생하는 경우:

    {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"status":400,"detail":"{'emails': ['This field is required.']}"}

    사용자 매핑을 변경합니다.

    Edit_attribute.png

    userPrincipalName에 이메일이 포함된 경우에는 emails[type eq "work"].valueuserPrincipalName과 매핑되어 있어야 합니다.

    사용자 프로필로 이동하면 해당 필드에서 이메일을 확인할 수 있습니다.

    user_profile.png

    사용자 권한 구성 오류의 경우 권한 구성 로그를 살펴 자세한 정보를 볼 수 있습니다.

    • 이 로그는 Azure의 Udemy 앱 > 권한 구성 > 권한 구성 로그 > 영향을 받는 사용자 검색 > 문제 해결 및 권장 사항으로 이동해 받을 수 있습니다.
    • 필요한 경우 지원 티켓을 열고 Azure 권한 구성 로그의 스크린샷을 보내주시면 오류를 검토해 드리겠습니다.

    문서 읽기
  • OneLogin으로 SCIM 권한 설정 구성하기

    한번 통합 인증(SSO)을 설정하면 Udemy Business로 OneLogin에서 도메인 간 ID 관리 시스템(SCIM) 권한 설정을 구성할 수 있습니다. 이를 통해 Udemy Business를 자동으로 업데이트하는 OneLogin에서 권한 설정, 권한 설정 해제, 그룹 생성, 그룹 구성원 관리, 그리고 OneLogin상의 이름과 이메일 주소와 같은 사용자 프로필의 세부 정보를 수정할 수 있습니다. OneLogin과 Udemy Business는 모두 OneLogin에 동기화되므로 별도로 업데이트할 필요가 없습니다.

    이 문서에서는 OneLogin으로 SCIM 권한 설정을 구성하는 방법을 알 수 있습니다. 

    참고: Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.

    • 토큰 만료 30일 전
    • 토큰 만료 후

    SCIM 권한 설정을 활성화하는 방법

    귀하의 Udemy Business 계정에 SCIM 권한 설정을 활성화하려면 우선 Udemy Business 계정으로 들어가 관리 > 설정 > 권한 설정 (SCIM)에 접속합니다.

    설정 시작하기를 클릭해 SCIM을 활성화하고, OneLogin에 입력해야 하는 시크릿 토큰 (베어러 토큰)을 생성합니다.

    1_21.png

    다음으로, OneLogin 계정에 접속 후 Udemy Business SSO 앱으로 이동해서 아래의 단계를 따라 설정합니다. 

    One Login 지원 센터에서 사용자 권한 설정 방법에 대한 추가 정보 또한 이용할 수 있습니다.

    1. 관리자 패널에서 애플리케이션 탭을 클릭합니다.

    2_21.png

    2. “구성” 탭으로 이동합니다. 위에서 생성한 Udemy Business 계정의 SCIM 베어러 토큰을 "구성" 탭에 입력하고 "사용"으로 설정합니다.

    3_21.png

    3. 다음으로는, “권한 설정” 탭으로 이동해 “권한 설정 활성화” 박스를 체크합니다.

    workflow_enable_provisioning.png

    사용자 그룹을 Udemy Business와 동기화하는 규칙 생성하기

    OneLogin은 사용자를 Udemy Business 계정의 특정 그룹과 동기화하기 위해 "규칙" 개념을 사용합니다. 다양한 요구 사항에 기반해 규칙을 만들어 그룹과 동기화할 수 있습니다. 다음은 사용자를 “Engineers”라는 그룹과 동기화하는 규칙을 만드는 방법에 대한 구체적인 예시입니다.

    1. “규칙” 탭으로 이동해 “규칙 추가하기”를 선택합니다.

    rules_.png

    2. 사전 조건: 다음 단계로 진행하기 전에 저희 지원 팀 에 문의해 요청하시면 SCIM 그룹을 Udemy Business에서 가져올 수 있도록 기능 플래그를 활성화합니다. 이 기능이 활성화되면 Udemy Business 에서 기존 그룹을 가져오고 OneLogin에서 그룹에 접근할 수 있습니다.

    3. "맵핑 편집하기" 화면에서 귀하의 규칙 로직을 구성할 수 있습니다. 다음 예시에서는 “사용자의 그룹이 엔지니어링 그룹이면 Udemy Business에 있는 사용자의 그룹을 Engineers로 설정”하는 로직의 규칙을 만듭니다. Udemy Business의 "기존에서" 그룹을 가져오려면 자격을 갱신해야 합니다.

    actions.png

    4. “매개변수” 탭으로 이동합니다.

    지원되는 속성

    아래 필수 속성이 Parameters Tab Attribute에 추가되었는지 확인합니다. 해당 필드는 SCIM 권한이 Udemy에서 작동하는 데 필요합니다.

    SCIM 속성 필수 여부 설명
    SCIM.email

    사용자의 이메일. 반드시 고유한 값이어야 합니다.
    externalId

    IdP에서 보낸 사용자의 외부 ID입니다. 반드시 고유한 값이어야 합니다. 이것을 OneLogin ID에 매핑할 것을 권장합니다.
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber 

    이 필드는 externalId 값을 저장하는 데 필수입니다. externalId 값과 일치해야 합니다.
    SCIM.name.givenName

    아니요

    사용자의 이름입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    SCIM.name.familyName

    아니요

    사용자의 성입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.

     

    OneLogin Parameters (1).png


    참고: OneLogin은 매개변수 동기화를 일 단위로 수행하므로 매개변수를 추가해도 즉시 적용되지 않을 수 있습니다.

    5. “그룹” 필드를 클릭합니다.

    groups_field.png

    6. “사용자 권한 설정에 포함하기” 박스를 체크하고 저장합니다.

    9_21.png

    7. 이제 OneLogin에 사용자를 추가한 뒤 사용자의 그룹을 “엔지니어링 그룹”으로 설정합니다.

    10_21.png

    8. 사용자를 Udemy Business 애플리케이션에 추가하고 동기화를 마치면, 규칙에 따라 이 사용자는 귀하의 Udemy Business 계정에서 “Engineers” 그룹에 추가됩니다.

    11_21.png

     

    문서 읽기
  • SCIM로 사용자 및 그룹 관리 자동화

    Udemy Business는 도메인 간 ID 관리 시스템 (SCIM) 표준을 통한 사용자 및 그룹 액세스와 신원 관리를 지원합니다. SCIM은 통합 인증(SSO) 서비스 및 신원 제공자를 이용하여 Udemy Business를 비롯한 다양한 앱과 도구의 사용자 관리에 사용됩니다.

    SCIM은 규모와 보안을 극대화하고 Udemy Business의 사용자 관리에서 발생하는 마찰을 최소화하려는 기업에 훌륭한 옵션이 될 수 있습니다.

    SCIM 활용:

    • 신원 제공자로부터 라이선스 공급 및 사용자 및 그룹에 대한 액세스를 자동화합니다(권한 설정).
    • 신원 제공자로부터 사용자 및 그룹을 자동으로 비활성화합니다(권한 설정 해제).
    • 이전에 권한 설정이 해제된 사용자를 재활성화합니다(사용자의 개인 식별 정보가 익명화되지 않은 경우).
    • 사용자 정보(이름, 이메일 주소)를 업데이트합니다. 
    • 그룹을 생성, 제거 및 편집합니다.
    • 그룹 멤버십 관리 (그룹을 변경하는 사용자)
    • 라이선스 풀에 사용자 추가
    • Udemy Business Pro 라이선스 배정

    SCIM 활용 불가:

    • 신원 제공자의 SCIM을 통한 사용자의 개인 식별 정보(PII) 삭제
    • Udemy Business 데이터를 신원 제공자에 재동기화
    • 역할(관리자, 그룹 관리자, 사용자)을 관리합니다.
    • 참고: SCIM-권한 설정 사용자는 Udemy Business 사용자 관리 포털을 통해 수동으로 초대된 경우 Udemy Business 라이선스를 요청하라는 자동 생성 이메일을 받지 않게 됩니다. 학습 팀에서 해당 사용자가 SSO 제공자를 통해 로그인하여 권한을 받을 수 있는 방법을 설명하는 별도의 공지를 보내는 것이 좋습니다. 하지만 SCIM을 통해 재활성화된 사용자는 계정이 재활성화되었음을 알리는 자동 생성 이메일을 Udemy로부터 받게 됩니다.

    위에서 지원되는 작업을 수행하면, 해당 데이터 또는 변경 사항이 Udemy Business에 자동으로 업데이트됩니다.

    Udemy Business 계정을 위한 SCIM 통합에 대한 핵심 사항

    • 귀하의 SCIM 통합 설정은 사용하는 신원 제공자에 따라 달라집니다. 
    • Udemy Business는 접근 권한 및 신원 관리 서비스를 제공하는 주요 신원 제공자와 SSO 서비스 업체를 위한 SCIM 권한 설정을 지원합니다.
    • SCIM 권한 설정은 통합 인증 (SSO)을 사용하는 기업체 서비스 고객에게 제공됩니다.
    • SCIM를 통해 SSO 서비스에서 권한을 설정한 사용자는 Udemy Business에 가입한 뒤 최초 로그인 전까지는 라이선스가 생성되지 않습니다. SCIM을 통해 권한을 설정했으나 아직 한 번도 로그인을 하지 않은 사용자는 모든 사용자 페이지에 라이선스 없음 상태로 표시됩니다.
      • 모든 사용자에 대한 Udemy Business Pro 라이선스를 구매한 고객의 경우 사용자가 Udemy Business 초대를 수락하거나 SSO/SCIM을 통해 인증하면 Pro 라이선스가 자동으로 배정됩니다.
    •  참고: SCIM이 활성화되면 Udemy는 SAML에 대한 속성 매핑을 위해 SCIM 프로토콜을 사용합니다. 그룹은 SCIM 사용자 속성이 아니기 때문에 그룹은 SAML 전용 구성의 일부로 매핑한 경우 SAML을 통해 통과되지 않습니다.
    • Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.

      • 토큰 만료 30일 전
      • 토큰 만료 후

    SCIM 관리 사용자는 이름 및 이메일 옆에 회색 SCIM 플래그가 표시됩니다.  상태 SCIM이 권한 설정된 사용자는 처음으로 로그인하기 전까지 활성 라이선스를 소비하지 않습니다.

    SCIM 권한 설정을 활성화하는 방법

    귀하의 Udemy Business 계정에 SCIM 관리 설정을 활성화하려면 Udemy Business 계정으로 들어가 관리 > 설정 > 관리 설정 (SCIM)으로 이동합니다

    SCIM 통합 섹션으로 스크롤을 내립니다. 다음으로 SCIM을 활성화하는 지시 사항에 따라 드롭다운에서 신원 제공자를 선택하고 자격 증명(사용자 이름 및 암호 또는 시크릿/베어러 토큰)을 생성합니다. 이후 이 자격 증명을 구성의 일부로 신원 제공자에 입력해야 합니다.

    provisioning_scim_start_setup.png

    사용하는 신원 제공자에 따라 지시 사항에 맞는 SCIM 설정을 완료하시기 바랍니다.

    Okta 환경 설정 가이드 

    Azure AD 환경 설정 가이드 

    OneLogin 환경 설정 가이드

    다른 IdP나 자체 도구의 경우, Udemy SCIM API 구성 가이드를 참조하세요.

    SCIM 권한 설정을 비활성화하는 방법

    Udemy Business 계정에서 SCIM 프로비저닝을 비활성화하려면(제공자를 변경하거나 SCIM이 더 이상 필요 없는 경우) 관리 > 설정 > 프로비저닝(SCIM)으로 이동합니다.

    SCIM 통합 섹션으로 스크롤을 내린 후 통합 비활성화 링크를 클릭하여 SCIM 비활성화 지침을 따릅니다. 위 단계를 마치면 Udemy Business 측에서는 통합이 비활성화 되지만, 귀하의 IT 팀을 통해 신원 제공자 측에서도 통합을 비활성화해야 합니다. 

    이후에도 Udemy Business를 계속 사용할 수 있지만, 앞으로는 플랫폼 내에서 사용자 및 그룹 정보를 수동으로 업데이트해야 합니다.

    provisioning_scim_disable_integration.png

    SCIM으로 사용자 권한 설정 해제

    신원 제공자로부터 권한 설정이 해제된 Udemy Business 사용자는 Udemy Business 내에서 비활성화됩니다.  우선 이 '소프트웨어 삭제'를 배포하여 나중에 이러한 사용자를 재활성화하는 경우를 대비하여 수강생 내역을 보존할 수 있게 하고 사용자 데이터를 실수로 되돌릴 수 없게 익명화하는 것을 예방합니다.  사용자와 모든 해당 데이터를 영구적으로 삭제하려면 아래 지침을 따르세요.

    SCIM 관리 수강생의 PII 삭제하기

    귀하의 IdP에서 SCIM을 이용하여 관리하고 있는 수강생과의 연결을 해제하려면 먼저 SSO 활동 디렉터리에서 상대의 권한 설정을 해제한 다음, Udemy Business 계정에서 해당 PII를 삭제할 수 있습니다.

    SSO IdP가 아닌 Udemy Business 계정에서 수강생을 직접 관리하거나 해당 수강생의 PII를 보존하고자 하는 경우 지원 팀에 문의하여 도움을 요청하시기 바랍니다.

    문서 읽기
  • Okta로 SCIM 권한 설정 구성

     

    이 가이드에서는 기존 Okta 및 Udemy Business 고객이 도메인 간 ID 관리 시스템(SCIM 2.0)을 통하여 Udemy Business 사용자 및 그룹을 위한 자동 권한 설정, 권한 설정 해제, 프로필 업데이트, 그룹 관리 구성에 필요한 필수 단계를 안내합니다.

    SCIM 권한 설정을 이미 구성했고 새로운 Udemy Business 앱을 사용하고자 하는 경우, 기존 통합을 베어러 토큰 인증으로 마이그레이션해야 합니다.

    메모:

    • Okta를 통해 Udemy Business에 대해 SSO 로그인이 활성화되어 있다면 SSO를 재구성할 필요는 없습니다.
    • 저희 팀원이 도와 수동으로 SSO를 구성했다면 Okat 계정에 신규 Udemy Business 앱을 추가해야 합니다. 애플리케이션에서 Udemy Business를 검색하여 찾아볼 수 있습니다. 해당 앱은 Okta에 나온 신규 버전으로, 기존 고객분들은 SCIM 권한 설정 활성화 이전에 통합 인증(SSO)을 재설정해야 합니다(아래 상세 단계 설명).
    • Okta를 통해 권한을 설정한 사용자는 Udemy Business 애플리케이션에 최초 로그인 전까지는 활성 라이선스를 소비하지 않습니다.
    • SCIM 관리 사용자 및 그룹은 Okta에서만 변경할 수 있습니다.
    • SCIM이 활성화되면 Udemy는 SAML에 대한 속성 매핑을 위해 SCIM 프로토콜을 사용합니다. 그룹은 SCIM 사용자 속성이 아니기 때문에 그룹은 SAML 전용 구성의 일부로 매핑한 경우 SAML을 통해 통과되지 않습니다.
    • Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.
      • 토큰 만료 30일 전
      • 토큰 만료 후

    목차

    SCIM 권한 설정 기능

    다음 SCIM 권한 설정 기능을 지원합니다.

    • Okta에서 사용자 권한 설정
      • Okta에서 Udemy Business 앱에 배정된 사용자는 Udemy Business에서 권한이 설정됩니다.
      • 참고: 사용자가 Okta에서 SCIM 권한 설정되는 경우 자동 생성 초대 이메일을 받지 않습니다.
    • 프로필 업데이트 푸시 알림
      • Okta를 통해 사용자의 프로필을 업데이트하면 Okta의 Udemy Business와 연결된 사용자를 위하여 Udemy Business에서 푸시 알림을 받습니다.
    • 사용자 비활성화 푸시 알림
      • 사용자를 비활성화하거나 Okta를 통한 애플리케이션 접속을 끊을 경우 해당 사용자는 Udemy Business에서 비활성화 상태가 되고 모든 그룹에서 제거됩니다.
      • 참고: 비활성화된 사용자는 신고 목적 또는 향후 재활성화 목적으로 학습 데이터가 보존됩니다.  SCIM 관리 비활성화 사용자를 영구적으로 삭제하려면 먼저 해당 사용자와 SCIM 연결을 해제해야 하며 Udemy Business 지원에서 이에 대한 도움을 드릴 수 있습니다.
    • 사용자 재활성화
      • Okta에서 해당 앱을 사용자에게 다시 배정하여 Udemy Business에서 사용자를 재활성화할 수 있습니다.
      • 참고: 재활성화된 사용자는 재활성화되었음을 알리는 자동 생성 이메일을 Udemy로부터 받게 됩니다.
    • 그룹 푸시 알림
      • 그룹과 해당 그룹의 멤버십은 Udemy Business를 통해 푸시 알림을 받습니다.
      • 참고: 그룹 관리는 Okta에서 푸시 알림을 받는 그룹에만 해당됩니다. Udemy Business에서 생성된 그룹 정보는 외부로 전달되지 않습니다.
    • 사용자 및 그룹 가져오기
      • Okta에서 새 Udemy Business 앱으로 전환하면 기존 통합에서 새 통합으로 사용자 및 그룹을 가져올 수 있습니다.

    SCIM 관리 사용자는 이름 및 이메일 옆에 회색 SCIM 플래그가 표시됩니다.  상태 SCIM이 권한 설정된 사용자는 처음으로 로그인하기 전까지 활성 라이선스를 소비하지 않습니다.

     

    시작하기 전에

    Okta에 대한 SSO를 활성화하지 않았거나 당사 팀을 통해 수동 구성으로 SSO 설정을 수행했다면 먼저 여기서 Okta SSO 구성 단계를 완료하시기 바랍니다.

    • 새 SSO와 SCIM 환경 설정이 완료될 때까지 Okta 대시보드에 Udemy Business 타일을 숨겨 놓으면 SSO 다운타임을 피할 수 있습니다.
    • 애플리케이션 가시성 외에도 사용자에게 애플리케이션 아이콘 표시하지 않기를 클릭할 수 있습니다.

    구성 단계

    1. Udemy Business 앱에서 일반 탭을 선택하고 다음 필드를 작성합니다.

    • 하위 도메인: Udemy Business 도메인 이름
    • 도메인: udemy.com
    • 대상 URI(SP 엔터티 ID): PingConnect.

    2.  권한 설정 탭에서 API 통합 구성하기를 클릭합니다.

    configure_api_integration.png

    3.  API 통합 활성화를 선택하고 API 토큰을 추가합니다.

    Udemy Business 계정에서 관리 > 설정 > 권한 설정(SCIM)으로 이동해 API 토큰을 생성하거나 볼 수 있습니다. 

     

     4. API 자격 증명 테스트하기를 클릭하면 SSO 통합이 성공적으로 완료되었다는 메시지가 표시되어야 합니다. 표시되지 않으면 해당 오류 메시지를 첨부하여 Udemy Business 지원 팀에 문의하시기 바랍니다.

    5. 저장하기를 클릭하면 자동으로 애플리케이션 권한 설정 구성 페이지로 이동합니다.

    6. 설정 > 앱으로에서 편집하기를 클릭하여 각 기능을 활성화합니다. 

    모든 기능을 사용하려면 사용자 생성하기, 사용자 속성 업데이트하기사용자 비활성화하기를 사용하도록 설정하는 것이 좋습니다. 저장을 클릭합니다.

    provisioning_to_app_save.png

     

    provisioning_to_app_edit.png

    7. (선택 사항) 프로필 속성: Okta 계정에서 디렉터리 >  프로필 편집기 > 애플리케이션의 이름으로 이동합니다. 

    8. 프로필 편집기 페이지에서 속성 추가를 클릭합니다. 

    9. 속성 추가 페이지에서 다음 속성으로 해당 필드를 작성합니다. 

    속성 이름 데이터 유형 표시 이름 변수 이름 외부 이름 외부 이름 공간 eNUM
    licenseTypes 
    문자열 배열 라이선스 유형 licenseTypes licenseTypes urn:ietf:params:scim:schemas:extension:udemy:2.0:User 활성화됨
    licensePoolName
    스트링 라이선스 풀 이름 licensePoolName licensePoolName urn:ietf:params:scim:schemas:extension:udemy:2.0:User  
    externalId
    스트링 Udemy 외부 ID UdemyExternalId externalId urn:ietf:params:scim:schemas:core:2.0:User  
    employeeNumber
    스트링 employeeNumber employeeNumber employeeNumber urn:ietf:params:scim:schemas:extension:enterprise:2.0:User  
    제목
    스트링 제목 Udemytitle 제목 urn:ietf:params:scim:schemas:core:2.0:User  

    10. 속성 추가 또는 저장하고 다른 속성 추가를 클릭합니다.

    속성을 추가한 다음 이와 같은 것이 프로필에 추가된 것을 확인할 수 있어야 합니다.

    라이선스 풀에 사용자 배정

    사용자를 라이선스 풀에 배정하기:

    1. Okta 관리자 페이지 왼쪽에서 애플리케이션 → 애플리케이션으로 이동합니다.

    2. 애플리케이션을 선택합니다.

    3. 배정 탭으로 이동합니다.

    4. 배정하기를 클릭하고 사람에게 배정 또는 그룹에 배정을 클릭합니다.

    5. 해당 사용자 또는 그룹의 속성을 입력합니다.

    사용자 속성:

    그룹 속성:

    6. 저장하고 돌아가기를 클릭합니다.

    이제 라이선스 풀 이름 속성이 있는 사용자 또는 그룹을 추가했으며, 사용자가 귀하가 언급한 특정 라이선스 풀로 배정됩니다.

    7. Udemy Business를 개인 사용자나 그룹 전체에 배정하려면 배정 탭으로 이동합니다. 

    배정을 받은 사용자는 추가 후 권한이 자동으로 설정되며, 프로필 변경 시에도 자동으로 수정됩니다. 배정 대상에서 제외되면 자동으로 비활성화됩니다.

    8. 그룹과 멤버십 정보를 Udemy Business에 전달하려면 그룹에 푸시하기 탭으로 이동합니다.

    push_groups_to_ub.png

    9. + 그룹에 푸시하기를 클릭하고 Udemy Business에서 푸시하려는 그룹을 선택합니다.

    각 그룹을 직접 선택하거나 자동 선택 규칙을 생성할 수 있습니다.

    find_groups_ub.png

    10. 그룹 검색 기준을 선택하고 Udemy Business로 정보를 전달하고자 하는 그룹에 대해 필요한 정보를 입력합니다.

    push_groups_by_name.png

    11. 그룹을 선택한 뒤 그룹뿐만 아니라 그룹 내 멤버에게도 즉시 푸시 알림을 전송할 수 있도록 즉시 그룹 멤버십에 푸시하기를 선택하고 저장하기를 클릭합니다.

    12. Udemy Business로 정보를 전달하고자 하는 모든 그룹은 이러한 이전 단계를 반복합니다.

    참고: Udemy Business는 설정 후 SCIM 관리 사용자 또는 그룹 변경을 허용하지 않습니다.

     

    기존 통합을 베어러 토큰으로 마이그레이션하여 Okta에서 신규 Udemy Business 앱 사용 활성화

    Okta로 SCIM 권한 설정을 구성했고 Okta에서 Udemy Business 애플리케이션을 사용하고자 하는 경우, 우선 베어러 토큰 인증으로 마이그레이션해야 합니다. 아래 단계를 따라 통합을 마이그레이션합니다.

    1단계: Udemy Business에서 토큰 생성 

    1. Udemy Business 관리자 계정에서 관리 > 설정 > 권한 설정(SCIM)으로 이동합니다.

    이미 사용자 이름/비밀번호 기반의 Okta 통합이 있는 경우 대시보드에 해당 자격 증명이 표시됩니다.

    2. 토큰 생성을 클릭하면 SCIM 통합을 위해 베어러 토큰을 생성하려는 것을 확인하는 모달이 표시됩니다.

    • 확인하면 이전 자격 증명이 SCIM 권한 설정에 더 이상 표시되지 않지만, 다른 기존 통합(예: LMS, 학습 활동을 위한 공개 API 등)에는 계속 유효합니다. 

    결과 

    일단 생성되면 성공 메시지가 나타나고 베어러 토큰이 SCIM 권한 설정 페이지에 표시됩니다. 복사를 클릭해 Okta 설정을 위한 베어러 토큰을 복사할 수 있습니다. 

    페이지를 새로 고친 다음 성공 메시지가 사라지고 드롭다운 옵션이 Okta(레거시)에서 Okta로 변경됩니다.

    2단계: Okta에서 통합 업데이트

    마이그레이션을 완료하려면 Okta에서 통합을 업데이트해야 합니다. 

    1. Okta 관리자 계정에서 애플리케이션 > 애플리케이션 > 앱 카탈로그 찾아보기로 이동해 Udemy Business를 검색합니다.

    2.  통합을 추가하고 하위 도메인, 도메인대상 URI(SP 엔터티 ID)를 포함한 세부 정보를 입력합니다. 


     

    3. 권한 설정 탭에서 API 통합 활성화를 클릭합니다. 

    4. API 토큰을 제공하라는 메시지가 표시되면 이전에 Udemy Business에서 복사한 베어러 토큰을 붙여넣습니다.

    5. API 자격 증명 테스트를 클릭해 연결을 테스트합니다. 

    테스트가 성공하면 안전하게 저장을 클릭할 수 있습니다.

    API 자격 증명 테스트

    6. 권한 설정 탭에서 설정 > 앱으로로 이동하여 모든 권한 설정 유형이 활성화되었는지 확인합니다. 

    • 사용자 생성
    • 사용자 속성 업데이트
    • 사용자 비활성화 

    참고: 이 단계 완료 후 이 새 Udemy Business 애플리케이션의 모든 변경 사항이 Udemy Business의 권한 설정에 영향을 미칩니다.

    Provisioning to App.png

     

    결과

    이제 새 Udemy Business 애플리케이션 기본 통합이 완료되었습니다. 

    3단계: 기존 Udemy Business 애플리케이션 관리 

    새 통합을 만든 후 두 옵션 중에서 선택해야 합니다.

    옵션 1: 기존 통합 비활성화

    • 장점: 신뢰할 수 있는 단일 기준이 1개이므로 새 통합의 변경 사항이 유지될 것임을 확신할 수 있습니다.
    • 단점: 사용자가 Udemy Business에서 SSO를 통해 로그인할 수 없습니다.

    옵션 2: 기존 통합을 있는 그대로 유지 

    • 장점: 사용자의 Udemy Business 사용에 다운타임이 없습니다.
    • 단점: 기존 통합을 누군가 변경하면 해당 변경이 새 통합을 덮어씁니다. 이전을 신중히 관리하고 다른 관리자에게 기존 통합의 사용자 또는 그룹을 변경하면 안 된다고 알려야 합니다.

    4단계: 새 통합으로 사용자 가져오기 

    새 통합으로 사용자를 가져오는 데는 두 가지 옵션이 있습니다. 

    • 자동 가져오기
    • 검토 및 직접 가져오기 

    가져오기에 소요되는 시간은 애플리케이션의 사용자 수에 따라 다르며 몇 초부터 몇 분까지 다양합니다. 

    옵션 1: 사용자 자동 가져오기

    사용자 자동 가져오기 방법: 

    1. 새 Udemy Business 애플리케이션의 권한 설정 탭으로 이동합니다.
    2. 왼쪽에서 Okta로를 선택합니다.
    3. 사용자 생성 및 일치 설정에서 자동으로 가져오고 배정을 확인하는 다음과 같은 옵션이 표시됩니다.
      • 다음과 같은 경우 가져온 사용자는 Okta 사용자와 정확히 일치합니다.
        • 이메일 일치 선택
      • 부분 일치 허용:
        • 이름 및 성에 대한 부분 일치 선택
      • 일치된 사용자 확인:
        • 정확한 일치 자동 확인 선택
        • 부분 일치 자동 확인 선택
      • 새 사용자 확인에서:
        • 새 사용자 자동 확인 선택

    사용자 생성 및 일치

    4. 저장을 클릭합니다.

    5. Udemy Business 앱에서 가져오기 탭으로 이동합니다.

    6. 지금 가져오기를 클릭합니다.

    그룹 자동 가져오기

    옵션 2: 검토 및 직접 가져오기 

    사용자 직접 가져오기 방법:

    1. Udemy Business 앱에서 가져오기 탭으로 이동합니다.
    2. 지금 가져오기를 클릭합니다.

    5단계: 새 통합으로 그룹 가져오기

    참고: 모든 사용자를 새 통합에 추가한 후 그룹 추가를 시작해야 합니다.

    새 통합으로 그룹 가져오기 방법:

    1. Udemy Business 앱에서 그룹 푸시 탭으로 이동합니다. 

    2. 앱 그룹 새로고침을 클릭합니다.

    3. 그룹 푸시 > 이름으로 그룹 찾기를 선택합니다.

    Udemy Business로 그룹 푸시

     4. 왼쪽에서 이름으로를 클릭하고 그룹 연결 옵션을 사용합니다.

    그룹 연결

    5. 저장 또는 저장하고 다른 항목 추가를 클릭하고 나머지 그룹에 동일한 과정을 반복합니다.

    문서 읽기
  • Udemy의 SCIM API를 통한 SCIM 권한 설정 구성

    개요

    도메인 간 ID 관리를 위한 시스템(SCIM)은 사용자 및 그룹 권한 설정/권할 설정 해제를 자동화하고 고객의 ID 제공업체(IdP)에서 Udemy Business 계정으로 사용자 및 그룹 데이터를 업데이트하는 표준 API입니다.SCIM은 Okta, Azure AD 및 OneLogin 등 여러 IdP에 의해 지원됩니다. 또한, Udemy Business SCIM API를 다른 IdP나 자체 개발 도구에 대해서도 활용할 수 있습니다.

    기업에서 다음 IdP 중 하나를 사용하는 경우 SCIM 구성에 아래의 가이드를 대신 참조하시기 바랍니다.

    SCIM은 JSON으로 데이터 포맷된 표준화된 REST API를 사용합니다. Udemy Business는 SCIM 표준 버전 2.0을 지원합니다. API는 기업체 서비스 고객이라면 누구나 사용 가능합니다.

    Udemy Business SCIM API는 다음 기능을 지원합니다. 

    • 사용자 권한 설정
    • 사용자 권한 설정 해제 (비활성화)
    • 이메일 주소 변경
    • 사용자 상세 정보 변경
    • 그룹 권한 설정
    • 라이선스 배정
    • 라이선스 풀에 사용자 배정
    • 그룹에 사용자 추가 및 제거

    참고: Udemy Business용 SCIM API 토큰은 약 2년 동안 지속됩니다. 관리자는 다음을 알리는 알림을 받습니다.

    • 토큰 만료 30일 전
    • 토큰 만료 후

    SCIM 프로토콜 설명

    SCIM Protocol은 웹에서 ID 데이터에 권한을 설정하고 관리하기 위한 애플리케이션 수준의 REST 프로토콜입니다. 프로토콜은 클라이언트가 IdP이고 서버가 Udemy Business인 클라이언트-서버입니다.

    기본적인 흐름은 다음과 같습니다.

    • IdP에서 고객에 의해 사용자의 Udemy Business 접근 권한이 승인되면 IdP가 저희에게 특정 사용자가 데이터베이스에 존재하는지 확인하도록 요청을 보냅니다. userName이나 email 속성으로 사용자 검색을 신청합니다.
    • 사용자가 존재하지 않으면 IdP는 사용자를 생성하도록 요청을 보냅니다.
    • 사용자가 존재하면 IdP는 해당 사용자를 업데이트하도록 요청을 보냅니다.
    • Udemy Business의 접근이 거부되면 IdP는 저희에게 해당 사용자를 데이터베이스에서 비활성화하도록 요청을 보냅니다.
    • 또한 IdP는 사용자의 상세 정보를 변경하도록 요청을 보낼 수 있습니다.

    API에 어떻게 접속하나요?

    SCIM API에 연결하는 인증 자격 증명을 얻으려면 Udemy Business 계정에서 관리 -> 설정 -> 권한 설정(SCIM) 페이지를 통해 SCIM 통합을 설정해야 합니다. 참고로, 관리자만 이 페이지에 접근할 수 있습니다. 

    설정 시작을 클릭합니다.

    provisioning_scim.png

    다음 단계에서 공급업체 선택을 선택한 다음 사용자 지정을 선택합니다.

    select_provider.png

    토큰 생성을 클릭합니다.

    generate_token.png

    이 화면에서 복사를 클릭하여 베어러 토큰을 클립보드에 복사합니다.

    copy_bearer_token.png

     

    귀하의 요청에는 베어러 토큰을 인증 HTTP 헤더에 포함해야 합니다. 예를 들자면 다음과 같습니다.

    GET /scim/v2/Users HTTP/1.1
    Host: myorganization.udemy.com
    Accept: application/scim+json
    Authorization: Bearer <enter you Bearer token her>
    Content-Type: application/scim+json

    Udemy Business SCIM API는 HTTP 프로토콜을 사용하며 안전한 HTTPS 연결에 대해서만 사용할 수 있습니다.

    API의 기본 URL: https://<yoursubdomain>.udemy.com/scim/v2/.

    Udemy Business SCIM API와 상호 작용하는 애플리케이션을 개발 중인 경우 본 문서의 마지막에 있는 SCIM RFC를 참고하시기 바랍니다. Udemy Business SCIM API 구현은 표준을 준수합니다.

    속도 제한

    Udemy Business는 표준 HTTP 속도 제한 프로토콜에 따라 SCIM API에 속도 제한을 적용합니다. 요청이 속도 제한 처리되면 HTTP 429 응답을 수신하게 되며 이 경우 Retry-After 헤더에 명시된 바에 따라 기다린 후 다시 시도해야 합니다.

    SCIM API 엔드포인트

    정보 엔드포인트

    이와 같은 엔드포인트는 정보를 담고 있으며 클라이언트를 구성하는 역할을 합니다. 인증이 요구되지 않으므로 이와 같은 엔드포인트에 접근할 때에는 인증 헤더를 포함할 필요가 없습니다.

    GET /ServiceProviderConfig

    어떤 방식이 지원되는지 여부를 포함한 Udemy Business SCIM 구현 관련 세부 사항을 반환합니다.

    GET /Schemas

    SCIM 구현이 지원하는 스키마에 대한 정보를 반환합니다. 사용자 및 그룹이 스키마로 지원됩니다.

    GET /Schemas/Users

    사용자 리소스에 지원되는 모든 속성을 반환합니다.

    GET /Schemas/Groups

    그룹 리소스에 지원되는 모든 속성을 반환합니다.

    사용자 엔드포인트

    이와 같은 엔드포인트를 사용하면 사용자 나열, 속성별 필터링, 신규 사용자 추가, 사용자 정보 업데이트, 사용자 비활성화 또는 익명 처리가 가능합니다.

    SCIM API가 모든 사용자를 반환하지 않으면 Udemy Business 지원팀에 문의하시기 바랍니다.

    지원되는 속성

     

    SCIM 속성 필수 여부 설명
    emails[type=”work”]]['value’]
    사용자의 이메일. 반드시 고유한 값이어야 합니다.
    userName
    IdP에서 보낸 사용자 이름입니다. 반드시 고유한 값이어야 합니다.
    active
    사용자 비활성화/재활성화를 나타냅니다
    externalId
    IdP에서 보낸 사용자의 외부 ID입니다. 반드시 고유한 값이어야 합니다.
    urn:ietf:params:scim:schemas:extension:
    enterprise:2.0:User:employeeNumber
    EnterpriseSchema의 employeeNumber 필드를 반환하고 external_id 필드로 저장합니다.
    costCenter
    아니요 사용자의 비용 센터를 식별하는 이름 또는 코드입니다.
    department
    아니요 사용자가 속한 부서의 이름
    division
    아니요 사용자가 속한 팀의 이름
    name.givenName
    아니요 사용자의 이름입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    name.familyName
    아니요 사용자의 성입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    name, { givenName, familyName }
    아니요 사용자의 이름과 성입니다. 필수는 아니지만 사용자 식별이 용이하므로 해당 속성을 항상 명시하는 것이 좋습니다.
    제목
    아니요 사용자의 직함입니다 (예: “수석 엔지니어”)
    licenseTypes 
    아니요

    쉼표로 구분된 라이선스 유형 목록입니다. 

    허용되는 값:

    • 기업체 서비스
    • Enterprise, Pro
       
    licensePoolName
    아니요 라이선스 풀 이름입니다.
    manager.value(관리자가 개체인 경우)
    그렇지 않으면 manager(관리자가 값을 직접 보유하는 경우)
    아니요




     

    사용자의 관리자 SCIM ID

    organization
    아니요 사용자가 속한 조직의 이름


    참고로, 이 목록에 없는 속성은 명시하더라도 무시됩니다.

    GET /Users

    기본적으로 페이지당 12명의 사용자가 표시되어 페이지별 사용자 목록이 반환됩니다. 아래와 같은 매개변수를 전달해 결과 세트를 통해 페이지를 매길 수 있습니다.

    count 

    and

    startIndex 

    대표적인 예시:

    GET /scim/v2/Users?startIndex=1&count=100 HTTP/1.1

     Host: myorganization.udemy.com

     Accept: application/scim+json

     Authorization: Bearer <enter you Bearer token here>
    startIndex
    • 현재 목록 결과 세트 (오프셋)에서 첫 번째 결과의 1부터 시작하는 인덱스입니다.
    • count

      : 목록 응답 페이지(제한)에서 반환된 리소스의 수입니다. 단일 요청에서 최대 1,000명의 사용자를 검색할 수 있습니다. 이 항목을 생략하면 기본값은 12로 설정되어 있습니다.

    요청 예시

    GET https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 18,
    "startIndex": 1,
    "Resources": [
    {
    "id": "KwLzN3",
    "externalId": "00u3mlhj4x1E482sK5d7",
    "userName": "firstName.lastName@domain.com",
    "name": {
    "givenName": "firstName",
    "familyName": "lastName",
    "formatted": "firstName lastName"
    },
    "emails": [
    {
    "value": "firstName.lastName@domain.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "NZOaw",
    "display": "Group Test",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/NZOaw"
    },
    {
    "value": "dn1K8",
    "display": "NewGroup2",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/dn1K8"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/KwLzN3",
    "created": "2022-01-19T01:11:59Z",
    "lastModified": "2024-11-22T21:58:48Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "64e63"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }

     

    GET /Users?filter=

    이 엔드포인트는 사용자를 특정 속성별로 필터링하기 위해 사용됩니다. 예를 들어 userName 속성으로 검색이 가능합니다.

    GET /Users?filter=userName eq "example..name

    참고: 위의 예시에서 URL 매개변수를 URL 인코딩하여 URL이 다음과 같아져야 합니다.

    GET /Users?filter=userName%20eq%20%22example.name%22

    이는 사용자 리소스 목록을 반환합니다. 결과가 없으면 빈 목록이 반환됩니다.

    GET Users?filter=groups.value eq "{SCIM_Group_ID}"

    이는 이 SCIM 그룹에 속하는 모든 사용자를 반환합니다

    지원되는 필터는 다음과 같습니다.

    userName
    externalID
    emails[type eq=”work”]
    groups

    지원되는 연산자는 다음과 같습니다.

    and
    eq

    응답

    • 성공 시 엔터티 목록이 포함된 HTTP 상태 코드 200
    • 지원되지 않는 필터가 제공된 경우 HTTP 상태 코드 501
    POST /Users

    이 엔드포인트는 Udemy Business에 새로운 사용자를 생성(권한 설정)하기 위해 사용됩니다. 

    응답에는

    id 

    속성이 포함되며 이는 요청에서 이 사용자를 참조할 때 사용해야 합니다.

    다음을 참조하세요.

    • 이렇게 생성된 신규 사용자의 경우 최초 로그인 전까지는 라이선스사용하지 않습니다.
    • 이 사용자에 대해 보류 중인 초대가 있는 경우에는 이 시점에서 초대가 사용됩니다. 
      사용자는 그룹에 추가되며 초대에 지정된 사항에 따라 적절한 역할/강의가 배정됩니다.
    • Udemy Business에 이미 있는 사용자를 생성하려 시도하면 해당 사용자는 SCIM로 관리됩니다. (사용자 관리 페이지 작은 링크 아이콘으로 표시됨). 참고로 사용자의 상태와 라이선스 사용량은 변하지 않습니다. 사용자가 활성화된 상태였다면 사용자는 계속 활성화 상태로 남으며, 비활성화 상태였다면 사용자는 계속 비활성화 상태로 남습니다.

    요청 예시

     

    POST https://demo.udemy.com/scim/v2/Users 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "active": true,
    "emails": [
    {
    "primary": true,
    "type": "work",
    "value": "demo.user@test.com"
    }
    ],
    "externalId" : "externalIdValue",
    "meta": {
    "resourceType": "User"
    },
    "userName": "DemoTest",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "name": {
    "familyName": "Test",
    "formatted": "formatted",
    "givenName": "Demo"
    }
    }

    응답 예시

    {
    "id": "MPD698",
    "name": {
    "givenName": "Demo",
    "familyName": "Test",
    "formatted": "Demo Test"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:00:26Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "externalIdValue"
    },
    "userName": "DemoTest",
    "externalId": "externalIdValue"
    }
     

     

    응답

    • HTTP 상태 코드, 201 및 사용자 리소스 성공
    • 기업에 이미 동일한 userName의 구성원이 있을 경우 HTTP 상태 코드 409
    • 요청이 유효성 검사를 통과하지 못한 경우 응답 본문에 오류 세부 정보가 있는 HTTP 상태 코드 400
    GET /Users/<id>

    이 엔드포인트는 지정된 사용자의 사용자 상세 정보 검색에 사용됩니다.

    id

    매개변수는 사용자가 SCIM으로 생성되었을 때나 모든 기존 사용자를 나열할 때 반환되는 고유 식별자입니다.

    응답

    • 성공한 상태의 사용자 리소스가 포함된 HTTP 상태 코드 200
    • 사용자를 찾을 수 없다면 HTTP 상태 코드 404
    PUT /Users/<id>

    이 엔드포인트는 Udemy Business에서 사용자 상세 정보를 대체 (덮어쓰기)하기 위해 사용됩니다. 지정된 경우 active 속성을 이용하여 해당 사용자를 비활성화하거나 재활성화할 수 있습니다.

    요청 예시:

    PUT https://demo.udemy.com/scim/v2/Users/MPD698
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "id": "MPD698",
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "name": {
    "givenName": "demo",
    "familyName": "user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "active": true
    }

    응답 예시

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "demo.user@test.com",
    "externalId": "NewExternalID"
    }
     

     

    응답

    • HTTP 상태 코드 200 및 업데이트된 사용자 리소스
    • 사용자가 존재하지 않는 경우 HTTP 상태 코드 404.
    • 기업 소유자를 비활성화하려 시도하는 경우 또는 잘못된 작업의 경우 HTTP 상태 코드 400
    PATCH /Users/<id>

    이 엔드포인트는 시스템의 사용자 상세 정보를 부분적으로 업데이트하기 위해 사용되며, 사용자의 일부 속성만 바꿀 수 있습니다. 이는 전체 사용자를 교체하는 PUT과는 반대입니다. 

    여기에는 사용자를 비활성화하거나 재활성화하는 active 속성이 포함될 수도 있습니다.

    • 각 요청 본문은 URI 값 "urn:ietf:params:scim:api:messages:2.0:PatchOp"와 함께 반드시 "schemas" 속성을 포함해야 합니다.
    • HTTP PATCH 요청 본문은 값이 하나 이상의 PATCH 작업 배열인 "Operations" 속성을 반드시 포함해야 합니다.  각 PATCH 작업 개체는 반드시 정확히 하나의 "op" 구성원을 가져야 하며, 그 값은 실행할 작업을 표시하고 "add", "remove", 또는 "replace" 중 하나일 수 있습니다.
    • “path” 속성은 비어 있을 수 있으며 이 경우 “value”는 {“path”: “value”} 형식의 딕셔너리여야 합니다.

    요청 예시

    PATCH https://demo.udemy.com/scim/v2/Users/MPD698 
    {
    "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
    {
    "op": "replace",
    "path": "userName",
    "value": "DemoUserName"
    }
    ]
    }

    응답 예시

    {
    "id": "MPD698",
    "name": {
    "givenName": "demo",
    "familyName": "user",
    "formatted": "demo user"
    },
    "emails": [
    {
    "value": "demo.user@test.com",
    "type": "work",
    "primary": true
    }
    ],
    "title": "",
    "active": true,
    "groups": [
    {
    "value": "5ypNz",
    "display": "NewGroup",
    "$ref": "https://demo.udemy.com/scim/v2/Groups/5ypNz"
    }
    ],
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "meta": {
    "resourceType": "User",
    "location": "https://demo.udemy.com/scim/v2/Users/MPD698",
    "created": "2024-12-27T22:00:25Z",
    "lastModified": "2024-12-27T22:17:52Z"
    },
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "NewExternalID"
    },
    "userName": "DemoUserName",
    "externalId": "NewExternalID"
    }
     

    응답

    • 성공한 업데이트된 사용자 리소스가 포함된 HTTP 상태 코드 200
    • 사용자를 찾을 수 없다면 HTTP 상태 코드 404
    • 기업 소유자를 비활성화하려 시도하는 경우 또는 잘못된 작업의 경우 HTTP 상태 코드 400

    그룹 엔드포인트

    지원되는 속성

    SCIM 속성 필수 여부 설명
    displayName
    그룹 이름입니다. 모든 Udemy Business 그룹 가운데 고유한 값이어야 합니다.
    externalId
    아니요 ID 제공자가 보낸 그룹의 외부 ID입니다

    참고로, 이 목록에 없는 속성은 명시하더라도 무시됩니다.

    GET /Groups

    이 엔드포인트는 권한을 설정한 모든 그룹의 페이지 목록을 표시하기 위해 사용됩니다. 쿼리 열 매개변수 startIndexcount를 포함하여 결과를 통해 페이지를 매깁니다. 

    SCIM를 이용해 생성된 그룹만 반환됩니다. Udemy Business에서 생성된 그룹은 반환되지 않습니다.

    요청 예시

    GET https://demo.udemy.com/scim/v2/scim/v2/Groups
     "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 6,
    "startIndex": 1,
    "Resources": [
    {
    "id": "NZOaw",
    "displayName": "Group Test",
    "members": [
    {
    "value": "KwLzN3",
    "display": "firstName lastName",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/KwLzN3"
    },
    {
    "value": "eBmzpr",
    "display": "user four",
    "type": "User",
    "$ref": "https://demo.udemy.com/scim/v2/Users/eBmzpr"
    }
    ],
    "externalId": null,
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/NZOaw",
    "created": "2024-08-23T22:26:48Z",
    "lastModified": "2024-08-23T22:26:48Z"
    }
    },
    [...]
    ],
    "itemsPerPage": 12
    }
    GET /Groups?filter=

    이 엔드포인트는 그룹을 특정 속성별로 필터링하기 위해 사용됩니다. 예를 들어 displayName 속성으로 검색이 가능합니다.

    GET /Groups?filter=displayName eq "Marketing”

     

    이는 그룹 리소스 목록을 반환합니다. 결과가 없으면 빈 목록이 반환됩니다.

    참고로, URL 매개변수를 인코딩하여 URL이 다음과 같아져야 합니다.

    GET /Groups?filter=displayName%20eq%20%22Marketing%22

    지원되는 필터는 다음과 같습니다.

    displayName
    externalId
    Id
    member.value

    지원되는 연산자는 다음과 같습니다.

    and
    eq

    응답

    • 성공 시 엔터티 목록이 포함된 HTTP 상태 코드 200
    • 지원되지 않는 필터가 사용된 경우 HTTP 상태 코드 501
    POST /Groups

    이 엔드포인트는 Udemy Business에 새로운 그룹을 생성 (권한 설정)하기 위해 사용됩니다. 

    응답

    • 같은 이름으로 권한 설정된 그룹이 이미 단체 내에 있는 경우 HTTP 상태 코드 409, 고유한 scimType 오류 코드와 함께 409 (충돌)을 반환합니다.
    • 그룹이 성공적으로 생성되면 그룹 생성 리소스 URL이 포함된 Location 헤더와 함께 HTTP 상태 코드 201 (충돌)이 포함된 그룹의 전체 대표를 반환합니다.
    GET /Groups/<id>

    이 엔드포인트는 Udemy Business에서 그룹 상세 정보를 가져오기 위해 사용됩니다. 

    응답

    • HTTP 상태 코드 200 및 그룹 리소스
    • 그룹을 찾을 수 없다면 HTTP 상태 코드 404
    POST /Groups

    이 엔드포인트는 Udemy Business에 새로운 그룹을 생성 (권한 설정)하기 위해 사용됩니다.

    경고: POST 또는 PUT/scim/v2/Groups 엔드포인트를 사용해 그룹을 만드는 경우, 요청에 members 특성을 포함하지 않도록 합니다. 지정된 구성원은 모두 무시됩니다. 그룹에 사용자를 추가하려면 우선 그룹을 만든 다음 PATCH /scim/v2/Groups/를 별도 호출합니다 

    요청 예시

    https://demo.udemy.com/scim/v2/Groups 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "234523"
    }

    응답 예시

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "234523",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-15T22:24:54Z",
    "lastModified": "2025-01-15T22:24:54Z"
    }
    }
     
    PUT /Groups/<id>

    이 엔드포인트는 Udemy Business에서 그룹 상세 정보를 교체하기 위해 사용됩니다.

    경고: POST 또는 PUT/scim/v2/Groups 엔드포인트를 사용해 그룹을 만드는 경우, 요청에 members 특성을 포함하지 않도록 합니다. 지정된 구성원은 모두 무시됩니다. 그룹에 사용자를 추가하려면 우선 그룹을 만든 다음 PATCH /scim/v2/Groups/를 별도 호출합니다 

    요청 예시

    PUT https://demo.udemy.com/scim/v2/Groups/vREOw 
    {
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "displayName": "Group1",
    "externalId": "MPD699"
    }

    응답 예시

    {
    "id": "vREOw",
    "displayName": "Group1",
    "members": [],
    "externalId": "MPD699",
    "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:Group"
    ],
    "meta": {
    "resourceType": "Group",
    "location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
    "created": "2025-01-08T21:12:53Z",
    "lastModified": "2025-01-15T22:35:55Z"
    }
    }

    응답

    • HTTP 상태 코드 200 및 업데이트된 그룹 리소스
    • 그룹이 존재하지 않는 경우 HTTP 상태 코드 404 
    •  
    PATCH /Groups/<id>

    이 엔드포인트는 Udemy Business에서 그룹 상세 정보를 부분 업데이트하기 위해 사용됩니다. 

    PATCH 엔드포인트는 다양한 연산자 (가능한 경우 연산자 조합도)를 지원하기 때문에 다른 엔드포인트보다 까다롭습니다.

    요청 예시

    PATCH https://demo.udemy.com/scim/v2/Groups/5ypNz 
    { "schemas": 
    ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op":"add",
    "path": "members",
    "value":[{
    "display": "demo user",
    "$ref":"https://demo.udemy.com/scim/v2/Users/MPD698",
    "value": "MPD698"
    }
    ]
    }
    ]
    }

    응답 예시

    204 No Content
    • replace 작업은 특정한 값을 변경합니다. 저희의 경우에는 그룹 또는 구성원의 이름에 해당합니다.
    • remove 작업은 그룹에서 구성원을 제거합니다.
    • add 작업은 구성원을 그룹에 추가합니다.

    규칙은 다음과 같습니다.

    • 저희는 절대 권한을 설정하지 구성원을 그룹에서 제거하지 않습니다 (예를 들어 구성원에 `replace` 작업을 수행하는 경우).
    • 작업 수에 관계 없이 PATCH 요청은 원자로 취급되어야 합니다.

    입력 확인은 다음과 같습니다.

    • 각 요청 본문은 URI 값 "urn:ietf:params:scim:api:messages:2.0:PatchOp"와 함께 반드시 "schemas" 속성을 포함해야 합니다.
    • HTTP PATCH 요청 본문은 값이 하나 이상의 PATCH 작업 배열인 "Operations" 속성을 반드시 포함해야 합니다.  각 PATCH 작업 개체는 반드시 정확히 하나의 "op" 구성원을 가져야 하며, 그 값은 실행할 작업을 표시하고 "add", "remove", 또는 "replace" 중 하나일 수 있습니다.
    • “path” 속성은 비어 있을 수 있으며 이 경우 “value”는 {“path”: “value”} 형식의 딕셔너리여야 합니다.
    • “Remove” 작업에는 “members” 경로가 필수적입니다.
    • “Add” 작업에는 “members” 또는 “externalId” “경로”가 있어야 합니다.
    • “Replace” 작업에는 “members” 경로가 있을 수 있습니다. 없을 경우에는 저희가 그룹 상세 정보 (그룹 이름 등)를 변경하고 있지만 구성원은 변경하지 않을 때에 해당합니다.

    참고

    • 사용자를 그룹에 배정하거나 배정 해제하는 작업은 비동기식으로 처리되므로 변경 사항은 Udemy Business에 바로 반영되지 않습니다.
    • 중첩된 그룹은 지원하지 않으므로 이 요청 도중에는 무시됩니다.

    응답

    • 작업이 성공한 경우 HTTP 상태 코드 204
    • 그룹이 존재하지 않는 경우 HTTP 상태 코드 404
    • 기업 직원이 아닌 사용자에게 그룹을 배정하려는 시도가 있는 경우 오류 상세 정보가 포함된 HTTP 상태 코드 404
    • 요청이 유효성 검사를 통과하지 못한 경우 응답 본문에 오류 세부 정보가 있는 HTTP 상태 코드 400
    DELETE /Groups/<id>

    이 엔드포인트는 Udemy Business에서 그룹을 삭제하거나 권한 설정을 해제하기 위해 사용됩니다. 

    규칙은 다음과 같습니다.

    • 그룹에 권한을 설정하지 않은 구성원이 있는 경우 그룹에서 권한 설정한 사용자를 제거하고 `OrganizationSCIMGroup` 기록을 삭제합니다.

    응답

    • 작업이 성공한 경우 HTTP 상태 코드 204
    • 그룹이 존재하지 않는 경우 HTTP 상태 코드 404

    추가 읽기 자료

    문서 읽기
  • 승인된 이메일 도메인을 통해 사용자에게 Udemy Business '셀프 서비스' 접속 권한을 부여하는 방법

    특정 사용자에게 귀하의 Udemy Business 계정 접속 권한을 제공하는 방법에는 두 가지가 있습니다. 통합 인증(SSO) 방식과 관리자/그룹 관리자의 사용자 초대 방식입니다.

    초대 방식을 사용하면 해당 기능을 추가적으로 선택할 수 있습니다. 이 방식은 사용자가 관리자인 귀하로부터 미리 설정된 승인/인증받은 이메일 주소 도메인을 사용하여 귀하의 계정 미리보기 페이지 (예: company.udemy.com)에서 자체적으로 초대 이메일을 보낼 수 있습니다.

    이메일 주소 도메인 승인 방법

    관리자는 설정 페이지의 이메일 도메인 접근에서 귀하의 Udemy Business 계정 가입을 승인받은 이메일 주소 도메인(하나 혹은 여러 개)을 지정할 수 있습니다.

    email_domain_access.png

    해당 기능은 Team 플랜과 기업체 서비스 모두에 제공되나 이메일 도메인 접근 페이지에서 승인 이메일 도메인을 설정하는 작업은 오로지 소유자와 관리자만 가능하며 그룹 관리자에게는 해당 권한이 없습니다.

    사용자가 가입하도록 계정 랜딩 페이지 URL 공유하기

    접근 권한이 필요한 단체 내 사용자 및 그룹과 Udemy Business 계정 미리보기 페이지 URL을 공유하거나 간단히 Slack, 이메일, wiki, 인트라넷 또는 학습 관리 시스템(LMS)에 링크를 추가할 수 있습니다.

    사용자는 귀하의 미리보기 페이지 URL에 접속한 뒤 이메일 주소를 입력하여 가입할 수 있습니다. 입력한 이메일은 관리자의 사전 승인을 받은 이메일 도메인과 일치해야 합니다.

    참고: 안전하고 신뢰할 수 있는 플랫폼을 유지하기 위해 새 계정에 가입할 때 이메일 인증을 요구합니다. 문제가 발생하면 문제 해결 단계를 참조하시기 바랍니다.

    UB_login.jpg

    승인된 이메일 주소를 입력하면 화면에서 초대 이메일 확인을 요청하는 메시지가 표시됩니다. 사용자의 이메일 주소를 검증하는 과정입니다.

    check_your_email_for_invitation.png

    라이선스 사용 및 검증

    사용자가 라이선스를 요청하려면 계정 가입을 완료해야 합니다. 

    이용 가능한 라이선스가 없는 경우에는 다음과 같이 관리자 또는 IT 부서에 문의를 요하는 메시지가 표시됩니다.

    all_licenses_have_been_allocated.png

    사용자는 초대 이메일을 수신하고 이메일 링크를 클릭하여 가입 절차를 진행합니다. 이름과 이메일, 비밀번호를 입력합니다. 사용자들에게 한 시간 내로 만료하는 인증 이메일을 통해 계정을 확인하라는 메시지가 표시됩니다. 계정을 인증하면 첫 로그인 후 학습을 시작할 수 있습니다. 

    참고로 통합 인증(SSO)/도메인 간 ID 관리를 위한 시스템(SCIM) 사용자들은 해당 인증 단계를 거칠 필요가 없습니다.

    send_verification_email.png

    activate_account_email.png

    입력한 이메일 주소가 승인을 받은 이메일의 도메인과 일치하지 않을 경우, 아래와 같은 메시지가 전송되는 동시에 해당 사용자의 가입 절차가 중지됩니다.

    not_invited_to_this_account.png

    사용 가능한 라이선스가 없는 경우에는 다음과 같이 관리자 또는 IT 부서에 문의를 요하는 메시지가 표시됩니다.

    no_licenses.png

    승인받은 이메일 도메인 절차를 통해 가입한 사용자는 사용자 관리보류 중인 초대 화면에 나타나지만, '승인된 이메일을 통해 초대됨'으로 분류됩니다.

    invited_through_approved_email.png

    해당 기능은 Team 플랜과 기업체 서비스 모두에 제공되나 사용자 접근 페이지에서 승인 이메일 도메인을 설정하는 작업은 오로지 소유자와 관리자만 가능하며 그룹 관리자에게는 해당 권한이 없습니다.

    문서 읽기