> 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/salesforce/event-monitoring.md).

# Salesforce 이벤트 모니터링

## 개요

Panther는 가져올 수 있습니다 [Salesforce 이벤트 모니터링](https://trailhead.salesforce.com/content/learn/modules/event_monitoring/event_monitoring_intro) 다음 이벤트 유형에 대한 로그:

* [Login](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_login.htm)
* [LoginAs](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_loginas.htm)
* [Logout](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_logout.htm)
* [URI](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_uri.htm)

{% hint style="warning" %}
Salesforce 배포 유형 중에서 `Production`, `Developer`, 및 `Sandbox` 는 Panther에서 지원됩니다. `Staging` 은 지원되지 않습니다.
{% endhint %}

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

### 사전 요구 사항

* Salesforce 고객은 [이벤트 모니터링을 활성화해야 합니다](https://help.salesforce.com/articleView?id=000339868\&type=1\&mode=1) 그 후 로그를 Panther에 온보딩해야 합니다. 이 Salesforce 추가 기능에는 추가 라이선스가 필요할 수 있습니다.
* 동안 [Panther에서 Salesforce 소스 설정 중](#step-4-create-a-new-salesforce-source-in-panther)에는 이벤트를 시간별 또는 일별로 가져올지 선택하게 됩니다. 시간별 가져오기를 사용하려면 Salesforce 담당자에게 요청해야 하며 추가 비용이 발생합니다.

### 1단계: Salesforce에서 API 사용자 만들기

{% hint style="info" %}
새 사용자에게 권한을 만들고 추가하려면 ['사용자 관리' 권한](https://help.salesforce.com/articleView?id=000324398\&type=1\&mode=1) 이 필요합니다.
{% endhint %}

Panther는 Event Monitoring 로그를 검색하기 위해 API 및 이벤트 로그 파일 권한이 있는 사용자 계정을 필요로 합니다.

Panther에 필요한 최소 권한을 가진 새 전용 사용자를 만드는 것을 권장합니다. Salesforce에서는 각 사용자에게 [고유한 사용자 이름](https://help.salesforce.com/articleView?id=sf.basics_intro_usernames_passwords.htm\&type=5)이 있어야 하지만, 여러 사용자에게 동일한 이메일 주소를 사용할 수 있습니다. 따라서 조직에서 추가 이메일 주소를 관리할 필요 없이 Panther 전용 계정을 만들 수 있습니다.

**사용자를 만들려면**:

1. 다음의 지침을 따르세요. [Salesforce 문서](https://help.salesforce.com/articleView?id=sf.adding_new_users.htm\&type=5) 새 사용자를 추가하는 방법에 대한.
   * 사용자 라이선스는 "Salesforce"를 선택합니다.
   * 프로필은 "Read Only"를 선택합니다.
2. 이메일로 전송된 링크를 통해 새 비밀번호를 설정하여 사용자 등록 절차를 완료합니다.

### 2단계: Salesforce API에서 보안 토큰 가져오기 <a href="#retrieve-security-token" id="retrieve-security-token"></a>

Salesforce API 액세스에는 사용자 이름, 비밀번호, 그리고 다음과 같은 자격 증명이 필요합니다. ***보안 토큰***.

새 Salesforce 사용자 계정에 대한 보안 토큰을 요청하려면 [이 Salesforce 문서의 지침을 따르세요](https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm\&type=5). 새 보안 토큰은 Salesforce 개인 설정에 있는 이메일 주소로 전송됩니다.

### 3단계: Salesforce에서 새 Permission Set 만들기 및 할당하기

새 사용자에게 권한을 할당하려면 새 [Permission Set](https://help.salesforce.com/articleView?id=perm_sets_overview.htm\&type=5).

1. 을 만들어야 합니다. Salesforce의 [Permission Set 만들기 문서](https://help.salesforce.com/s/articleView?id=sf.perm_sets_create.htm\&type=5) 의 지침에 따라 SOAP/REST API를 통해 Panther가 Event Monitoring 데이터에 액세스할 수 있도록 허용하는 새 권한 집합을 추가하세요.
2. 새 Permission Set 페이지에서 **시스템 권한:**\
   ![A "System" page in Salesforce is displayed. A link labeled "System Permissions" is circled.](/files/5df0261f4f4d488c7af0468deb98a959770010c7)
3. 클릭합니다 **편집**을 클릭한 다음, 다음 권한을 활성화하도록 확인란을 선택합니다:
   * API 활성화
   * 이벤트 로그 파일 보기
4. Salesforce 문서의 지침에 따라 지정된 사용자에게 Permission Set을 할당합니다: [단일 사용자에게 Permission Set 할당](https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/perm_sets_assigning.htm).

### 4단계: Panther에 새 Salesforce 소스 만들기

1. Panther Console의 왼쪽 탐색 모음에서 **로그 소스**.
2. 클릭합니다 **새로 만들기.**
3. 선택 **Salesforce** 사용 가능한 로그 소스 목록에서. 다음을 클릭합니다: **설정 시작**.
4. 다음 페이지에서 **소스 구성** 페이지에서 다음 필드를 채웁니다
   * **이름:** 소스에 대한 설명적인 이름을 입력합니다. 예: `Salesforce 로그`.
   * **로그 유형:** 모니터링할 로그 유형을 선택합니다.
   * **환경**: 선택 **프로덕션 / Developer** 또는 **Sandbox**.
   * **귀하의 Salesforce 인스턴스가 일별 또는 시간별 파일 간격을 지원합니까?:** 시간별 또는 일별을 선택합니다. Salesforce에서 파일을 가져오려는 간격입니다.
     * Salesforce 관리자에게 문의하여 Salesforce 인스턴스가 어떻게 구성되어 있는지, 그리고 어떤 파일 간격이 지원되는지 확인하세요. 시간별 이벤트 모니터링은 요청 및 구매를 통해서만 제공되며, 이를 활성화하려면 Salesforce 담당자에게 연락해야 합니다.
5. 클릭합니다 **설정**.
6. Panther가 Salesforce API에 연결하는 데 사용할 계정의 자격 증명을 입력합니다:
   * **계정 사용자 이름**: Salesforce 계정 사용자 이름을 입력합니다. 예: `panther-logs@mycompany.com`.
   * **계정 비밀번호**: Salesforce 계정 비밀번호를 입력합니다.
   * **보안 토큰**: 이전에 얻은 [보안 토큰](#retrieve-security-token) 을 입력합니다.
7. 클릭합니다 **설정**. 성공 화면으로 이동합니다:

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

## 지원되는 로그 유형

### Salesforce.Login

로그인 이벤트에는 조직의 사용자 로그인 기록에 대한 세부 정보가 포함됩니다.

참조: [로그인 이벤트 유형에 대한 Salesforce 문서.](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_login.htm)

```yaml
스키마: Salesforce.Login
referenceURL: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_login.htm
설명: '로그인 이벤트에는 조직의 사용자 로그인 기록에 대한 세부 정보가 포함됩니다.'
파서:
    csv:
        delimiter: ','
        hasHeader: true
        columns:
            - EVENT_TYPE
            - TIMESTAMP
            - REQUEST_ID
            - ORGANIZATION_ID
            - USER_ID
            - RUN_TIME
            - CPU_TIME
            - URI
            - SESSION_KEY
            - LOGIN_KEY
            - USER_TYPE
            - REQUEST_STATUS
            - DB_TOTAL_TIME
            - BROWSER_TYPE
            - API_TYPE
            - API_VERSION
            - USER_NAME
            - TLS_PROTOCOL
            - CIPHER_SUITE
            - AUTHENTICATION_METHOD_REFERENCE
            - TIMESTAMP_DERIVED
            - USER_ID_DERIVED
            - CLIENT_IP
            - URI_ID_DERIVED
            - LOGIN_STATUS
            - SOURCE_IP
필드:
    - 이름: EVENT_TYPE
      유형: string
      필수: true
      검증:
        allow: ['Login']
      설명: 이벤트 유형입니다. 값은 항상 Login입니다.
    - 이름: TIMESTAMP
      required: false
      유형: timestamp
      timeFormat: '%Y%m%d%H%M%S.%f'
      설명: 'GMT 기준 Salesforce 서비스의 액세스 시간입니다. 예: 20130715233322.670.'
    - 이름: REQUEST_ID
      required: false
      유형: string
      지표:
        - trace_id
      설명: >-
        단일 트랜잭션의 고유 ID입니다. 하나의 트랜잭션에는 하나 이상의 이벤트가 포함될 수 있습니다. 주어진 트랜잭션의 각 이벤트는 동일한 REQUEST_ID를 가집니다. 예: 3nWgxWbDKWWDIk0FKfF5DV.
    - 이름: ORGANIZATION_ID
      필수: true
      유형: string
      설명: 조직의 15자 ID입니다. 예: 00D000000000123.
    - 이름: USER_ID
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 15자 ID입니다. 예: 00530000009M943
    - 이름: RUN_TIME
      required: false
      유형: bigint
      설명: 요청에 걸린 시간(밀리초)입니다.
    - 이름: CPU_TIME
      required: false
      유형: bigint
      설명: >-
        요청을 완료하는 데 사용된 CPU 시간(밀리초)입니다. 이 필드는 앱 서버 계층에서 발생한 활동량을 나타냅니다.
    - 이름: URI
      required: false
      유형: string
      설명: '요청을 받는 페이지의 URI입니다. 예: /home/home.jsp.'
    - 이름: SESSION_KEY
      required: false
      유형: string
      설명: >-
        사용자의 고유 세션 ID입니다. 이 값을 사용하여 세션 내의 모든 사용자 이벤트를 식별할 수 있습니다. 사용자가 로그아웃 후 다시 로그인하면 새 세션이 시작됩니다. Login 이벤트 유형의 경우 이 필드는 일반적으로 null인데, 이는 이벤트가 세션이 생성되기 전에 캡처되기 때문입니다. 예: d7DEq/ANa7nNZZVD
    - 이름: LOGIN_KEY
      required: false
      유형: string
      설명: >-
        특정 사용자의 로그인 세션에 있는 모든 이벤트를 연결하는 문자열입니다. 로그인 이벤트로 시작하여 로그아웃 이벤트 또는 사용자 세션 만료로 끝납니다. 예: GeJCsym5eyvtEK2I.
    - 이름: REQUEST_STATUS
      required: false
      유형: string
      설명: >-
        페이지 보기 또는 사용자 인터페이스 작업에 대한 요청 상태입니다. 가능한 값은 다음과 같습니다:
          S—성공. Salesforce가 요청을 성공적으로 처리했습니다. Apex 컨트롤러가 예외를 발생시키면 이 상태도 반환됩니다.
          F—실패. 일반적으로 4xx 또는 5xx HTTP 코드이며, 예를 들어 페이지 보기 권한 없음, 페이지 렌더링 시간이 너무 김, 페이지가 읽기 전용 등이 있습니다.
          U—정의되지 않음
          A—권한 부여 오류
          R—리디렉션. 일반적으로 3xx HTTP 코드이며, Visualforce 페이지의 Apex 컨트롤러에 의해 시작될 수 있습니다.
          N—찾을 수 없음. 404 오류.
    - 이름: DB_TOTAL_TIME
      required: false
      유형: bigint
      설명: >-
        데이터베이스 왕복에 걸린 시간(나노초)입니다. JDBC 드라이버에서 보낸 시간, 데이터베이스로의 네트워크 시간, DB_CPU_TIME이 포함됩니다. 이 필드를 CPU_TIME과 비교하여 성능 문제가 데이터베이스 계층에서 발생하는지 또는 자체 코드에서 발생하는지 확인하세요.
    - 이름: BROWSER_TYPE
      required: false
      유형: string
      설명: >-
        로그인 시 사용된 브라우저가 반환한 식별 문자열입니다. 예시 값:
            Go-http-client/1.1
            Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv%3A50.0) Gecko/20100101 Firefox/50.0
            Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
    - 이름: API_TYPE
      required: false
      유형: string
      설명: >-
        API 요청 유형입니다. 가능한 값은 다음과 같습니다:
            D—Apex 클래스
            E—SOAP Enterprise
            I—SOAP Cross Instance
            M—SOAP 메타데이터
            O—구형 SOAP
            P—SOAP Partner
            S—SOAP Apex
            T—SOAP Tooling
            X—XmlRPC
            f—Feed
            l—Live Agent
            p—SOAP ClientSync
    - 이름: API_VERSION
      required: false
      유형: string
      설명: '사용 중인 API 버전입니다. 예: 36.0.'
    - 이름: USER_NAME
      required: false
      유형: string
      설명: 로그인에 사용된 사용자 이름입니다.
      지표:
        - username
    - 이름: TLS_PROTOCOL
      required: false
      유형: string
      설명: '로그인에 사용된 TLS 프로토콜입니다. 가능한 값은 1.0, 1.1, 1.2의 3가지입니다.'
    - 이름: CIPHER_SUITE
      required: false
      유형: string
      설명: >-
        로그인에 사용된 TLS 암호화 스위트입니다. 값은 하이픈 구분자를 사용하는 OpenSSL 형식의 암호화 스위트 이름입니다. 자세한 내용은 OpenSSL Cryptography and SSL/TLS Toolkit을 참조하세요.
    - 이름: TIMESTAMP_DERIVED
      필수: true
      유형: timestamp
      시간 형식: rfc3339
      이벤트 시간 여부: true
      설명: >-
        ISO8601 호환 형식(YYYY-MM-DDTHH:MM:SS.sssZ)으로 된 Salesforce 서비스의 액세스 시간입니다. 예: 2015-07-27T11:32:59.555Z. 시간대는 GMT입니다.
    - 이름: USER_ID_DERIVED
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 18자 대소문자 구분 없는 ID입니다. 예: 00590000000I1SNIA0.
    - 이름: CLIENT_IP
      required: false
      유형: string
      지표:
        - ip
      설명: >-
        Salesforce 서비스를 사용하는 클라이언트의 IP 주소입니다. Salesforce 내부 IP(예: Salesforce Workbench 또는 AppExchange에서의 로그인)는 "Salesforce.com IP"로 표시됩니다. 예: 10.0.0.1.
    - 이름: URI_ID_DERIVED
      required: false
      유형: string
      설명: 요청을 받는 페이지 URI의 18자 대소문자 구분 없는 ID입니다.
    - 이름: LOGIN_STATUS
      required: false
      유형: string
      설명: >-
        로그인 시도의 상태입니다. 성공한 로그인의 경우 값은 LOGIN_NO_ERROR입니다. 그 외의 모든 값은 오류 또는 인증 문제를 나타냅니다. 자세한 내용은 https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_login_status.htm 을 참조하세요.
    - 이름: SOURCE_IP
      required: false
      유형: string
      지표:
        - ip
      설명: 로그인 요청의 소스 IP입니다.
    - 이름: AUTHENTICATION_METHOD_REFERENCE
      유형: string
      설명: >-
        OpenID Connect 단일 로그인 프로토콜에 대해 타사 식별 공급자가 사용하는 인증 방식입니다. 이 필드는 API 버전 51.0 이상에서 사용할 수 있습니다.
    - 이름: USER_TYPE
      유형: string
      설명: >-
        사용자 라이선스의 범주입니다. 가능한 값은 다음과 같습니다:
            CsnOnly — 애플리케이션 접근이 Chatter로 제한된 사용자입니다. 이 사용자 유형에는 Chatter Free 및 Chatter moderator 사용자가 포함됩니다.
            CspLitePortal — CSP Lite Portal 라이선스. 사용자가 조직 고객이며 고객 포털 또는 Experience Cloud 사이트를 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다.
            CustomerSuccess — Customer Success 라이선스. 사용자가 조직 고객이며 고객 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다.
            Guest — 고객이 로그인하지 않고도 사이트를 보고 상호작용할 수 있도록 접근이 제한된 사용자입니다.
            PowerCustomerSuccess — Power Customer Success 라이선스. 사용자가 조직 고객이며 고객 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다. 이 라이선스 유형의 사용자는 고객 포털 역할 계층에서 자신보다 아래에 있는 사용자에게 직접 소유되거나 그들과 공유된 데이터를 보거나 편집할 수 있습니다.
            PowerPartner — Power Partner 라이선스. 사용자가 파트너이기 때문에 접근이 제한되며, 일반적으로 파트너 포털 또는 사이트를 통해 애플리케이션에 접근합니다.
            SelfService — 사용자가 조직 고객이며 셀프서비스 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한된 사용자입니다.
            Standard — 표준 사용자 라이선스. 이 사용자 유형에는 Salesforce Platform 및 Salesforce Platform One 사용자 라이선스와 이 조직의 관리자도 포함됩니다.
```

### Salesforce.LoginAs

Login As 이벤트에는 Salesforce 관리자가 다른 사용자로 로그인한 상태에서 수행한 작업에 대한 세부 정보가 포함됩니다.

참조: [Login As 이벤트 유형에 대한 Salesforce 문서.](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_loginas.htm)

```yaml
스키마: Salesforce.LoginAs
referenceURL: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_loginas.htm
설명: 'Login As 이벤트에는 Salesforce 관리자가 다른 사용자로 로그인한 상태에서 수행한 작업에 대한 세부 정보가 포함됩니다.'
파서:
    csv:
        delimiter: ','
        hasHeader: true
        columns:
            - EVENT_TYPE
            - TIMESTAMP
            - REQUEST_ID
            - ORGANIZATION_ID
            - USER_ID
            - RUN_TIME
            - CPU_TIME
            - URI
            - SESSION_KEY
            - LOGIN_KEY
            - DELEGATED_USER_NAME
            - DELEGATED_USER_ID
            - TIMESTAMP_DERIVED
            - USER_ID_DERIVED
            - CLIENT_IP
            - URI_ID_DERIVED
            - DELEGATED_USER_ID_DERIVED
필드:
    - 이름: EVENT_TYPE
      필수: true
      유형: string
      검증:
        allow: ['LoginAs']
      설명: 이벤트 유형입니다. 값은 항상 LoginAs입니다.
    - 이름: TIMESTAMP
      required: false
      유형: timestamp
      timeFormat: '%Y%m%d%H%M%S.%f'
      설명: 'GMT 기준 Salesforce 서비스의 액세스 시간입니다. 예: 20130715233322.670.'
    - 이름: REQUEST_ID
      required: false
      유형: string
      설명: >-
        단일 트랜잭션의 고유 ID입니다. 하나의 트랜잭션에는 하나 이상의 이벤트가 포함될 수 있습니다. 주어진 트랜잭션의 각 이벤트는 동일한 REQUEST_ID를 가집니다. 예: 3nWgxWbDKWWDIk0FKfF5DV.
      지표:
        - trace_id
    - 이름: ORGANIZATION_ID
      필수: true
      유형: string
      설명: 조직의 15자 ID입니다. 예: 00D000000000123.
    - 이름: USER_ID
      필수: true
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 15자 ID입니다. 예: 00530000009M943
    - 이름: RUN_TIME
      required: false
      유형: bigint
      설명: 요청에 걸린 시간(밀리초)입니다.
    - 이름: CPU_TIME
      required: false
      유형: bigint
      설명: >-
        요청을 완료하는 데 사용된 CPU 시간(밀리초)입니다. 이 필드는 앱 서버 계층에서 발생한 활동량을 나타냅니다.
    - 이름: URI
      required: false
      유형: string
      설명: '요청을 받는 페이지의 URI입니다. 예: /home/home.jsp.'
    - 이름: SESSION_KEY
      required: false
      유형: string
      설명: >-
        사용자의 고유 세션 ID입니다. 이 값을 사용하여 세션 내의 모든 사용자 이벤트를 식별할 수 있습니다. 사용자가 로그아웃 후 다시 로그인하면 새 세션이 시작됩니다. 예: d7DEq/ANa7nNZZVD.
    - 이름: LOGIN_KEY
      required: false
      유형: string
      설명: >-
        특정 사용자의 로그인 세션에 있는 모든 이벤트를 연결하는 문자열입니다. 로그인 이벤트로 시작하여 로그아웃 이벤트 또는 사용자 세션 만료로 끝납니다. 예: GeJCsym5eyvtEK2I.
    - 이름: DELEGATED_USER_NAME
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 사용자 이름입니다. 이 경우에는 가장자리를 가장해 로그인한 사용자입니다.
      지표:
        - username
    - 이름: DELEGATED_USER_ID
      필수: true
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 15자 ID입니다. 이 경우에는 가장자리를 가장해 로그인한 사용자입니다.
    - 이름: TIMESTAMP_DERIVED
      필수: true
      유형: timestamp
      시간 형식: rfc3339
      이벤트 시간 여부: true
      설명: >-
        ISO8601 호환 형식(YYYY-MM-DDTHH:MM:SS.sssZ)으로 된 Salesforce 서비스의 액세스 시간입니다. 예: 2015-07-27T11:32:59.555Z. 시간대는 GMT입니다.
    - 이름: USER_ID_DERIVED
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 18자 대소문자 구분 없는 ID입니다. 예: 00590000000I1SNIA0.
    - 이름: CLIENT_IP
      required: false
      유형: string
      지표:
        - ip
      설명: >-
        Salesforce 서비스를 사용하는 클라이언트의 IP 주소입니다. Salesforce 내부 IP(예: Salesforce Workbench 또는 AppExchange에서의 로그인)는 "Salesforce.com IP"로 표시됩니다. 예: 10.0.0.1.
    - 이름: URI_ID_DERIVED
      required: false
      유형: string
      설명: 요청을 받는 페이지 URI의 18자 대소문자 구분 없는 ID입니다.
    - 이름: DELEGATED_USER_ID_DERIVED
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 18자 대소문자 구분 없는 ID입니다. 이 경우에는 가장자리를 가장해 로그인한 사용자입니다.
```

### Salesforce.Logout

로그아웃 이벤트에는 사용자 로그아웃에 대한 세부 정보가 포함됩니다.

참조: [Logout 이벤트 유형에 대한 Salesforce 문서.](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_logout.htm)

```yaml
스키마: Salesforce.Logout
referenceURL: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_logout.htm
설명: 로그아웃 이벤트에는 사용자 로그아웃에 대한 세부 정보가 포함됩니다.
파서:
    csv:
        delimiter: ','
        hasHeader: true
        columns:
            - EVENT_TYPE
            - TIMESTAMP
            - REQUEST_ID
            - ORGANIZATION_ID
            - USER_ID
            - USER_TYPE
            - SESSION_TYPE
            - SESSION_LEVEL
            - BROWSER_TYPE
            - PLATFORM_TYPE
            - RESOLUTION_TYPE
            - APP_TYPE
            - CLIENT_VERSION
            - API_TYPE
            - API_VERSION
            - USER_INITIATED_LOGOUT
            - SESSION_KEY
            - LOGIN_KEY
            - TIMESTAMP_DERIVED
            - USER_ID_DERIVED
            - CLIENT_IP
필드:
    - 이름: EVENT_TYPE
      필수: true
      유형: string
      검증:
        allow: ['Logout']
      설명: 이벤트 유형입니다. 값은 항상 Logout입니다.
    - 이름: TIMESTAMP
      required: false
      유형: timestamp
      timeFormat: '%Y%m%d%H%M%S.%f'
      설명: 'GMT 기준 Salesforce 서비스의 액세스 시간입니다. 예: 20130715233322.670.'
    - 이름: REQUEST_ID
      required: false
      유형: string
      지표:
        - trace_id
      설명: >-
        단일 트랜잭션의 고유 ID입니다. 하나의 트랜잭션에는 하나 이상의 이벤트가 포함될 수 있습니다. 주어진 트랜잭션의 각 이벤트는 동일한 REQUEST_ID를 가집니다. 예: 3nWgxWbDKWWDIk0FKfF5DV.
    - 이름: ORGANIZATION_ID
      필수: true
      유형: string
      설명: 조직의 15자 ID입니다. 예: 00D000000000123.
    - 이름: USER_ID
      필수: true
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 15자 ID입니다. 예: 00530000009M943
    - 이름: USER_TYPE
      required: false
      유형: string
      설명: >-
        로그아웃한 사용자의 사용자 라이선스 범주입니다. 가능한 값:
          A: 자동화된 프로세스
          b: 대용량 포털
          C: 고객 포털 사용자
          D: 외부 Who
          F: 셀프 서비스
          G: 게스트
          L: 패키지 라이선스 관리자
          N: Salesforce to Salesforce
          n: CSN Only
          O: Power Custom
          o: Custom
          P: 파트너
          p: 고객 포털 관리자
          S: 표준
          X: Salesforce 관리자
    - 이름: SESSION_TYPE
      required: false
      유형: string
      설명: >-
        로그아웃할 때 사용된 세션 유형입니다. 가능한 값:

          A: API
          I: APIOnlyUser
          N: ChatterNetworks
          Z: ChatterNetworksAPIOnly
          C: Content
          P: OauthApprovalUI
          O: Oauth2
          T: SiteStudio
          R: SitePreview
          S: SubstituteUser
          B: TempContentExchange
          G: TempOauthAccessTokenFrontdoor
          Y: TempVisualforceExchange
          F: TempUIFrontdoor
          U: UI
          E: UserSite
          V: Visualforce
          W: WDC_API
    - 이름: SESSION_LEVEL
      required: false
      유형: string
      설명: >-
        로그아웃할 때 사용된 세션의 보안 수준입니다. 가능한 값: 1: 표준 세션, 2: 고보증 세션
    - 이름: BROWSER_TYPE
      required: false
      유형: string
      설명: >-
        로그인 시 사용된 브라우저가 반환한 식별 문자열입니다. 예시 값:
            Go-http-client/1.1
            Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv%3A50.0) Gecko/20100101 Firefox/50.0
            Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
    - 이름: PLATFORM_TYPE
      required: false
      유형: bigint
      설명: >-
        클라이언트 플랫폼 코드입니다. 시간 초과로 인해 로그아웃된 경우 이 필드는 null입니다. 예시 값:
          1000: Windows
          2003: Macintosh/Apple OSX
          5005: Android
          5006: iPhone
          5007: iPad
    - 이름: RESOLUTION_TYPE
      required: false
      유형: float
      설명: 클라이언트의 화면 해상도입니다. 시간 초과로 인해 로그아웃된 경우 이 필드는 null입니다.
    - 이름: APP_TYPE
      required: false
      유형: string
      설명: >-
        로그아웃 시 사용 중이던 애플리케이션 유형입니다. 예시 값:
          1007: SFDC Application
          1014: Chat
          2501: CTI
          2514: OAuth
          3475: SFDC Partner Portal
    - 이름: CLIENT_VERSION
      required: false
      유형: float
      설명: 로그아웃 시 사용 중이던 클라이언트의 버전입니다.
    - 이름: API_TYPE
      required: false
      유형: string
      설명: >-
        API 요청 유형입니다. 가능한 값은 다음과 같습니다:
            D—Apex 클래스
            E—SOAP Enterprise
            I—SOAP Cross Instance
            M—SOAP 메타데이터
            O—구형 SOAP
            P—SOAP Partner
            S—SOAP Apex
            T—SOAP Tooling
            X—XmlRPC
            f—Feed
            l—Live Agent
            p—SOAP ClientSync
    - 이름: API_VERSION
      required: false
      유형: string
      설명: '사용 중인 API 버전입니다. 예: 36.0.'
    - 이름: USER_INITIATED_LOGOUT
      required: false
      유형: boolean
      설명: >-
        사용자가 Logout 버튼을 클릭하여 조직에서 의도적으로 로그아웃한 경우 값은 1입니다. 사용자의 세션이 비활성 상태 또는 기타 암묵적인 로그아웃 동작으로 시간 초과된 경우 값은 0입니다.
    - 이름: SESSION_KEY
      required: false
      유형: string
      설명: >-
        사용자의 고유 세션 ID입니다. 이 값을 사용하여 세션 내의 모든 사용자 이벤트를 식별할 수 있습니다. 사용자가 로그아웃 후 다시 로그인하면 새 세션이 시작됩니다. 예: d7DEq/ANa7nNZZVD.
    - 이름: LOGIN_KEY
      required: false
      유형: string
      설명: >-
        특정 사용자의 로그인 세션에 있는 모든 이벤트를 연결하는 문자열입니다. 로그인 이벤트로 시작하여 로그아웃 이벤트 또는 사용자 세션 만료로 끝납니다. 예: GeJCsym5eyvtEK2I.
    - 이름: TIMESTAMP_DERIVED
      필수: true
      유형: timestamp
      이벤트 시간 여부: true
      시간 형식: rfc3339
      설명: >-
        ISO8601 호환 형식(YYYY-MM-DDTHH:MM:SS.sssZ)으로 된 Salesforce 서비스의 액세스 시간입니다. 예: 2015-07-27T11:32:59.555Z. 시간대는 GMT입니다.
    - 이름: USER_ID_DERIVED
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 18자 대소문자 구분 없는 ID입니다. 예: 00590000000I1SNIA0.
    - 이름: CLIENT_IP
      required: false
      유형: string
      지표:
        - ip
      설명: >-
        Salesforce 서비스를 사용하는 클라이언트의 IP 주소입니다. Salesforce 내부 IP(예: Salesforce Workbench 또는 AppExchange에서의 로그인)는 "Salesforce.com IP"로 표시됩니다. 예: 10.0.0.1.
```

### Salesforce.URI

URI 이벤트에는 웹 브라우저 UI와의 사용자 상호작용에 대한 세부 정보가 포함됩니다.

참조: [URI 이벤트 유형에 대한 Salesforce 문서.](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_uri.htm)

```yaml
스키마: Salesforce.URI
referenceURL: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_eventlogfile_uri.htm
설명: 'URI 이벤트에는 웹 브라우저 UI와의 사용자 상호작용에 대한 세부 정보가 포함됩니다.'
파서:
    csv:
        delimiter: ','
        hasHeader: true
        columns:
            - EVENT_TYPE
            - TIMESTAMP
            - REQUEST_ID
            - ORGANIZATION_ID
            - USER_ID
            - RUN_TIME
            - CPU_TIME
            - URI
            - SESSION_KEY
            - LOGIN_KEY
            - REQUEST_STATUS
            - DB_TOTAL_TIME
            - DB_BLOCKS
            - DB_CPU_TIME
            - REFERRER_URI
            - TIMESTAMP_DERIVED
            - USER_ID_DERIVED
            - CLIENT_IP
            - URI_ID_DERIVED
            - USER_TYPE
필드:
    - 이름: EVENT_TYPE
      필수: true
      유형: string
      검증:
        allow: ['URI']
      설명: 이벤트 유형입니다. 값은 항상 URI입니다.
    - 이름: TIMESTAMP
      required: false
      유형: timestamp
      timeFormat: '%Y%m%d%H%M%S.%f'
      설명: 'GMT 기준 Salesforce 서비스의 액세스 시간입니다. 예: 20130715233322.670.'
    - 이름: REQUEST_ID
      required: false
      유형: string
      지표:
        - trace_id
      설명: >-
        단일 트랜잭션의 고유 ID입니다. 하나의 트랜잭션에는 하나 이상의 이벤트가 포함될 수 있습니다. 주어진 트랜잭션의 각 이벤트는 동일한 REQUEST_ID를 가집니다. 예: 3nWgxWbDKWWDIk0FKfF5DV.
    - 이름: ORGANIZATION_ID
      필수: true
      유형: string
      설명: 조직의 15자 ID입니다. 예: 00D000000000123.
    - 이름: USER_ID
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 15자 ID입니다. 예: 00530000009M943
    - 이름: RUN_TIME
      required: false
      유형: bigint
      설명: '요청에 걸린 시간(밀리초)입니다.'
    - 이름: CPU_TIME
      required: false
      유형: bigint
      설명: >-
        요청을 완료하는 데 사용된 CPU 시간(밀리초)입니다. 이 필드는 앱 서버 계층에서 발생한 활동량을 나타냅니다.
    - 이름: URI
      필수: true
      유형: string
      설명: >-
        요청을 받는 페이지의 URI입니다. Lightning Experience 및 Salesforce 앱에 대한 보다 세부적인 URI 정보는 Lightning Error, Lightning Interaction, Lightning Page View, Lightning Performance 이벤트 유형을 참조하세요. 예: /aura (Lightning Experience), /lightning (Lightning Experience 및 Salesforce 앱), /home/home.jsp (Salesforce Classic)
    - 이름: SESSION_KEY
      required: false
      유형: string
      설명: >-
        사용자의 고유 세션 ID입니다. 이 값을 사용하여 세션 내의 모든 사용자 이벤트를 식별할 수 있습니다. 사용자가 로그아웃 후 다시 로그인하면 새 세션이 시작됩니다. Login 이벤트 유형의 경우 이 필드는 일반적으로 null인데, 이는 이벤트가 세션이 생성되기 전에 캡처되기 때문입니다. 예: d7DEq/ANa7nNZZVD
    - 이름: LOGIN_KEY
      required: false
      유형: string
      설명: >-
        특정 사용자의 로그인 세션에 있는 모든 이벤트를 연결하는 문자열입니다. 로그인 이벤트로 시작하여 로그아웃 이벤트 또는 사용자 세션 만료로 끝납니다. 예: GeJCsym5eyvtEK2I.
    - 이름: REQUEST_STATUS
      required: false
      유형: string
      설명: >-
        페이지 보기 또는 사용자 인터페이스 작업에 대한 요청 상태입니다. 가능한 값은 다음과 같습니다:
          S—성공. Salesforce가 요청을 성공적으로 처리했습니다. Apex 컨트롤러가 예외를 발생시키면 이 상태도 반환됩니다.
          F—실패. 일반적으로 4xx 또는 5xx HTTP 코드이며, 예를 들어 페이지 보기 권한 없음, 페이지 렌더링 시간이 너무 김, 페이지가 읽기 전용 등이 있습니다.
          U—정의되지 않음
          A—권한 부여 오류
          R—리디렉션. 일반적으로 3xx HTTP 코드이며, Visualforce 페이지의 Apex 컨트롤러에 의해 시작될 수 있습니다.
          N—찾을 수 없음. 404 오류.
    - 이름: DB_TOTAL_TIME
      required: false
      유형: bigint
      설명: >-
        데이터베이스 왕복에 걸린 시간(나노초)입니다. JDBC 드라이버에서 보낸 시간, 데이터베이스로의 네트워크 시간, DB_CPU_TIME이 포함됩니다. 이 필드를 CPU_TIME과 비교하여 성능 문제가 데이터베이스 계층에서 발생하는지 또는 자체 코드에서 발생하는지 확인하세요.
    - 이름: DB_BLOCKS
      required: false
      유형: bigint
      설명: >-
        데이터베이스에서 얼마나 많은 활동이 발생하고 있는지를 나타냅니다. 이 필드의 값이 높으면 쿼리에 인덱스나 필터를 추가하는 것이 성능 향상에 도움이 될 수 있습니다.
    - 이름: DB_CPU_TIME
      required: false
      유형: bigint
      설명: >-
        요청을 완료하는 데 걸린 CPU 시간(밀리초)입니다. 요청 중 데이터베이스 계층에서 발생한 활동량을 나타냅니다.
    - 이름: REFERRER_URI
      required: false
      유형: string
      설명: 요청을 받는 페이지의 참조 URI입니다.
    - 이름: TIMESTAMP_DERIVED
      필수: true
      유형: timestamp
      시간 형식: rfc3339
      이벤트 시간 여부: true
      설명: >-
        ISO8601 호환 형식(YYYY-MM-DDTHH:MM:SS.sssZ)으로 된 Salesforce 서비스의 액세스 시간입니다. 예: 2015-07-27T11:32:59.555Z. 시간대는 GMT입니다.
    - 이름: USER_ID_DERIVED
      required: false
      유형: string
      설명: >-
        UI 또는 API를 통해 Salesforce 서비스를 사용하는 사용자의 18자 대소문자 구분 없는 ID입니다. 예: 00590000000I1SNIA0.
    - 이름: CLIENT_IP
      required: false
      유형: string
      지표:
        - ip
      설명: >-
        Salesforce 서비스를 사용하는 클라이언트의 IP 주소입니다. Salesforce 내부 IP(예: Salesforce Workbench 또는 AppExchange에서의 로그인)는 "Salesforce.com IP"로 표시됩니다. 예: 10.0.0.1.
    - 이름: URI_ID_DERIVED
      required: false
      유형: string
      설명: 요청을 받는 페이지 URI의 18자 대소문자 구분 없는 ID입니다.
    - 이름: USER_TYPE
      유형: string
      설명: >-
        사용자 라이선스의 범주입니다. 가능한 값은 다음과 같습니다:
            CsnOnly — 애플리케이션 접근이 Chatter로 제한된 사용자입니다. 이 사용자 유형에는 Chatter Free 및 Chatter moderator 사용자가 포함됩니다.
            CspLitePortal — CSP Lite Portal 라이선스. 사용자가 조직 고객이며 고객 포털 또는 Experience Cloud 사이트를 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다.
            CustomerSuccess — Customer Success 라이선스. 사용자가 조직 고객이며 고객 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다.
            Guest — 고객이 로그인하지 않고도 사이트를 보고 상호작용할 수 있도록 접근이 제한된 사용자입니다.
            PowerCustomerSuccess — Power Customer Success 라이선스. 사용자가 조직 고객이며 고객 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한됩니다. 이 라이선스 유형의 사용자는 고객 포털 역할 계층에서 자신보다 아래에 있는 사용자에게 직접 소유되거나 그들과 공유된 데이터를 보거나 편집할 수 있습니다.
            PowerPartner — Power Partner 라이선스. 사용자가 파트너이기 때문에 접근이 제한되며, 일반적으로 파트너 포털 또는 사이트를 통해 애플리케이션에 접근합니다.
            SelfService — 사용자가 조직 고객이며 셀프서비스 포털을 통해 애플리케이션에 접근하기 때문에 접근이 제한된 사용자입니다.
            Standard — 표준 사용자 라이선스. 이 사용자 유형에는 Salesforce Platform 및 Salesforce Platform One 사용자 라이선스와 이 조직의 관리자도 포함됩니다.
```


---

# 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/salesforce/event-monitoring.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.
