# Okta SCIM

## 개요

Panther는 다음을 통해 사용자 관리를 지원합니다 [System for Cross-domain Identity Management(SCIM)](https://scim.cloud/) 를 Okta와 함께 사용합니다. SCIM은 여러 시스템(예: Panther와 Okta) 간의 사용자 ID를 한곳에서 관리하도록 설계된 프로토콜입니다. 이를 통해 Okta를 통해 Panther 역할을 관리하고, 프로필을 업데이트하며, 사용자를 활성화하거나 비활성화할 수 있습니다.

{% hint style="warning" %}
Panther는 SCIM을 통한 사용자 프로비저닝은 지원하지 않지만, 사용자 *는* 자동으로 생성될 수 있습니다 [Okta SSO](/ko/system-configuration/saml/okta.md) Just-In-Time(JIT) 프로비저닝을 통한 통합을 사용하여. 이는 사용자가 Okta에서 Panther 애플리케이션에 할당된 후, Panther에 처음 로그인하는 시점에 Panther에서 생성된다는 뜻입니다. (SCIM 프로비저닝은 대신 Okta가 선제적으로 Panther에서 사용자를 생성한다는 의미입니다.)
{% endhint %}

### 지원되는 SCIM 기능

SCIM은 기존 Panther 사용자에 대해 다음을 관리할 수 있습니다:

* **프로필 업데이트:** 사용자의 이름, 성, 이메일 및 사용자 지정 Panther 역할
* **사용자 상태**: 기존 사용자 비활성화 및 재활성화

### 제한 사항

**사용자 프로비저닝:**

* Panther 사용자 프로필은 Okta SSO를 통해 Panther에 처음 로그인할 때 JIT 프로비저닝으로 생성됩니다.
  * Panther는 SCIM을 통해 새 사용자를 생성하는 것을 지원하지 않습니다.
* 기존 사용자 가져오기는 지원되지 않습니다.
* 첫 Panther 로그인 전에 Okta에서 사용자의 프로필을 업데이트할 수 없습니다.

**사용자 관리:**

* 사용자는 삭제가 아니라 비활성화만 할 수 있습니다. Okta는 SCIM 사용자 객체에 대해 DELETE 작업을 수행하지 않습니다. 자세한 내용은 [Okta 문서](https://developer.okta.com/docs/api/openapi/okta-scim/guides/scim-20/#delete-users) 를 참조하세요.
* SCIM 쿼리에서는 `eq` 연산자만 지원됩니다.

**그룹 및 역할:**

* 다음 `/Groups` SCIM 엔드포인트는 지원되지 않습니다.
* 사용자가 여러 그룹에 속한 경우, 첫 번째로 할당된 그룹의 속성이 우선합니다.

{% hint style="warning" %}
SCIM이 활성화되면 Panther Console에서 사용자에게 직접 가한 변경 사항은 다음 Okta 동기화 시 덮어쓰여집니다.
{% endhint %}

### SCIM 워크플로

1. [Panther용 Okta SSO 구성](/ko/system-configuration/saml/okta.md).
2. [Okta로 Panther에 대해 SCIM 구성](#how-to-configure-scim-to-panther-with-okta).
3. [Okta에서 사용자를 Panther 애플리케이션에 할당](#step-4-assign-users-and-groups-to-the-panther-application).
4. 사용자는 Okta SSO를 통해 Panther에 로그인하며, 이때 JIT 프로비저닝을 통해 프로필이 생성됩니다.
5. Okta SCIM은 프로필 업데이트, 역할 및 사용자 상태를 관리합니다.

## Okta로 Panther에 대해 SCIM을 구성하는 방법

### 사전 요구 사항

* 이미 Panther의 [Okta SSO](/ko/system-configuration/saml/okta.md) 지침에 있는 단계를 완료했습니다.
* 관리자 권한으로 Panther에 로그인되어 있습니다.
* Okta 계정의 관리자입니다.

### 1단계: 새 Panther API 토큰 생성

1. Panther Console 오른쪽 상단에서 톱니바퀴 아이콘을 클릭합니다. 드롭다운 메뉴에서 **API Tokens.**
2. 를 클릭합니다. API Tokens 페이지에서 **Create New Token.**
   * 와 같은 **이름**을 제공하세요 `Panther-Okta-SCIM`.
   * 토큰에 다음을 수행할 수 있는 권한을 부여하세요 **Manage Users** (또는 `UserModify` (API를 통해 토큰을 생성하는 경우).
     * 참고: **사용자 정보 읽기** 는 다음에서 제공되는 고유 권한입니다 **Manage Users**.
3. 다음을 클릭하세요. **Create API Token**.
4. API 토큰 값을 복사하여 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.
   * 이 페이지를 닫으면 이 토큰은 다시 표시되지 않습니다.

### 2단계: Panther Okta 애플리케이션에서 SCIM 프로비저닝 설정

참고: [Okta SSO](/ko/system-configuration/saml/okta.md) 은 이미 구성 및 활성화되어 있어야 합니다.

1. Okta 계정에서 SAML SSO를 활성화하기 위해 만든 Panther 애플리케이션으로 이동합니다.
2. 다음에서 **일반 설정**, **Provisioning** 필드에서 **SCIM**:

   <figure><img src="/files/a57d57c847c30d8b857ff91ffba97a7a736a6782" alt="A &#x22;General&#x22; tab is selected. Under an &#x22;App Settings&#x22; header, a &#x22;Provisioning&#x22; field, with its three radio button options, is circled." width="563"><figcaption></figcaption></figure>
3. 다음을 클릭하세요. **Provisioning** 탭에서 왼쪽의 **Integration**. 페이지 오른쪽 상단에서 **Edit.**
4. 를 클릭합니다. 다음 값으로 구성 설정을 편집합니다:

   * **Authentication Mode:** 드롭다운에서 `HTTP Header`. 를 선택합니다. 이를 선택하면 아래에 **HTTP Header** 섹션이 표시됩니다.
     * **Authorization**: 1단계에서 생성한 API 토큰 값을 붙여넣습니다.
   * **SCIM connector base URL**: 다음을 입력합니다. **Tenant URL** 을 Panther Console에서 가져옵니다.
     * 이 값을 얻는 방법: Panther Console에서 **일반 설정** 페이지로 이동하여 **신원 및 액세스** 탭을 선택합니다. **Tenant URL** 은 **SCIM Provisioning Setup** 섹션.

   <figure><img src="/files/361d9cf2ecfc7c1981f78349abe6811b022508d3" alt="Under a &#x22;SCIM Provisioning Setup&#x22; header, a section labeled &#x22;Copy Tenant URL to your identity provider&#x22; and a Tenant URL below it, are circled." width="563"><figcaption></figcaption></figure>

   * **사용자 고유 식별자 필드**: 예를 들어 사용자 고유 식별자로 사용하는 필드를 입력합니다 `이메일`.
   * **지원되는 프로비저닝 작업**: 선택 `Push Profile Updates`.

<figure><img src="/files/ddde757cf4e5b97e94c8ecd6ffc3112630732482" alt="In Okta, the SCIM Connection form is filled out." width="563"><figcaption></figcaption></figure>

3. 다음을 클릭하세요. **저장**. Okta가 Panther에 대한 SCIM 연결을 확인합니다.
   * 오류가 발생하면 **SCIM connector base URL** 값이 Panther Console의 **Tenant URL** 와 같은지 확인한 다음 1분 후에 다시 시도하세요. 새 API 토큰을 사용하는 경우 토큰이 활성화되기까지 최대 1분이 걸릴 수 있습니다.

### 3단계: Okta에서 Panther 설정 구성

이전 단계에서 SCIM 연결을 확인하면, Okta에 Okta에서 Panther로 동기화할 설정을 구성하기 위한 새 페이지가 표시됩니다.

1. 다음을 클릭하세요. **Provisioning** 탭. 왼쪽에서 **To App** 을 클릭한 다음 **편집**.
2. 옵션을 활성화합니다 **Update User Attributes** 및 **Deactivate Users**:

   <figure><img src="/files/4dd01edecd839cd94c99912727b68fa5c8121612" alt="In Okta, the settings up &#x22;Update User Attributes&#x22; and &#x22;Deactivate Users&#x22; are enabled." width="563"><figcaption></figcaption></figure>

### 4단계: 사용자 및 그룹을 Panther 애플리케이션에 할당

{% hint style="warning" %}
**참고:** 새로 할당된 사용자는 SCIM이 프로필을 관리할 수 있기 전에 Okta SSO를 통해 첫 Panther 로그인을 완료해야 합니다.
{% endhint %}

아직 하지 않았다면, Okta 사용자와 그룹을 Panther 애플리케이션에 할당하세요:

1. Okta에서 **할당** 탭.
2. Panther 애플리케이션을 사용자와 그룹에 할당합니다.
   * 사용자: 애플리케이션을 사용자에게 할당하는 방법에 대한 [지침은 Okta 문서를 따르세요](https://help.okta.com/oie/en-us/Content/Topics/users-groups-profiles/usgp-assign-apps.htm).
   * 그룹: 애플리케이션을 그룹에 할당하는 방법에 대한 [지침은 Okta 문서를 따르세요](https://help.okta.com/oie/en-us/Content/Topics/users-groups-profiles/usgp-assign-app-group.htm).

### 5단계: (선택 사항) SCIM을 통해 Panther 역할 관리 설정

Okta에서 Panther 역할 할당(예: Admin, ReadOnlyAnalyst 또는 사용자 지정 역할 중 하나)을 관리하려면 Okta의 Panther User Profile에 이름이 `PantherRole`.

인 새 속성을 만드세요. 이 역할에 할당된 값은 Panther와 동기화됩니다. 유효한 역할 이름을 제공하지 않으면 오류가 발생하며, 유효한 역할 이름이 제공될 때까지 사용자 업데이트는 이루어지지 않습니다.

1. 다음 항목에서 **To App** 설정 페이지에서 아래로 스크롤하여 **Panther Attribute Mappings** 섹션으로 이동합니다. **Go to Profile Editor**.\
   ![Under "Panther Attribute Settings" in Okta, there is a button labeled "Go to profile editor."](/files/7f3d1bd36daad9d46da8f3335d7a385f8adcdc0b)
2. 다음 항목에서 **Profile Editor** 페이지에서 **Add Attribute**.
3. 를 클릭합니다. 새 속성에는 다음 값을 사용하세요. 나열되지 않은 필드는 변경하지 않아도 됩니다.
   * **데이터 유형**: `문자열`
   * **표시 이름**: `Panther 역할`
   * **변수 이름**: `pantherRole`
   * **외부 이름**: `pantherRole`
   * **외부 네임스페이스**: `urn:ietf:params:scim:schemas:core:2.0:User`
4. 다음을 클릭하세요. **저장**.

<figure><img src="/files/921445962c2af39106c131bc6ee221b02a524138" alt="The &#x22;Add attribute&#x22; form in Okta is filled out." width="338"><figcaption></figcaption></figure>

5. 추가 속성 문을 구성하세요 `PantherRole` (이미 [구성한 세 가지 외에](/ko/system-configuration/saml/okta.md#step-2-create-the-panther-application-in-okta)Okta SSO 설정 중에 `PantherRole` 을 SAML 어설션으로 동기화합니다.
   1. Okta에서 **General** 탭.
   2. 다음에서 **SAML 설정** 섹션에서 다음을 클릭합니다 **편집**.
   3. 다음에서 **Attribute Statements**, 로 이동하여 네 번째 속성을 추가합니다:
      * **이름**: `PantherRole`
      * **값**: `appuser.pantherRole`
   4. 다음을 클릭하세요. **계속**의 가장 높은 패치 버전으로 업그레이드한 다음, **저장**.

<figure><img src="/files/cc0d9e046ae96608c3019ab0a79c6376a20345be" alt="The Attribute Statements section of Okta is shown, with four attributes: PantherEmail, PantherFirstName, PantherLastName, and PantherRole" width="529"><figcaption></figcaption></figure>

6. 개인 또는 그룹에 Panther 역할을 할당합니다.

{% hint style="warning" %}
이 단계는 사용자가 서비스 제공자(Panther) 시작 로그인(사용자 프로필을 JIT 프로비저닝으로 생성함)을 완료하기 전까지는 완료되지 않을 수 있습니다. 그 이전에 사용자 프로필을 업데이트하려고 하면 오류가 발생할 수 있습니다.
{% endhint %}

* 새 그룹이나 사용자를 할당할 때, 그룹에 어떤 Panther 역할을 할당할지 정의하라는 메시지가 표시됩니다.
* 기존 엔터티의 Panther 역할을 수정하려면 **할당** 탭을 클릭하고 사용자 또는 그룹을 편집한 다음 `Panther 역할` 필드를 수정하세요. 만약 `Panther 역할` 속성이 할당되지 않으면 Panther Console에서 선택한 기본 SAML 역할을 Panther가 사용합니다.

{% hint style="warning" %}
SCIM을 통해 수행된 Panther 역할 할당은 영향받는 사용자가 Okta를 통해 Panther Console에 다시 인증하기 전까지 Panther에 반영되지 않습니다. Okta에서 변경한 내용이 Panther에 동기화된 것으로 표시되지 않으면 몇 분 기다린 후 다시 시도하세요.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/system-configuration/saml/okta/okta-scim.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
