> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/supported-logs/okta.md).

# Okta 로그

## 개요

Panther는 다음을 쿼리하여 Okta 이벤트를 가져올 수 있습니다 [Okta System Log API](https://developer.okta.com/docs/reference/api/system-log/). Panther는 1분마다 System Log API를 쿼리합니다. Panther가 API에 액세스하려면 새 API 토큰을 만들거나 기존 토큰을 사용해야 합니다.

다음도 활성화할 수 있습니다 [Okta 사용자 및 디바이스 프로필](/ko/enrichment/okta.md).

**Identity Threat Protection (ITP) 지원**: Panther의 Okta.SystemLog 스키마에는 Identity Threat Protection이 활성화된 Okta Identity Engine용 필드가 포함됩니다. 이러한 필드는 봇 보호, IP 평판, 위험 점수, 사용자 행동 분석을 포함한 보강 데이터를 수집하며, Okta 환경에서 ITP 기능이 활성화되어 있을 때 보안 가시성을 향상시킵니다.

### 비디오 안내

{% embed url="<https://youtu.be/QqoddCp1Vy8>" %}
Okta 로그를 Panther에 온보딩하는 방법을 보여주는 비디오 안내
{% endembed %}

## Okta 로그를 Panther에 온보딩하는 방법

### 1단계: 새 Okta API 토큰 만들기

{% hint style="info" %}
System Logs를 쿼리할 권한이 있는 Okta API 토큰을 만들려면 다음 유형의 Okta 관리자 중 하나로 로그인되어 있어야 합니다: a [슈퍼 관리자](https://help.okta.com/en-us/Content/Topics/Security/administrators-super-admin.htm), [조직 관리자](https://help.okta.com/en-us/Content/Topics/Security/administrators-org-admin.htm), 또는 [읽기 전용 관리자](https://help.okta.com/en-us/Content/Topics/Security/administrators-read-only-admin.htm).

최소 권한 원칙을 위해 다음을 사용하는 것을 권장합니다 [읽기 전용 관리자](https://help.okta.com/en-us/Content/Topics/Security/administrators-read-only-admin.htm) 역할입니다.

참고 [Okta 문서](https://help.okta.com/en-us/Content/Topics/Security/Administrators.htm) 에서 관리자 역할 관리에 대한 자세한 내용을 확인하세요.
{% endhint %}

1. Okta 관리자로 로그인합니다.
2. Okta Admin Console에서 다음으로 이동합니다 **보안** > **API.**
3. 다음으로 이동하세요: **토큰** 탭.
4. 클릭합니다 **토큰 만들기.**
5. 토큰에 설명적인 이름을 입력하세요. 예: `Panther API 토큰`.
6. 다음을 복사하고 **토큰 값** 안전한 위치에 보관하세요. 다음 단계에서 필요합니다.
   * **참고**: Okta는 이 값을 다시 표시하지 않습니다.

### 2단계: Panther에서 새 Okta 소스 만들기

1. Panther Console의 왼쪽 탐색 모음에서 **로그 소스**.
2. 클릭합니다 **새로 만들기.**
3. “Okta”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서 다음을 클릭합니다 **설정 시작**.
5. 다음 페이지에서 **구성** 페이지에서 다음 필드를 채웁니다
   * **이름**: 소스에 설명적인 이름을 입력하세요. 예: `내 Okta 로그`.
   * **Okta 서브도메인**: Okta 조직 도메인의 서브도메인을 입력하세요. 다음을 참조할 수 있습니다 [Okta 문서](https://developer.okta.com/docs/guides/find-your-domain/main/) 에서 Okta org 도메인에 대한 자세한 내용을 확인하세요.
   * **Okta 도메인**: Okta 도메인 드롭다운에서 적절한 도메인 이름을 선택합니다.
   * **API 토큰**: 이전 단계에서 생성한 토큰 값을 입력하세요.
6. 클릭합니다 **설정**.
7. 다음 페이지에서 **보강** 페이지에서 다음을 활성화하려면 [Okta Identity 프로필](/ko/enrichment/okta.md), 오른쪽에 **사용자 프로필** 및/또는 **디바이스 프로필**, 토글을 클릭합니다 `켜기`.

   * 참고 [Okta 디바이스 프로필을 활성화하기 위한 전제 조건](/ko/enrichment/okta.md#prerequisite-for-okta-device-profiles).
   * 켜기로 설정된 각 토글에 대해 `켜기`, 다음을 설정합니다 **새로고침 주기(분)**. 이는 Panther가 Okta에 저장된 내용으로 프로필 데이터를 업데이트하는 주기를 나타냅니다.

   <figure><img src="/files/db71859e15bc3c83fe7a64c561f5c12cf65c6bb7" alt="On the Enrichment settings page of the Create Okta source flow, there are toggles for User Profiles and Device Profiles. Next to each of the toggles is a Refresh period (min) field." width="375"><figcaption></figcaption></figure>
8. 클릭합니다 **설정**. 성공 화면으로 이동됩니다:\\

   <figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

   * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
   * 다음 **이벤트가 처리되지 않으면 알러트를 발생시키기** 설정의 기본값은 **예**. 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 멈추면 알러트를 받게 되므로 이 설정을 활성화한 상태로 두는 것을 권장합니다. 이 시간 범위는 구성 가능하며 기본값은 24시간입니다.\\

     <figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

## Panther가 관리하는 디택션

참고 [Panther가 관리하는](/ko/detections/panther-managed.md) Okta용 룰 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/main/rules/okta_rules). 여기에는 다음이 포함됩니다:

* [Okta 관리자 역할 할당](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_admin_role_assigned.py) - 사용자가 Okta에서 관리 권한을 부여받았습니다
* [Okta API 키 생성](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_api_key_created.py) - 사용자가 Okta에서 API 키를 생성했습니다
* [Okta API 키 취소](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_api_key_revoked.py) - 사용자가 Okta에서 API 키를 취소했습니다
* [지리적으로 불가능한 Okta 로그인](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_geo_improbable_access.py) - 사용자가 매우 멀리 떨어진 두 지리적 위치에서 연속 로그인을 했습니다
* [Okta MFA 전역 비활성화](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_admin_disabled_mfa.py) - Okta 시스템 전반의 MFA가 관리자 사용자에 의해 비활성화되었습니다
* [Okta 지원 자격 증명 재설정](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_support_reset.py) - Okta 지원이 사용자의 비밀번호 또는 MFA를 재설정했습니다
* [Okta 지원 액세스 부여](https://github.com/panther-labs/panther-analysis/blob/cd220c87982011d4ad156c7daecd2857c358d154/rules/okta_rules/okta_account_support_access.py) - Okta 지원 액세스가 부여되었습니다

## 사용자 정의 디택션

#### 의심스러운 행동 보고 예시

사용자가 자신의 계정에서 의심스러운 행동을 보고했습니다:

```python
def 룰(event):
    if event.get('eventtype') == 'user.account.report_suspicious_activity_by_enduser':
        return True
```

#### 사용자 정의 디택션 패턴

아래에는 몇 가지 일반적인 함수와 예제가 있습니다 [`deep_get()`](/ko/detections/rules/python.md#deep_get) Okta 로그에 대한 사용자 정의 디택션을 작성할 때 사용합니다. Okta의 다양한 이벤트 유형에 대한 자세한 정보는 다음에서 확인하세요. [문서](https://developer.okta.com/docs/reference/api/event-types/).

```python
#Okta에는 여기에 나열된 많은 이벤트 유형이 있습니다. 이러한 eventtypes 중 하나를 기반으로 디택션을 시작할 수 있습니다
#https://developer.okta.com/docs/reference/api/event-types/
event.get('eventtype')

#도시, 주, lat, lon 등에 액세스하려면 
deep_get(event, 'client', 'geographicalContext', 'city')
deep_get(event, 'client', 'geographicalContext', 'state')
deep_get(event, 'client', 'geographicalContext', 'country')
deep_get(event, 'client', 'geographicalContext', 'geolocation', 'lon')
deep_get(event, 'client', 'geographicalContext', 'geolocation', 'lat')

#이벤트 소스에 대한 자세한 정보
deep_get(event, 'client' 'device')
deep_get(event, 'client', 'ipAddress')
deep_get(event, 'client', 'userAgent')


deep_get(event, 'actor', 'alternateId')
deep_get(event, 'actor', 'displayName')

## Okta에서 유용할 수 있는 전역 헬퍼

# panther_base_helpers 내부
def okta_알러트_context(event: dict):
    """Okta 알러트 자동화를 위한 공통 컨텍스트를 반환합니다"""
    return {
        "ips": event.get("p_any_ip_addresses", []),
        "actor": event.get("actor", ""),
        "target": event.get("target", ""),
        "client": event.get("client", ""),
    }
    
# panther_base_helpers 내부
def is_ip_in_network(ip_addr, networks):
    """주어진 IP가 IP 범위 목록 내에 있는지 확인합니다"""
    return any(ip_address(ip_addr) in ip_network(network) for network in networks)
```

## 지원되는 로그 유형

### Okta.SystemLog

Okta System Log는 플랫폼 활동을 이해하고 문제를 진단하는 데 사용할 수 있는 감사 추적을 제공하기 위해 조직과 관련된 시스템 이벤트를 기록합니다.

참조: [System Log API에 대한 Okta 문서.](https://developer.okta.com/docs/reference/api/system-log/)

```yaml
schema: Okta.SystemLog
description: |
    Okta System Log는 플랫폼 활동을 이해하고 문제를 진단하는 데 사용할 수 있는 감사 추적을 제공하기 위해 조직과 관련된 시스템 이벤트를 기록합니다.
referenceURL: https://developer.okta.com/docs/reference/api/system-log/
필드:
    - name: uuid
      필수: true
      description: 개별 이벤트의 고유 식별자
      유형: string
    - name: published
      필수: true
      description: 이벤트가 게시된 시각의 타임스탬프
      유형: timestamp
      시간 형식: rfc3339
      이벤트 시간 여부: true
    - 이름: eventType
      필수: true
      description: 게시된 이벤트의 유형
      유형: string
    - 이름: version
      필수: true
      description: 버전 표시자
      유형: string
    - 이름: severity
      필수: true
      description: '이벤트의 심각도를 나타냅니다: DEBUG, INFO, WARN, ERROR'
      유형: string
    - name: legacyEventType
      description: 연결된 Events API Action objectType 속성 값
      유형: string
    - name: displayMessage
      description: 이벤트의 표시 메시지
      유형: string
    - name: actor
      description: 작업을 수행한 엔터티를 설명합니다
      유형: object
      필드:
        - 이름: id
          필수: true
          description: 행위자의 ID
          유형: string
        - 이름: type
          필수: true
          description: 행위자 유형
          유형: string
        - name: alternateId
          description: 행위자의 대체 ID
          유형: string
          지표:
            - email
        - name: displayName
          description: 행위자의 표시 이름
          유형: string
        - 이름: details
          description: 행위자에 대한 자세한 정보
          유형: json
        - name: detailEntry
          description: 세부 항목
          유형: json
    - name: client
      description: 작업을 요청한 클라이언트
      유형: object
      필드:
        - 이름: id
          description: OAuth 요청의 경우 이 값은 요청을 수행하는 OAuth 클라이언트의 ID입니다. SSWS 토큰 요청의 경우 이 값은 요청을 수행하는 에이전트의 ID입니다.
          유형: string
        - name: userAgent
          description: 행위자가 작업을 수행할 때 사용한 사용자 에이전트
          유형: object
          필드:
            - 이름: browser
              description: 클라이언트가 웹 브라우저인 경우 이 필드는 웹 브라우저 유형을 식별합니다(예: CHROME, FIREFOX)
              유형: string
            - 이름: os
              description: 클라이언트가 실행되는 운영 체제입니다(예: Windows 10)
              유형: string
            - name: rawUserAgent
              description: HTTP/1.1 Semantics and Content의 5.5.3절에 따라 형식이 지정된 사용자 에이전트의 원시 문자열 표현입니다. 브라우저와 OS 필드는 모두 이 필드에서 파생될 수 있습니다.
              유형: string
        - name: geographicalContext
          description: 클라이언트가 요청을 보낸 물리적 위치
          유형: object
          필드:
            - name: geolocation
              description: 지리 위치 좌표(위도, 경도)를 포함합니다
              유형: object
              필드:
                - name: lat
                  description: 위도
                  유형: float
                - name: lon
                  description: 경도
                  유형: float
            - 이름: city
              description: 지리 위치 좌표를 포함하는 영역을 포괄하는 도시 이름(있는 경우)입니다(예: Seattle, San Francisco)
              유형: string
            - 이름: state
              description: 지리 위치 좌표를 포함하는 영역을 포괄하는 주/도 전체 이름입니다(예: Montana, Incheon)
              유형: string
            - 이름: country
              description: 지리 위치 좌표를 포함하는 영역을 포괄하는 국가 전체 이름입니다(예: France, Uganda)
              유형: string
            - name: postalCode
              description: 지리 위치 좌표를 포함하는 영역을 포괄하는 국가 전체 이름입니다(예: France, Uganda)
              유형: string
        - name: zone
          description: 클라이언트의 위치가 매핑된 Zone의 이름
          유형: string
        - name: ipAddress
          description: 클라이언트가 요청을 보낸 IP 주소
          유형: string
          지표:
            - ip
        - name: device
          description: 클라이언트가 사용한 장치 유형입니다(예: Computer)
          유형: string
    - name: request
      description: 작업을 시작한 요청
      유형: object
      필드:
        - name: ipChain
          description: 들어오는 요청이 하나 이상의 프록시를 통과하는 경우 해당 프록시의 IP 주소는 (clientIp, proxy1, proxy2, ...) 형식으로 여기에 저장됩니다.
          유형: array
          요소:
            유형: object
            필드:
                - 이름: ip
                  description: IP 주소
                  유형: string
                  지표:
                    - ip
                - name: geographicalContext
                  description: IP 주소의 지리적 컨텍스트
                  유형: object
                  필드:
                    - name: geolocation
                      description: 지리 위치 좌표(위도, 경도)를 포함합니다
                      유형: object
                      필드:
                        - name: lat
                          description: 위도
                          유형: float
                        - name: lon
                          description: 경도
                          유형: float
                    - 이름: city
                      description: 지리 위치 좌표를 포함하는 영역을 포괄하는 도시 이름(있는 경우)입니다(예: Seattle, San Francisco)
                      유형: string
                    - 이름: state
                      description: 지리 위치 좌표를 포함하는 영역을 포괄하는 주/도 전체 이름입니다(예: Montana, Incheon)
                      유형: string
                    - 이름: country
                      description: 지리 위치 좌표를 포함하는 영역을 포괄하는 국가 전체 이름입니다(예: France, Uganda)
                      유형: string
                    - name: postalCode
                      description: 지리 위치 좌표를 포함하는 영역을 포괄하는 국가 전체 이름입니다(예: France, Uganda)
                      유형: string
                - 이름: version
                  description: IP 버전
                  유형: string
                - name: source
                  description: 소스 관련 세부 정보
                  유형: string
                - name: ipDetails
                  description: 관련 IP 주소에 대한 자세한 정보
                  유형: object
                  필드:
                    - name: asNumber
                      description: IP 주소와 연결된 자율 시스템 번호
                      유형: bigint
                    - name: asOrg
                      description: 자율 시스템 번호(ASN)와 연결된 이름
                      유형: string
                    - name: domain
                      description: IP 주소와 연결된 도메인 이름
                      유형: string
                      지표:
                        - domain
                    - name: ipServiceCategories
                      description: IP 주소와 연결된 IP 서비스 카테고리
                      유형: array
                      요소:
                        유형: string
                    - name: isp
                      description: IP 주소와 연결된 인터넷 서비스 제공업체
                      유형: string
    - name: outcome
      description: 작업의 결과
      유형: object
      필드:
        - 이름: result
          description: '작업의 결과: SUCCESS, FAILURE, SKIPPED, ALLOW, DENY, CHALLENGE, UNKNOWN'
          유형: string
        - 이름: reason
          description: 결과의 이유, 예: INVALID_CREDENTIALS
          유형: string
    - 이름: 대상
      설명: 작업의 대상이 0개 이상
      유형: array
      요소:
        유형: object
        필드:
            - 이름: id
              필수: true
              설명: 대상의 ID
              유형: string
            - 이름: type
              필수: true
              설명: 대상 유형
              유형: string
            - name: alternateId
              설명: 대상의 대체 ID
              유형: string
            - name: displayName
              설명: 대상의 표시 이름
              유형: string
            - 이름: details
              설명: 대상에 대한 세부 정보
              유형: json
            - name: detailEntry
              description: 세부 항목
              유형: json
            - 이름: 변경 세부 정보
              설명: 변경에 대한 세부 정보
              유형: json
    - 이름: 트랜잭션
      설명: 작업의 트랜잭션 세부 정보
      유형: object
      필드:
        - 이름: id
          설명: 이 트랜잭션의 고유 식별자.
          유형: string
        - 이름: type
          설명: 트랜잭션의 종류를 설명합니다. WEB은 웹 요청을 의미합니다. JOB은 비동기 작업을 의미합니다.
          유형: string
        - 이름: 세부 정보
          설명: 이 트랜잭션에 대한 세부 정보.
          유형: json
    - 이름: 디버그 컨텍스트
      설명: 작업의 디버그 요청 데이터
      유형: object
      필드:
        - 이름: 디버그 데이터
          설명: 이벤트 유형에 따라 달라지는 기타 정보를 포함하는 동적 필드.
          유형: json
    - 이름: 인증 컨텍스트
      설명: 작업의 인증 데이터
      유형: object
      필드:
        - 이름: 인증 공급자
          설명: 제공된 자격 증명을 사용하여 행위자의 신원을 증명하는 시스템
          유형: string
        - 이름: 인증 단계
          설명: 인증 파이프라인의 0부터 시작하는 단계 번호입니다. 현재는 사용되지 않으며 항상 0으로 설정됩니다.
          유형: int
        - 이름: 자격 증명 공급자
          설명: 자격 증명 공급자는 신원과 그에 연결된 자격 증명을 관리하는 소프트웨어 서비스입니다. 자격 증명 공급자가 제공한 자격 증명을 통해 인증이 발생하면, 해당 자격 증명 공급자가 여기에 기록됩니다.
          유형: string
        - 이름: 자격 증명 유형
          설명: 자격 증명에 사용된 기본 기술/방식
          유형: string
        - 이름: 루트 세션 ID
          유형: string
        - 이름: 발급자
          설명: 자격 증명을 생성하고 발급한 특정 소프트웨어 엔터티.
          유형: object
          필드:
            - 이름: id
              설명: 인증 유형에 따라 달라집니다. 인증이 SAML 2.0인 경우 id는 SAML 어설션의 발급자입니다. 소셜 로그인인 경우 id는 토큰의 발급자입니다.
              유형: string
            - 이름: type
              설명: SAML 어설션 또는 토큰의 발급자와 출처에 관한 정보.
              유형: string
        - 이름: 외부 세션 ID
          설명: 행위자의 세션 ID를 나타내는 대리 값
          유형: string
        - 이름: 인터페이스
          설명: 행위자가 인증하는 제3자 사용자 인터페이스(있는 경우).
          유형: string
        - 이름: 인증자 공급자
          설명: '사용 중단됨: 이 필드는 이전 버전과의 호환성을 위해 유지됩니다.'
          유형: string
        - 이름: 인증자 컨텍스트
          설명: 인증 요청을 충족하는 데 사용된 인증자의 바인딩 컨텍스트(예: Platform SSO/SSO 확장 바인딩).
          유형: object
          필드:
            - 이름: 애플리케이션 버전
              설명: 인증자 바인딩을 요청한 애플리케이션의 버전
              유형: string
            - 이름: 바이너리 식별자
              설명: 인증자 바인딩을 요청한 바이너리의 식별자
              유형: string
            - 이름: 바이너리 경로
              설명: 인증자 바인딩을 요청한 바이너리의 파일 시스템 경로
              유형: string
            - 이름: 바인딩 방법
              설명: 인증자를 요청에 바인딩하는 데 사용된 방법(예: APPLE_SSO_EXTENSION 또는 LOOPBACK)
              유형: string
            - 이름: 운영자
              설명: 서비스 운영자의 이름
              유형: string
    - 이름: 보안 컨텍스트
      설명: 작업의 보안 데이터
      유형: object
      필드:
        - name: asNumber
          설명: 이벤트 요청의 출처가 된 자율 시스템과 관련된 자율 시스템 번호
          유형: bigint
        - name: asOrg
          설명: 이벤트 요청의 출처가 된 자율 시스템과 관련된 조직
          유형: string
        - name: isp
          설명: 이벤트 요청을 전송하는 데 사용된 인터넷 서비스 공급자
          유형: string
        - name: domain
          설명: 들어오는 이벤트 요청의 IP 주소와 관련된 도메인 이름
          유형: string
          지표:
            - domain
        - 이름: 프록시 여부
          설명: 이벤트 요청이 알려진 프록시에서 온 것인지 여부를 지정합니다
          유형: boolean
        - 이름: 봇 보호
          설명: 이벤트와 관련된 봇 보호 디택션 결과
          유형: object
          필드:
            - 이름: 수준
              설명: 봇 보호 구성 대상과 관련된 봇 디텍트 수준
              유형: string
        - name: ipDetails
          description: 관련 IP 주소에 대한 자세한 정보
          유형: object
          필드:
            - name: asNumber
              description: IP 주소와 연결된 자율 시스템 번호
              유형: bigint
            - name: asOrg
              description: 자율 시스템 번호(ASN)와 연결된 이름
              유형: string
            - name: domain
              description: IP 주소와 연결된 도메인 이름
              유형: string
              지표:
                - domain
            - name: ipServiceCategories
              description: IP 주소와 연결된 IP 서비스 카테고리
              유형: array
              요소:
                유형: string
            - name: isp
              description: IP 주소와 연결된 인터넷 서비스 제공업체
              유형: string
        - 이름: 위험
          설명: 이벤트와 관련된 위험
          유형: object
          필드:
            - 이름: 디텍션 이름
              설명: 위험을 식별한 디텍션 메커니즘의 이름
              유형: string
            - 이름: 발급자
              설명: 관련 위험을 발급한 엔터티
              유형: string
            - 이름: 수준
              설명: 요청과 관련된 위험 수준
              유형: string
            - 이름: 이전 수준
              설명: 사용자와 관련된 이전 위험 수준(있는 경우)
              유형: string
        - 이름: 사용자 행동
          설명: 이벤트와 관련된 사용자 행동 디텍션 모델의 결과
          유형: array
          요소:
            유형: object
            필드:
              - 이름: id
                설명: 사용자 행동 디텍션 모델의 고유 식별자
                유형: string
              - 이름: name
                설명: 관리자가 구성한 사용자 행동 디텍션 모델의 이름
                유형: string
              - 이름: result
                설명: 사용자 행동 분석의 결과
                유형: string
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/okta.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
