Skip to main content
Skip table of contents

[Okta] 프로비저닝 연동 가이드

본 가이드는 Okta의 App Integration Wizard(AIW)를 기반으로 QueryPie와 SCIM 연동을 구현하는 방법을 안내합니다. 본 제품의 SCIM 기능은 RPC 7643을 기반하여 SCIM 2.0 기본 규격에 맞추어 제작되었으므로, 타사 Identity Provider 연동 시에도 해당 가이드를 따라 필요한 정보를 QueryPie에서 수집하시어 연동을 진행하여 주시기 바랍니다.

Prerequisites

  • Okta IAM 서비스의 Lifecycle Management(LCM) 라이선스 구독이 필요합니다.

  • Okta 관리자 콘솔(Okta Admin Console)에 접근하여 App을 만들고 사용자/그룹을 앱에 할당할 수 있는 권한이 요구됩니다.

    • 최소 필요 권한

      • User

        • Edit users' application assignments

      • Group

        • Edit groups' application assignments

      • Application

        • Manage applications

  • https://help.okta.com/en-us/content/topics/security/ip-address-allow-listing.htm 페이지 내 Okta IP range allowlist를 참조하여 해당하는 테넌트의 IP대역을 확인하여 사전에 인바운드 트래픽 예외처리 허용을 해야 합니다.

  • 라이선스와 함께 쿼리파이 제품이 설치되어 있어야 합니다.

  • 쿼리파이 Owner/Application Admin Role 권한의 계정이 있어야 합니다.

  • Provisioning 활성화 하기 단계를 먼저 수행해야 합니다.

Okta API를 활용한 아웃바운드 사용자 동기화를 설정할 예정인 경우, Okta 연동하기 페이지 내 절차대로 대신 진행하여 주시기 바랍니다. SCIM과 동시에 활성화 시, 사용자 동기화에 영향을 받을 수 있으므로 유의하시기 바랍니다.

Integration Steps

상위 사전 작업이 모두 마무리되면 이하의 순차에 따라 SCIM 연동을 수행합니다.


Okta 커스텀 SCIM앱 생성

image-20240723-050205.png

Okta Admin Console > Applications > Applications > Create App Integration > SAML 2.0 > Configure SAML

  1. Okta 서비스에 접속하여 관리자 계정으로 로그인합니다.

  2. 우측 상단의 Admin 버튼을 클릭하여 관리자 콘솔에 접속합니다.

  3. Okta 관리자 페이지의 좌측 패널에서 Applications > Applications 메뉴로 이동합니다.

  4. Create App Integration 버튼을 클릭합니다.

  5. 커스텀 SCIM 연동을 목적으로 Sign-in method로 SAML 2.0 옵션을 선택한 뒤 Next 버튼을 클릭합니다.

  6. General Settings 단계에서 General Settings 내 값을 적절히 정의한 뒤 하단의 Next 버튼을 클릭합니다.

    1. App name : 식별 가능한 애플리케이션 이름을 기입합니다.

    2. App logo : 사용자가 식별 가능한 로그를 업로드합니다.

  7. Configure SAML 단계에서 SAML Settings 내 값을 적절히 정의한 뒤 하단의 Next 버튼을 클릭합니다.

    1. Single sign-on URL : https://{{querypie.domain}}/saml/sp/acs

    2. Audience URI (SP Entity ID) : https://{{querypie.domain}}/saml/sp/metadata

    3. Attribute Statements (optional) : QueryPie url 필수 attribute 들을 이하와 같이 기입합니다.

      1. Name: firstName
        Name format: Unspecified
        Value: user.firstName

      2. Name: lastName
        Name format: Unspecified
        Value: user.lastName

      3. Name: email
        Name format: Unspecified
        Value: user.email

      4. Name: loginId
        Name format: Unspecified
        Value: user.login

  8. Feedback 단계에서 I'm an Okta customer adding an internal app을 선택한 뒤 하단의 Finish 버튼을 클릭합니다.

  9. Application이 생성되면 상단의 General 탭으로 이동하여 App Settings 메뉴의 우측 Edit 버튼을 클릭합니다.

  10. Provisioning 필드를 SCIM으로 선택한 뒤 Save 버튼을 클릭합니다.

  11. Okta에서 QueryPie 애플리케이션 연동 정보 설정QueryPie에서 Okta 연동 및 동기화 설정을 따라 SSO 연동을 마무리한 뒤, 이후 스텝을 진행하시기 바랍니다.


Okta-QueryPie Provisioning 연동

image-20240723-054522.png

Okta Admin Console > Applications > Applications > Custom SCIM App > Provisioning > Integration

여기에서 Provisioning 활성화 하기 단계를 먼저 수행해야 합니다.

  1. Okta에서 생성한 SCIM App의 Provisioning 탭으로 이동합니다.

  2. SCIM Connection의 우측 Edit 버튼을 눌러 이하의 값을 채워 수정합니다.

    1. SCIM connector base URL : QueryPie에서 조회한 SCIM Endpoint 값을 삽입합니다.

    2. Unique identifier field for users : “userName

    3. Support provisioning action :

      • Import New Users and Profile Updates
      • Push New Users
      • Push Profile Updates
      • Push Groups
      • Import Groups
    4. Authentication Mode : “HTTP Header

    5. HTTP Header > Authorization : QueryPie에서 생성한 SCIM전용 access token 값을 삽입합니다.

  3. Test Connector Configuration 버튼을 눌러 연결 테스트를 진행합니다.

  4. Connector configured successfully” 문구와 함께 팝업이 나타나면 Close 버튼을 클릭합니다.

    image-20240430-025059.png
  5. 하단의 Save 버튼을 클릭하여 연결 설정을 저장합니다.


SCIM API 활성화 및 체크

image-20240430-034915.png

Okta Admin Console > Applications > Applications > Custom SCIM App > Provisioning > To App

  1. Okta에서 생성한 SCIM App의 Provisioning 탭의 To App 화면으로 이동합니다.

  2. Provisioning to App 우측의 Edit 버튼을 클릭합니다.

  3. 이하의 설정의 체크박스를 활성화한 뒤 Save 버튼을 클릭하여 저장합니다.

    1. Create Users : 사용자가 앱에 할당될 때 앱에 추가합니다.

    2. Update User Attributes : 사용자의 프로필 업데이트가 발생되면 앱에 반영합니다.

    3. Deactivate Users : 사용자가 비활성화될 때 앱에서 함께 비활성화합니다.

  4. QueryPie SCIM App Attribute Mappings 하단의 Go to Profile Editor 버튼을 클릭합니다.

  5. Attributes 하단의 Mappings 버튼을 클릭합니다.

  6. 팝업창 상단의 두 탭 중 “Okta User to {사용자가 정의한 App명}” 으로 기재된 탭으로 이동합니다.

  7. 사용자 임의의 설정에 맞게 항목을 맵핑한 뒤, 하단의 Save Mappings 버튼을 클릭합니다.

  8. 하단의 Apply updates now 버튼을 클릭합니다.

일부 Attribute 추가 싱크 방법

  1. 쿼리파이 프로필 내 staticIp, macAddress 등 일부 attribute 항목이 SCIM Integration 당시에 별도 import 되지 않습니다. 해당 Attribute는 아래와 같습니다:

    1. secondEmail

    2. mobilePhone

    3. postalAddress (SCIM 스키마에 맞추어 “formatted”로 추가되어 해당 항목을 매핑하면 됩니다.)

    4. staticIp (쿼리파이 전용 커스텀 속성)

    5. macAddress (쿼리파이 전용 커스텀 속성)

  2. 해당 Attribute 정보를 함께 싱크가 필요한 경우, Okta 등의 IdP에서 Custom Attribute를 추가하여 매핑하여 동기화 시킬 수 있습니다. [Okta 예제]

    1. SCIM 앱의 Provisioning 탭 > To App 하단의 Go to Profile Editor를 클릭합니다.

      image-20240712-082412.png
    2. Add Attribute 버튼을 클릭합니다.

      image-20240712-082549.png
    3. 동기화에 필요한 Attribute를 새로 등록합니다.

      image-20240712-082453.png
      1. Data type : 쿼리파이와 동일하게 string 선택합니다.

      2. Display name : 옥타 내 표기할 속성명을 기입합니다.

      3. Variable name & External name : 동기화할 custom attribute 변수명을 기입합니다.

        • 쿼리파이 사용자 프로필에서도 괄호로 변수명 확인이 가능합니다.

          image-20240712-083117.png
      4. External namespace : 해당 정보로 기입합니다.

        CODE
        urn:ietf:params:scim:schemas:extension:querypie:2.0:User
      5. 이후 Save 또는 Save and Add Another 버튼을 클릭하여 저장합니다.

      6. 그 다음 Mappings 버튼을 클릭합니다.

        image-20240712-082549.png
      7. 프롬프트 상단의 탭을 2번째 탭(Okta → {APP})으로 선택합니다.

        image-20240712-083618.png
      8. 하단에 새로 생성한 Custom Attribute와 IdP 내 적절한 Attribute를 매핑하고 Save Mappings 버튼을 클릭하여 설정을 저장합니다.

        image-20240712-085207.png
      9. 이후 사용자를 앱에 할당합니다.


사용자 Provisioning 체크

  1. SCIM 앱으로 다시 돌아가서 Assignments 탭에서 Assign 버튼의 옵션을 통해 사용자를 할당합니다.

    image-20240430-035937.png

    Okta Admin Console > Applications > Applications > Custom SCIM App > Assignments

    1. Assign to People : 사용자 개별 단위로 할당

    2. Assign to Groups : 사용자 그룹 단위로 할당

  2. QueryPie 앱으로 돌아가서 Administrator > General > User Management > Users로 이동하여 사용자가 정상 푸시되었는지 확인합니다.

    image-20240723-040531.png

    Administrator > General > User Management > Users > List Details


그룹 Provisioning 체크

image-20240430-062231.png

Okta Admin Console > Applications > Applications > Custom SCIM App > Push Groups

  1. SCIM 앱으로 다시 돌아가서 Push Groups 탭에서 Push Groups 버튼의 옵션을 통해 사용자를 할당합니다.

    1. Find groups by name : 푸시할 그룹명으로 검색하여 할당

    2. Find groups by rule : 검색 룰을 정의하여 조건에 부합하는 그룹 할당

  2. QueryPie 앱으로 돌아가서 Administrator > General > User Management > Groups로 이동하여 그룹이 정상 푸시되었는지 확인합니다.

Okta 등 타사 Identity Provider(IdP)에서 푸시하여 생성한 Auth Provider가 QueryPie가 아닌 그룹의 경우, 그룹의 삭제를 해당 IdP에서 unlink 후 삭제 처리하시는 것을 권장드립니다. 본 제품에서 그룹을 삭제할 경우, 해당 IdP에서의 관리 플로우가 엉켜 해당 삭제된 그룹명으로는 제품에 다시 push가 어려울 수 있습니다.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.