> 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/real-time-events.md).

# Salesforce 실시간 이벤트

Panther는 EventBridge를 통해 Salesforce 실시간 이벤트를 수집하는 것을 지원합니다

## 개요

Panther는 수집을 지원합니다 [Salesforce Real-Time Events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm) Salesforce 계정의 활동을 실시간으로 모니터링하기 위해 사용합니다. 이 통합은 Amazon EventBridge를 사용하여 이벤트를 Salesforce에서 Panther로 직접 스트리밍합니다.

이 통합은 다음과는 별개입니다: [Salesforce Event Monitoring](/ko/data-onboarding/supported-logs/salesforce/event-monitoring.md) 로그를 주기적으로 가져오는 통합입니다.

## Salesforce 제한 사항

* 다음을 생성할 수 있습니다: [최대 3개의 사용자 지정 채널](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm#platform_events_limits_common) 실시간 이벤트 모니터링용으로
* 각 이벤트 채널은 최대 10개의 이벤트로 제한됩니다.
  * 10개를 초과하는 이벤트 유형을 모니터링해야 하는 경우, 여러 채널에 분산해야 합니다.
* 최대 3개의 사용자 지정 채널과 채널당 10개 이벤트를 사용하면 총 30개 이벤트 유형까지 모니터링할 수 있습니다.

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

### 사전 요구 사항

* Salesforce 조직의 관리자여야 합니다.
* 귀하의 Salesforce 조직에는 [Real-Time Event Monitoring이 활성화되어 있어야 합니다](https://help.salesforce.com/s/articleView?id=xcloud.real_time_event_monitoring_enable.htm\&type=5). 다음이 필요합니다:
  * 해당 **Salesforce Shield** 또는 **Event Monitoring** 추가 구독.
  * 해당 **Real-Time Event Monitoring 데이터 보기** 사용자 권한.

### 1단계: Salesforce 이벤트 스트리밍 구성

1. 관리자로 Salesforce에 로그인합니다.
2. 오른쪽 상단에서 기어 아이콘을 클릭한 다음 **설정**.

   <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fv8vrQ2K8DbqKoCGKp8fA%2Fimage.png?alt=media&amp;token=ae49ef10-5ddb-4097-ba76-482ac260ba4c" alt="Salesforce drop-down menu showing &#x22;Setup&#x22; option"><figcaption></figcaption></figure>
3. 검색 상자에 입력한 다음 선택합니다 **이벤트 관리자**.

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2F3s0L6apxlGzsi9gCkXHi%2Fimage.png?alt=media&amp;token=541e1ec9-3fbe-4e71-8c5c-7b6ac0972d9d" alt="Salesforce search bar showing &#x22;Event Manager&#x22;"><figcaption></figcaption></figure>

3. Panther로 보내려는 각 이벤트에 대해 오른쪽의 화살표를 클릭한 다음 선택합니다 **Enable Streaming**.<br>

   <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2F6elZWighGLQKXG8yi0Zl%2Fsalesforce-realtime-enable-stream.png?alt=media&amp;token=c031b3bd-05ea-4c17-9016-65b491db13b4" alt=""><figcaption></figcaption></figure>

### 2단계: Event Relay 생성

이벤트 스트리밍을 활성화한 후에는 데이터를 AWS EventBridge로 보내기 위해 Event Relay를 생성해야 합니다.

Event Relay를 생성하는 방법은 두 가지입니다:

* 옵션 1(권장): 자동화된 스크립트를 사용하여 Event Relay를 생성
* 옵션 2: Event Relay를 수동으로 생성

#### **옵션 1(권장): 자동화된 스크립트를 사용하여 t**o Event Relay를 생성

1. 다음 스크립트 중 하나를 다운로드합니다. 이 스크립트는 모든 이벤트 유형을 추가하고 관련 Event Relay를 생성합니다.

{% columns %}
{% column %}
{% file src="/files/c4ea5adec218dc68e7ad974a878eb5997458a9d8" %}
Linux/Mac
{% endfile %}
{% endcolumn %}

{% column %}
{% file src="/files/8542554de8eb630d4e220162d58b66753ece0b57" %}
Windows PowerShell
{% endfile %}
{% endcolumn %}
{% endcolumns %}

2. 스크립트를 실행하기 전에 다음 변수를 구성합니다:

```bash
USERNAME="YOUR_USER_MAME"
PASSWORD="YOUR_PASSWORD"
SECURITY_TOKEN="YOUR_SECURITY_TOKEN"
LOGIN_BASE="https://login.salesforce.com"  # 또는 샌드박스의 경우 test.salesforce.com
API_VERSION="v64.0"
AWS_REGION="YOUR_AWS_REGION"  # 대문자여야 함
AWS_ACCOUNT_ID="YOUR_AWS_ACCOUNT_ID"
```

* Panther Console에서 AWS 리전과 계정 ID를 확인할 수 있습니다.
  * 기어 아이콘을 클릭하여 설정을 연 다음 **일반 설정** > **기본 정보 및 기본 설정**. AWS 정보는 다음에서 표시됩니다: **인프라** 섹션.

3. 스크립트를 실행합니다. 다음을 복사합니다: **AWS EventBridge 리소스** 스크립트 출력에&#xC11C;**.** 다음 단계에서 필요합니다.
4. Salesforce에서 **이벤트 릴레이** 페이지에 구성한 릴레이가 표시되어야 합니다.<br>

   <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fql9f48Ijgg62fG78xdww%2Fimage.png?alt=media&amp;token=9026a3db-3ece-4887-8973-889d8f64fdf4" alt="Salesforce Event Relays showing configured relays"><figcaption></figcaption></figure>

#### **옵션 2: Event Relay를 수동으로 생성**

{% hint style="info" %}
보다 자세한 지침은 다음을 참조하세요: [Salesforce에서 Amazon EventBridge로 이벤트를 릴레이하는 가이드](https://help.salesforce.com/s/articleView?id=platform.ev_relay_events_section.htm\&type=5).
{% endhint %}

1. Salesforce 지침에 따라 [Event Relay 설정용 Named Credential 만들기](https://help.salesforce.com/s/articleView?id=platform.ev_relay_create_named_credential.htm\&type=5).
   * 다음 필드를 입력합니다:
     * **레이블**: `PantherAWSNamedCredential`
     * **이름**: `PantherAWSNamedCredential`
     * **URL**: `arn:aws:YOUR-REGION:YOUR-ACCOUNT-ID`
       * Panther Console에서 AWS 리전과 계정 ID를 확인할 수 있습니다.
         * 기어 아이콘을 클릭하여 설정을 연 다음 **일반 설정** > **기본 정보 및 기본 설정**. AWS 정보는 다음에서 표시됩니다: **인프라** 섹션.
     * **ID 유형**: `명명된 주체`
     * **인증 프로토콜**: `인증 없음`
2. Salesforce 지침에 따라 [Postman을 Salesforce에 연결](https://trailhead.salesforce.com/content/learn/projects/quick-start-connect-postman-to-salesforce).
3. Salesforce 지침에 따라 [사용자 지정 Platform Event용 채널 만들기](https://help.salesforce.com/s/articleView?id=platform.ev_relay_create_channel_pe.htm\&type=5) Postman으로.
4. 각 이벤트 유형에 대해 Salesforce 지침에 따라 [새 채널 구성원에 사용자 지정 Platform Event 추가](https://help.salesforce.com/s/articleView?id=platform.ev_relay_create_channel_member_pe.htm\&type=5).
   * 본문 예시:

     ```json
     {
       "FullName": "Event_Monitoring_Channel_chn_ReportAnomalyEvent",
       "Metadata": {
         "eventChannel": "Event_Monitoring_Channel__chn",
         "selectedEntity": "ReportAnomalyEvent"
       }
     }
     ```

{% hint style="warning" %}
다음을 추가할 수 없습니다: `ApiEventStream` 또는 `ReportEventStream` Real-Time Event Monitoring 이벤트는 Tooling API에서 사용할 수 없으므로 Tooling API를 통해 사용자 지정 채널에 추가할 수 없습니다. 대신 Metadata API를 통해 추가해야 합니다. 자세한 내용은 다음을 참조하세요: [Platform Events Developer Guide](https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/platform_events.pdf).
{% endhint %}

5. Salesforce 지침에 따라 [이벤트 릴레이 만들기](https://help.salesforce.com/s/articleView?id=platform.ev_relay_create_ui.htm\&type=5).
6. Salesforce 지침에 따라 [이벤트 릴레이 시작](https://help.salesforce.com/s/articleView?id=platform.ev_relay_start_ui.htm\&type=5).
7. Salesforce에서 다음으로 이동합니다: **이벤트 릴레이** 페이지입니다. 다음을 복사합니다: **Partner Event Source Name** 각 Event Relay에서 복사합니다. 다음 단계에서 필요합니다.

{% hint style="warning" %}
Salesforce가 생성한 Partner Event Source가 다음 상태인 경우 오류가 발생할 수 있습니다: **PENDING** AWS EventBridge 상태입니다.&#x20;

* **SaaS 고객의 경우**, 이벤트를 성공적으로 수신하기 전에 Panther가 관리하는 AWS 계정에서 Partner Event Source를 활성화하도록 Panther Support에 문의하세요.&#x20;
* 의 **Cloud-Connected** 고객은 배포의 AWS 계정에서 이를 활성화해야 합니다.<br>

이 활성화는 Panther가 수행하며, Event Relay에 다음이 표시되더라도 Salesforce Real-Time 로그 소스를 성공적으로 구성하기 전에 필요할 수 있습니다: **Running** 상태가 Salesforce에 표시되는 경우에도 마찬가지입니다.
{% endhint %}

### 3단계: 모든 Event Relay가 Salesforce에서 실행 중인지 확인

Event Relay 상태를 확인하려면:

1. Salesforce에서 다음으로 이동합니다 **설정** → **Event Relays.**
2. 모든 Event Relay에 다음이 표시되는지 확인합니다 **"Running"** 다음 **상태** 열에

{% hint style="warning" %}
모든 Event Relay가 실행 중으로 확인된 후에만 4단계로 진행하십시오. Event Relay가 실행 중이 아니면 Panther에서 로그 소스를 설정할 수 없습니다.\n\nA **Running** Event Relay가 있다고 해서 설정이 완료되었다는 의미는 아닙니다. Salesforce Real-Time 로그 소스를 성공적으로 구성하기 전에 Panther가 해당 Partner Event Source를 활성화해야 할 수도 있습니다.
{% endhint %}

### 4단계: Panther에서 Salesforce Real-Time 로그 소스 구성

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭합니다 **로그 소스**.
2. 클릭합니다 **새로 만들기.**
3. 선택합니다 **Salesforce Real-Time** 사용 가능한 로그 소스 목록에서. 다음을 클릭합니다 **설정 시작**.
4. 다음 **소스 구성** 페이지에서 다음 필드를 입력합니다:
   * **이름**: 소스의 설명적 이름을 입력합니다(예: `Salesforce Real-Time Events`).
   * **EventBridge 버스 이름**: 다음을 입력합니다 **AWS EventBridge 리소스** 또는 **Partner Event Source 이름** 앞서 복사한 값을.
     * 다음을 클릭하여 추가 버스 이름을 추가합니다 **버스 이름 추가**.
5. 클릭합니다 **설정**.

### 지원되는 이벤트 유형

Salesforce Real-Time Events 통합은 다음 모니터링 이벤트를 지원합니다:

<details>

<summary>지원되는 이벤트</summary>

* **LoginEventStream** - 실시간 사용자 로그인 이벤트
* **LogoutEventStream** - 실시간 사용자 로그아웃 이벤트
* **LoginAsEventStream** - 실시간 다른 사용자로 로그인 이벤트
* **SessionHijackingEventStream** - 세션 하이재킹 디택션 이벤트
* **CredentialStuffingEventStream** - 크리덴셜 스터핑 공격 시도
* **ReportEventStream** - 보고서 액세스 및 수정 모니터링
* **ListViewEventStream** - 목록 보기 액세스 이벤트
* **UriEventStream** - URI 액세스 이벤트(Salesforce Classic)
* **LightningUriEventStream** - Lightning URI 액세스 이벤트
* **ApiEventStream** - API 액세스 이벤트
* **ApiAnomalyEventStream** - API 이상 디택션 이벤트
* **ReportAnomalyEventStream** - 보고서 이상 디택션 이벤트
* **LoginAnomalyEventStream** - 로그인 이상 디택션 이벤트
* **GuestUserAnomalyEventStream** - 게스트 사용자 이상 디택션 이벤트
* **BulkApiResultEventStream** - Bulk API 작업 결과
* **FileEventStream** - 파일 액세스 및 다운로드 이벤트
* **PermissionSetEventStream** - 권한 세트 할당 및 수정 이벤트
* **ConcurrentLongRunningEventStream** - 동시 장기 실행 이벤트 모니터링

</details>

이벤트 유형은 다음에 지정됩니다 `Type` 각 이벤트의 필드에 있어, 특정 이벤트 유형을 기준으로 필터링하고 디텍션 규칙을 만들 수 있습니다.

## 지원되는 로그 유형

### Salesforce.RealtimeEvent

Salesforce의 실시간 이벤트에는 Salesforce 환경의 보안 활동에 대한 포괄적인 정보가 포함됩니다.

자세한 내용은 다음을 참조하세요: [Salesforce Real-Time Event Monitoring 문서](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm).

```yaml
schema: Salesforce.RealtimeEvent
description: Salesforce 계정의 활동을 모니터링하기 위한 Salesforce Real-Time Events.
referenceURL: https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm
fields:
  - name: Type
    required: true
    description: 발생한 이벤트의 유형입니다. 예: LoginEventStream.
    type: string
  - name: EventDate
    description: 지정된 이벤트의 로그인 시간입니다. 예: 2020-01-20T19:12:26.965Z. 밀리초가 가장 세부적인 단위입니다.
    type: timestamp
    timeFormats:
      - rfc3339
    isEventTime: true
  - name: AdditionalInfo
    description: 로그인 요청 동안 HTTP 헤더에서 캡처된 추가 정보의 JSON 직렬화입니다.
    type: string
  - name: ApiType
    description: '로그인에 사용된 API 유형입니다. 가능한 값: SOAP Enterprise, SOAP Partner, REST API'
    type: string
  - name: ApiVersion
    description: API의 버전 번호입니다. 버전 번호를 사용할 수 없으면 “Unknown”이 반환됩니다.
    type: string
  - name: Application
    description: org에 액세스하는 데 사용된 애플리케이션입니다.
    type: string
  - name: AuthMethodReference
    description: OpenID Connect 싱글 사인온 프로토콜에서 타사 식별 제공자가 사용한 인증 방법입니다.
    type: string
  - name: AuthServiceId
    description: 로그인 이벤트의 인증 서비스에 대한 18자 ID입니다. 예를 들어, 이 필드를 사용하여 사용자가 로그인한 SAML 또는 인증 공급자 구성을 식별할 수 있습니다.
    type: string
    indicators:
      - trace_id
  - name: Browser
    description: 알 수 있는 경우 브라우저 이름 및 버전입니다.
    type: string
  - name: CipherSuite
    description: 로그인에 사용된 TLS 암호 모음입니다. 값은 하이픈 구분자가 있는 OpenSSL 스타일 암호 모음 이름입니다.
    type: string
  - name: City
    description: “사용자의 IP 주소가 실제로 위치한 도시입니다. 이 값은 지역화되지 않습니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: string
  - name: ClientVersion
    description: 로그인 클라이언트의 버전 번호입니다. 버전 번호를 사용할 수 없으면 "Unknown"이 반환됩니다.
    type: string
  - name: Country
    description: “사용자의 IP 주소가 실제로 위치한 국가입니다. 이 값은 지역화되지 않습니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: string
  - name: CountryIso
    description: 사용자의 IP 주소가 실제로 위치한 국가의 ISO 3166 코드입니다. 자세한 내용은 Country Codes - ISO 3166을 참조하세요.
    type: string
  - name: EvaluationTime
    description: 트랜잭션 보안 정책을 평가하는 데 걸린 시간(밀리초)입니다.
    type: float
  - name: EventIdentifier
    description: 해당 저장소 객체와 공유되는 이벤트의 고유 ID입니다. 예: 0a4779b0-0da1-4619-a373-0a36991dff90. 이 필드를 사용하여 이벤트와 저장소 객체를 연관지으세요. 또한 이 필드를 쿼리의 기본 키로 사용하세요. API 버전 42.0 이상에서 사용할 수 있습니다.
    type: string
    indicators:
      - trace_id
  - name: EventUuid
    description: 플랫폼 이벤트 메시지를 식별하는 범용 고유 식별자(UUID)입니다. 이 필드는 API 버전 52.0 이상에서 사용할 수 있습니다.
    type: string
    indicators:
      - trace_id
  - name: ForwardedForIp
    description: 클라이언트가 보낸 HTTP 요청의 X-Forwarded-For 헤더 값입니다. 하나 이상의 HTTP 프록시를 사용하는 로그인에서는 X-Forwarded-For 헤더가 원본 IP와 모든 프록시 IP를 저장하는 데 사용되기도 합니다. ForwardedForIp 필드는 클라이언트가 보낸 어떤 값이든 저장하며, 이는 IP 주소가 아닐 수도 있습니다. 최대 길이는 256자입니다. 더 긴 값은 잘립니다. OAuth 흐름 또는 싱글 사인온(SSO)으로 완료된 로그인에는 ForwardedForIp 필드가 채워지지 않습니다. API 버전 61.0 이상에서 사용할 수 있습니다.
    type: string
    indicators:
      - ip
  - name: HttpMethod
    description: 로그인 요청의 HTTP 메서드입니다. 가능한 값은 GET, POST, Unknown입니다.
    type: string
  - name: LoginGeoId
    description: 로그인 사용자의 IP 주소와 연결된 LoginGeo 객체의 Salesforce ID입니다. 예: 04FB000001TvhiPMAR.
    type: string
  - name: LoginHistoryId
    description: 사용자 세션을 추적하여 사용자 활동을 특정 로그인 인스턴스와 연관지을 수 있습니다. 이 필드는 LoginHistory, AuthSession 및 LoginHistory 객체에서도 사용할 수 있어 이벤트를 사용자의 원래 인증까지 추적하기가 더 쉽습니다. 예: 0YaB000002knVQLKA2.
    type: string
    indicators:
      - trace_id
  - name: LoginKey
    description: 특정 사용자의 로그인 세션에 속한 모든 이벤트를 연결하는 문자열입니다. 세션은 로그인 이벤트로 시작하여 로그아웃 이벤트 또는 사용자 세션 만료로 끝납니다. 예: vMASKIU6AxEr+Op5.
    type: string
    indicators:
      - trace_id
  - name: LoginLatitude
    description: “사용자의 IP 주소가 실제로 위치한 위도입니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: float
  - name: LoginLongitude
    description: “사용자의 IP 주소가 실제로 위치한 경도입니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: float
  - name: LoginSubType
    description: 사용된 로그인 흐름의 유형입니다. 가능한 값 목록은 Object Reference 가이드의 LoginHistory에 있는 LoginSubType 필드를 참조하세요. 레이블은 Login Subtype입니다.
    type: string
  - name: LoginType
    description: 세션에 액세스하는 데 사용된 로그인 유형입니다. 가능한 값 목록은 Object Reference 가이드의 LoginHistory에 있는 LoginType 필드를 참조하세요.
    type: string
  - name: LoginUrl
    description: 요청이 들어오는 로그인 호스트의 URL입니다. 예: yourInstance.salesforce.com.
    type: string
    indicators:
      - url
      - hostname
  - name: NetworkId
    description: 사용자가 로그인하는 Experience Cloud 사이트의 ID입니다. 이 필드는 조직에서 Salesforce Experience Cloud가 활성화된 경우 사용할 수 있습니다.
    type: string
  - name: Platform
    description: 로그인 이벤트 동안 사용된 운영 체제 이름 및 버전입니다. 플랫폼 이름을 사용할 수 없으면 "Unknown"이 반환됩니다. 예: Mac OSX 또는 iOS/Mac.
    type: string
  - name: PolicyId
    description: 이 이벤트와 연결된 트랜잭션 보안 정책의 ID입니다. 예: 0NIB000000000KOOAY.
    type: string
  - name: PolicyOutcome
    description: '트랜잭션 정책의 결과입니다. 가능한 값은 다음과 같습니다: Block, Error, ExemptNoAction, FailedInvalidPassword, FailedPasswordLockout, MeteringBlock, MeteringNoAction, NoAction, Notified, TwoFAAutomatedSuccess, TwoFADenied, TwoFAFailedGeneralError, TwoFAFailedInvalidCode, TwoFAFailedTooManyAttempts, TwoFAInitiated, TwoFAInProgress, TwoFANoAction, TwoFARecoverableError, TwoFAReportedDenied, TwoFASucceeded.'
    type: string
  - name: PostalCode
    description: “사용자의 IP 주소가 실제로 위치한 우편번호입니다. 이 값은 지역화되지 않습니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: string
  - name: RelatedEventIdentifier
    description: 관련 이벤트의 EventIdentifier를 나타냅니다. 예: bd76f3e7-9ee5-4400-9e7f-54de57ecd79c. 이 필드는 이 이벤트가 모니터링하는 활동에 다중 인증과 같은 추가 인증이 필요한 경우에만 채워집니다. 이 경우 Salesforce는 더 많은 이벤트를 생성하고 새 이벤트의 RelatedEventIdentifier 필드를 원래 이벤트의 EventIdentifier 필드 값으로 설정합니다. 이 필드는 EventIdentifier 필드와 함께 사용하여 모든 관련 이벤트를 연관지으세요. 추가 인증이 필요하지 않으면 이 필드는 비어 있습니다.
    type: string
    indicators:
      - trace_id
  - name: RemoteIdentifier
    description: 향후 사용을 위해 예약됨.
    type: string
  - name: ReplayId
    description: 시스템이 채우는 ID 값으로, 이벤트 스트림에서 이벤트의 위치를 나타냅니다. Replay ID 값이 연속 이벤트에서 연속적이라고 보장되지는 않습니다. 구독자는 replay ID 값을 저장해 두었다가 재구독 시 보존 기간 내의 누락된 이벤트를 가져오는 데 사용할 수 있습니다.
    type: string
  - name: SessionKey
    description: 사용자의 고유 세션 ID입니다. 이 값을 사용하여 세션 내의 모든 사용자 이벤트를 식별하세요. 사용자가 로그아웃했다가 다시 로그인하면 새 세션이 시작됩니다. 예: vMASKIU6AxEr+Op5.
    type: string
    indicators:
      - trace_id
  - name: SessionLevel
    description: '세션 수준 보안은 연결된 앱 및 보고와 같이 이를 지원하는 기능에 대한 사용자 액세스를 제어합니다. 가능한 값은 HIGH_ASSURANCE, LOW, STANDARD입니다.'
    type: string
  - name: SourceIp
    description: 로그인 중 Salesforce에 처음 도달하는 들어오는 클라이언트 요청의 IP 주소입니다. 예: 126.7.4.2. 하나 이상의 HTTP 프록시를 통해 리디렉션하는 클라이언트의 경우 이 필드는 Salesforce에 처음 도달한 첫 번째 프록시의 IP 주소를 저장합니다. 이러한 경우 원본 IP를 더 잘 식별하려면 대신 ForwardedForIp 필드를 확인하세요.
    type: string
    indicators:
      - ip
  - name: Status
    description: 시도한 로그인 상태를 표시합니다. Status는 성공 또는 실패 사유 중 하나입니다.
    type: string
  - name: Subdivision
    description: “사용자의 IP 주소가 실제로 위치한 세부 행정 구역의 이름입니다. 미국에서는 보통 주 이름입니다(예: Pennsylvania). 이 값은 지역화되지 않습니다. 이 필드는 API 버전 47.0 이상에서 사용할 수 있습니다. 참고: 지리적 위치 기술의 특성상 이 필드의 정확도는 달라질 수 있습니다.”
    type: string
  - name: TlsProtocol
    description: '로그인에 사용된 TLS 프로토콜 버전입니다. 유효한 값은 TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, Unknown입니다.'
    type: string
  - name: UserId
    description: 사용자의 고유 ID입니다. 예: 005000000000123.
    type: string
    indicators:
      - actor_id
  - name: Username
    description: user@company.com 형식의 사용자 이름입니다.
    type: string
    indicators:
      - username
      - email
  - name: UserType
    description: '사용자 라이선스의 카테고리입니다. 각 UserType은 하나 이상의 UserLicense 레코드와 연결됩니다. 각 UserLicense는 하나 이상의 프로필과 연결됩니다. 유효한 값은 CsnOnly, CspLitePortal, CustomerSuccess, Guest, PowerCustomerSuccess, PowerPartner, SelfService, Standard입니다.'
    type: string
  - name: CreatedDate
    description: CreatedDate 필드
    type: timestamp
    timeFormats:
      - rfc3339
  - name: CreatedById
    description: 로그인 이벤트를 생성한 사용자의 ID입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 작업
    설명: 이벤트를 생성한 API 호출입니다. 예: Query.
    type: string
  - 이름: 조회된 엔터티
    설명: 이벤트와 연결된 엔터티 유형입니다.
    type: string
  - 이름: 요청 식별자
    설명: 단일 트랜잭션의 고유 ID입니다. 트랜잭션에는 하나 이상의 이벤트가 포함될 수 있습니다. 주어진 트랜잭션의 각 이벤트는 동일한 REQUEST_ID를 가집니다. 예: 3nWgxWbDKWWDIk0FKfF5D.
    type: string
    indicators:
      - trace_id
  - 이름: 처리된 행 수
    설명: 현재 작업의 총 행 수입니다. 예: 2500.
    type: float
  - 이름: 점수
    설명: 이 이벤트로 추적된 API 실행 또는 내보내기에 대한 이상 점수를 나타내는 0~1 사이의 숫자입니다. 이상 점수는 사용자의 현재 API 활동이 일반적인 활동과 얼마나 다른지를 보여줍니다. 점수가 낮으면 사용자의 현재 API 활동이 평소 활동과 비슷하다는 뜻입니다. 점수가 높으면 다르다는 뜻입니다.
    type: float
  - 이름: SecurityEventData
    설명: 이 이상 이벤트를 트리거한 API 활동에 대한 기능 집합입니다. 예를 들어, 사용자가 일반적으로 10개의 계정을 다운로드하다가 패턴에서 벗어나 1,000개의 계정을 다운로드한다고 해봅시다. 이 이벤트가 트리거되고, 기여한 기능이 이 필드에 캡처됩니다. 가능한 기능에는 행 수, 열 수, 평균 행 크기, 요일, 보고서 활동에 사용된 브라우저의 사용자 에이전트가 포함됩니다. 이 필드에 캡처된 데이터는 특정 기능이 이 이상 이벤트가 트리거되는 데 얼마나 기여했는지도 백분율로 보여줍니다. 데이터는 JSON 형식입니다.
    type: string
  - 이름: 요약
    설명: 이 이벤트가 생성되도록 한 API 이상에 대한 텍스트 요약입니다. 예: API가 드물게 사용되는 네트워크(BigLeaf Networks Inc.)에서 내보내졌습니다. API가 비정상적으로 많은 행(111141)으로 생성되었습니다.
    type: string
  - 이름: URI
    설명: 요청을 수신하는 페이지의 URI입니다.
    type: string
    indicators:
      - url
      - hostname
  - 이름: 사용자 에이전트
    설명: 서버에서 후처리한 HTTP 요청에 사용된 UserAgent입니다.
    type: string
  - 이름: 작업 이름
    설명: 작업의 이름입니다.
    type: string
  - 이름: 봇 ID
    설명: 봇의 ID입니다.
    type: string
  - 이름: 봇 세션 식별자
    설명: 봇 세션 ID입니다.
    type: string
  - 이름: 클라이언트
    설명: API 이벤트를 실행한 서비스입니다. 인식되지 않는 클라이언트를 사용하는 경우 이 필드에는 "Unknown" 또는 빈 값이 반환됩니다.
    type: string
  - 이름: 연결된 앱 ID
    설명: API 호출과 연결된 연결된 앱의 15자 ID입니다. 예: 0H4RM00000000Kr0AI. ConnectedAppID 필드는 호출이 OAuth 2.0 인증 프로세스를 트리거할 때 채워지며, 이를 통해 사용자를 대신해 Salesforce 데이터에 액세스하도록 승인된 연결된 앱을 식별합니다. 호출과 연결된 사용자가 이미 활성 인증 토큰을 보유하고 있으면 ConnectedAppID는 null 값으로 설정됩니다.
    type: string
    indicators:
      - trace_id
  - 이름: 경과 시간
    설명: 요청이 완료되는 데 걸린 시간(밀리초)입니다. 이 값은 쿼리 실행 전에 측정을 시작해 쿼리가 완료될 때 끝납니다. 네트워크를 통해 결과를 반환하는 데 걸리는 시간은 포함되지 않습니다.
    유형: bigint
  - 이름: 플래너 ID
    설명: 에이전트 플래너의 ID입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 쿼리
    설명: SOQL 쿼리입니다. 예: SELECT id FROM Lead.
    type: string
  - 이름: 레코드
    설명: 조회된 객체의 메타데이터를 나타내는 JSON 문자열입니다. 이 메타데이터에는 엔터티 유형별 쿼리 결과 수와 엔터티 ID가 포함됩니다. BULK API 쿼리의 경우 Records 필드는 null 값으로 설정됩니다. ApiEventStream의 Bulk API 쿼리는 Records 필드의 크기 때문에 대역폭 제한을 초과할 수 있습니다. 페이로드 크기를 줄이기 위해 Records 필드는 null 값으로 설정됩니다.
    유형: json
  - 이름: 반환된 행 수
    설명: 현재 API 배치에서 반환된 데이터 행 수입니다. RowsProcessed가 API 배치 크기보다 작으면 RowsReturned는 RowsProcessed와 같습니다. RowsProcessed가 API 배치 크기보다 크면 RowsReturned는 API 배치 크기 또는 마지막 배치의 행 수와 같습니다.
    type: float
  - 이름: AcceptLanguage
    설명: 클라이언트가 이해하는 영어와 같은 자연어를 지정하는 HTTP 헤더 목록입니다. 예: zh, en-US;q=0.8, en;q=0.6.
    type: string
  - 이름: PDF 다운로드 가능
    설명: 다운로드된 PDF가 다른 파일 형식에서 변환되었는지 여부를 나타냅니다. 기본값은 false입니다.
    유형: boolean
  - 이름: 콘텐츠 크기
    설명: 문서 크기(바이트)입니다.
    유형: bigint
  - 이름: 문서 ID
    설명: 다운로드 중인 문서의 18자 ID입니다. ID는 ContentDocument 객체에 대한 참조입니다. 일부 경우 FileAction API_DOWNLOAD에서는 DocumentId가 채워지지 않습니다.
    type: string
    indicators:
      - trace_id
  - 이름: 파일 작업
    설명: "파일에 대해 수행된 작업입니다. 유효한 값은 API_DOWNLOAD, PREVIEW, UI_DOWNLOAD, UPLOAD입니다. 이미 브라우저 캐시에 있는 이미지에 대해 PREVIEW 작업이 수행되면 Transaction Security의 차단 기능에 영향이 있습니다. 이 필드는 API 버전 58.0 이상에서 사용할 수 있습니다."
    type: string
  - 이름: 파일 이름
    설명: 파일 확장자를 포함한 파일 이름입니다. FileAction API_DOWNLOAD의 경우 FileName은 채워지지 않습니다.
    type: string
  - 이름: 파일 소스
    설명: "문서의 출처입니다. 유효한 값은 다음과 같습니다. 'S' — 문서가 Salesforce 내에 있습니다. 레이블은 Salesforce입니다. 'E' — 문서가 Salesforce 외부에 있습니다. 레이블은 External입니다. 'L' — 문서가 소셜 네트워크에 있으며 Social Customer Service를 통해 액세스됩니다. 레이블은 Social Customer Service입니다."
    type: string
  - 이름: 파일 유형
    설명: 파일의 콘텐츠 유형입니다. 예: PDF.
    type: string
  - 이름: 최신 버전 여부
    설명: 파일이 가장 최신 버전인지(true) 여부를 나타냅니다. 그렇지 않으면 false입니다. 기본값은 false입니다.
    유형: boolean
  - 이름: 처리 기간
    설명: 파일을 다운로드하는 데 걸린 시간(밀리초)입니다.
    type: float
  - 이름: 버전 ID
    설명: Salesforce CRM Content 또는 Salesforce Files의 문서 특정 버전입니다. ID는 ContentVersion 객체에 대한 참조입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 버전 번호
    설명: 파일의 버전 번호입니다.
    type: string
  - 이름: 요청된 엔터티
    설명: 게스트 사용자가 조회한 객체입니다. 예: [" Topic "].
    type: string
  - 이름: SOQL 명령
    설명: 게스트 사용자가 실행한 SOQL 명령입니다.
    type: string
  - 이름: 총 컨트롤러 이벤트 수
    설명: 컨트롤러가 트리거된 횟수입니다.
    유형: bigint
  - 이름: 앱 이름
    설명: 사용자가 액세스한 애플리케이션의 이름입니다.
    type: string
  - 이름: 연결 유형
    설명: '연결 유형입니다. 가능한 값: CDMA1x, CDMA, EDGE, EVDO0, EVDOA, EVDOB, GPRS, HRPD, HSDPA, HSUPA, LTE, WIFI.'
    type: string
  - 이름: 디바이스 ID
    설명: 이벤트를 추적할 때 디바이스를 식별하는 데 사용되는 고유 식별자입니다. DEVICE_ID는 설치 후 모바일 앱이 처음 실행될 때 생성되는 값입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 디바이스 모델
    설명: 디바이스 모델의 이름입니다.
    type: string
  - 이름: 디바이스 플랫폼
    설명: 'name:experience:form 형식의 애플리케이션 경험 유형입니다. Name 값: APP_BUILDER, CUSTOM, S1, SFX. Experience 값: BROWSER, HYBRID. Form 값: DESKTOP, PHONE, TABLET.'
    type: string
  - 이름: 디바이스 세션 ID
    설명: 페이지 로드 시간을 기준으로 한 사용자의 세션 고유 식별자입니다. 사용자가 페이지를 새로 고치면 새 세션이 시작됩니다.
    type: string
    indicators:
      - trace_id
  - 이름: 기간
    설명: 페이지 시작 시간 이후 경과한 시간(밀리초)입니다.
    type: float
  - 이름: 유효 페이지 시간
    설명: 사용자가 페이지 기능과 상호 작용할 수 있기 전에 페이지가 로드되는 데 걸린 시간(밀리초)입니다. 네트워크 속도, 하드웨어 성능, 페이지 복잡성 등 여러 요인이 유효 페이지 시간에 영향을 줄 수 있습니다.
    type: float
  - 이름: 유효 페이지 시간 편차 오류 유형
    설명: "오류의 출처를 나타냅니다. EffectivePageTimeDeviationReason에 PageHasError 값이 포함될 때 이 필드가 채워집니다. 이 필드는 API 버전 58.0 이상에서 사용할 수 있습니다. 가능한 값: Custom — 고객 시스템 또는 네트워크에서 발생한 오류. System — Salesforce에서 발생한 오류."
    type: string
  - 이름: 유효 페이지 시간 편차 이유
    설명: "페이지 로드 시간의 편차 이유입니다. 이 필드는 API 버전 58.0 이상에서 사용할 수 있습니다. 가능한 값: PageInDom — 페이지가 캐시에서 로드되었습니다. PageHasError — 정의되지 않은 페이지 로드 오류가 발생했습니다. PageNotLoaded — 로드 프로세스가 진행 중일 때 고객이 페이지를 벗어나면 페이지 로드가 완료되지 않습니다. PreviousPageNotLoaded — 새 페이지로 이동할 때 이전 페이지가 로드를 완료하지 못한 경우 다음 페이지는 편차가 있는 것으로 간주됩니다. 이전 페이지의 미완료 로드 프로세스는 다음 페이지의 로드에 영향을 줄 수 있습니다. InteractionsBeforePageLoaded — 페이지가 완전히 로드되기 전에 사용자가 페이지 요소와 상호 작용합니다. PageInBackgroundBeforeLoaded — 페이지에서 백그라운드 로드 프로세스가 실행됩니다. 사용자가 페이지와 상호 작용하지 않을 때, 예를 들어 다른 브라우저 탭으로 이동할 때 백그라운드 프로세스가 실행될 수 있습니다."
    type: string
  - 이름: 유효 페이지 시간 편차 존재 여부
    설명: 편차가 감지되면 EffectivePageTimeDeviation에 true가 기록됩니다. 기본값은 false입니다.
    유형: boolean
  - 이름: OS 이름
    설명: 운영 체제 이름입니다.
    type: string
  - 이름: OS 버전
    설명: 운영 체제 버전입니다.
    type: string
  - 이름: 페이지 시작 시간
    설명: 페이지가 처음 로드된 시간이며 밀리초 단위로 측정됩니다. 예: 1471564788642.
    type: timestamp
    timeFormats:
      - unix_ms
      - rfc3339
  - 이름: 페이지 URL
    설명: 사용자가 연 최상위 Lightning Experience 또는 Salesforce 모바일 앱 페이지의 상대 URL입니다. 페이지에는 하나 이상의 Lightning 구성 요소가 포함될 수 있습니다. PageUrl에는 여러 레코드 ID가 연결될 수 있습니다. 예: /sObject/0064100000JXITSAA5/view.
    type: string
  - 이름: 이전 페이지 앱 이름
    설명: App Launcher에서 사용자가 액세스한 이전 애플리케이션의 내부 이름입니다.
    type: string
  - 이름: 이전 페이지 엔터티 ID
    설명: 이벤트의 고유 이전 페이지 엔터티 식별자입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 이전 페이지 엔터티 유형
    설명: 이벤트의 이전 페이지 엔터티 유형입니다.
    type: string
  - 이름: 이전 페이지 URL
    설명: '사용자가 연 이전 Lightning Experience 또는 Salesforce 모바일 앱 페이지의 상대 URL입니다. 예: /sObject/006410000.'
    type: string
  - 이름: 레코드 ID
    설명: 보고 있거나 편집 중인 레코드의 ID입니다. 예: 001RM000003cjx6YAA.
    type: string
    indicators:
      - trace_id
  - 이름: SDK 앱 유형
    설명: '모바일 SDK 애플리케이션 유형입니다. 가능한 값: HYBRID, HYBRIDLOCAL, HYBRIDREMOTE, NATIVE, REACTNATIVE.'
    type: string
  - 이름: SDK 앱 버전
    설명: 애플리케이션이 사용하는 모바일 SDK 버전입니다.
    type: string
  - 이름: SDK 버전
    설명: '모바일 SDK 애플리케이션 버전 번호입니다. 예: 5.0.'
    type: string
  - 이름: 열 머리글
    설명: 목록 보기의 열 머리글을 쉼표로 구분한 값입니다. 이 값은 UI에 표시되는 레이블이 아니라 API 이름입니다. 예: Name, BillingState, Phone, Type, Owner.Alias, CaseNumber, Contact.Name, Subject, Status, Priority, CreatedDate, Owner.NameOrAlias.
    type: string
  - 이름: 개발자 이름
    설명: API에서 객체의 고유 이름입니다. 이 이름에는 밑줄과 영숫자 문자만 포함되며, 조직 내에서 고유합니다. 비어 있으면 목록 보기는 기본 목록 보기이며(예: Salesforce Classic에서 사용자가 Groups 탭을 클릭할 때 표시되는 목록 보기) 사용자가 명시적으로 만든 것이 아닙니다. 예: AllAccounts 또는 AllOpenLeads.
    type: string
  - 이름: 이벤트 소스
    설명: "이벤트의 소스입니다. 가능한 값은 다음과 같습니다. 'API' — 사용자가 API 호출을 통해 목록 보기를 생성했습니다. 'Classic' — 사용자가 Salesforce Classic UI의 페이지에서 목록 보기를 생성했습니다. 'Lightning' — 사용자가 Lightning Experience UI의 페이지에서 목록 보기를 생성했습니다."
    type: string
  - 이름: 실행 식별자
    설명: 목록 보기 실행 데이터가 여러 목록 보기 이벤트로 나뉘는 경우, 이 고유 식별자를 사용하여 여러 데이터 청크를 상호 연관시킵니다. 예를 들어 각 청크는 동일한 ExecutionIdentifier a50a4025-84f2-425d-8af9-2c780869f3b5를 가질 수 있으며, 이를 통해 연결하여 목록 보기 실행의 전체 데이터를 얻을 수 있습니다. Sequence 필드에는 여러 이벤트의 순서를 나타내는 증가하는 시퀀스 번호가 포함됩니다.
    type: string
    indicators:
      - trace_id
  - 이름: 필터 기준
    설명: '이벤트가 캡처된 시점의 목록 보기 필터 기준을 나타내는 JSON 문자열입니다. 예: {"whereCondition":{"type":"soqlCondition","field":"Type","operator":"equals","values":["''Prospect''"]}}.'
    유형: json
  - 이름: 목록 보기 ID
    설명: 이 이벤트와 연결된 목록 보기의 ID입니다. 비어 있으면 목록 보기는 기본 목록 보기이며(예: Salesforce Classic에서 사용자가 Groups 탭을 클릭할 때 표시되는 목록 보기) 사용자가 명시적으로 만든 것이 아닙니다. 예: 00BB0000001c73kMAA.
    type: string
    indicators:
      - trace_id
  - 이름: 이름
    설명: 목록 보기/보고서의 표시 이름입니다. 보고서 미리 보기의 경우 값은 null입니다. 비어 있으면 목록 보기는 기본 목록 보기이며(예: Salesforce Classic에서 사용자가 Groups 탭을 클릭할 때 표시되는 목록 보기) 사용자가 명시적으로 만든 것이 아닙니다. 예: All Accounts 및 All Open Leads.
    type: string
  - 이름: 열 개수
    설명: 목록 보기의 열 수입니다.
    유형: bigint
  - 이름: 정렬 기준
    설명: 목록 보기가 정렬되는 열입니다. 예를 들어 계정 목록 보기가 이름 기준으로 알파벳순 정렬되어 있으면 OrderBy 값은 [Name ASC NULLS FIRST, Id ASC NULLS FIRST]입니다. 목록이 유형 기준으로 알파벳순 정렬되어 있으면 OrderBy 값은 [Type ASC NULLS FIRST, Id ASC NULLS FIRST]입니다.
    type: string
  - 이름: 소유자 ID
    설명: 목록 보기를 소유한 조직 또는 사용자의 ID입니다. 목록 보기가 저장되지 않은 경우 이 값은 UserId와 같습니다. 예: 005B0000001vURvIAM.
    type: string
    indicators:
      - trace_id
  - 이름: 범위
    설명: "목록 보기에 대한 필터 기준을 나타냅니다. 가능한 값은 다음과 같습니다. Delegated — 예를 들어 위임된 작업과 같이 다른 사용자에게 작업이 위임된 레코드. Everything — 모든 레코드, 예: All Opportunities. Mine — 목록 보기를 실행하는 사용자가 소유한 레코드, 예: My Opportunities. MineAndMyGroups — 목록 보기를 실행하는 사용자가 소유한 레코드와 사용자의 큐에 할당된 레코드. MyTerritory — 목록 보기를 보는 사용자의 영업 구역에 있는 레코드. 이 옵션은 조직에서 영업 구역 관리가 활성화된 경우 사용할 수 있습니다. MyTeamTerritory — 목록 보기를 보는 사용자의 팀 영업 구역에 있는 레코드. 이 옵션은 조직에서 영업 구역 관리가 활성화된 경우 사용할 수 있습니다. Queue — 큐에 할당된 레코드. Team — 팀에 할당된 레코드."
    type: string
  - 이름: 시퀀스
    설명: 주어진 목록 보기 실행으로 인해 발생한 여러 이벤트의 순서를 나타내는 증가 시퀀스 번호입니다. 목록 보기 실행이 많은 레코드를 반환하면 Salesforce는 레코드 크기를 기준으로 이 데이터를 청크로 분할한 다음, 상호 연관된 여러 ListViewEventStreams를 생성합니다. 이러한 상호 연관된 ListViewEventStreams의 각 필드 값은 Records를 제외하고 동일합니다. Records에는 서로 다른 데이터 청크가 포함되고, Sequence는 각 청크를 순서대로 식별합니다. 모든 목록 보기 실행에는 다른 목록 보기 실행과 구분하기 위한 고유한 ExecutionIdentifier 값이 있습니다. 단일 목록 보기 실행에서 나온 모든 데이터 청크를 보려면 Sequence 및 ExecutionIdentifier 필드를 함께 사용합니다.
    유형: bigint
  - 이름: 위임된 조직 ID
    설명: 다른 사용자로 로그인하는 사용자의 조직 ID입니다. 예: 00Dxx0000001gEH.
    type: string
    indicators:
      - trace_id
  - 이름: 위임된 사용자 이름
    설명: 다른 사용자로 로그인하는 관리자의 사용자 이름입니다. 예: admin@company.com.
    type: string
    indicators:
      - username
      - email
  - 이름: 로그인 유형
    설명: '사용자가 다른 사용자로 로그인하는 방식을 나타냅니다. 가능한 값은 다음과 같습니다. OrgAdmin — 관리자가 개별 사용자로 Salesforce에 로그인합니다. 조직 설정에 따라 개별 사용자가 관리자에게 로그인 액세스를 부여합니다. Community — Salesforce Experience Cloud 사이트에 대한 액세스 권한을 부여받은 사용자가 로그인합니다.'
    type: string
  - 이름: 대상 URL
    설명: 다른 사용자로 로그인에 성공한 후 리디렉션되는 URL입니다.
    type: string
    indicators:
      - url
      - hostname
  - 이름: 외부 사용자 존재 여부
    설명: true인 경우 권한 변경을 트리거한 작업의 영향을 외부 사용자가 받습니다. 기본값은 false입니다.
    유형: boolean
  - 이름: 영향을 받은 사용자 ID
    설명: 이벤트의 영향을 받은 사용자 ID를 쉼표로 구분한 목록입니다. 최대 1,000개의 사용자 ID가 포함됩니다. 예를 들어 두 사용자에게 할당된 권한 집합이 업데이트되면 해당 사용자의 ID가 이 필드에 기록됩니다.
    유형: json
  - 이름: 상위 ID 목록
    설명: 영향을 받은 권한 집합 또는 권한 집합 그룹의 ID입니다.
    유형: json
  - 이름: 상위 이름 목록
    설명: 영향을 받은 권한 집합 또는 권한 집합 그룹의 이름입니다.
    유형: json
  - 이름: 권한 만료 목록
    설명: 추가된 권한이 취소되는 시점을 지정하는 PermissionSetAssignment.ExpirationDate 필드의 타임스탬프를 쉼표로 구분한 목록입니다. 만료 타임스탬프가 지정되지 않았거나 영향을 받은 사용자에게서 권한이 제거된 경우 이 값은 null입니다.
    유형: json
  - 이름: 권한 목록
    설명: "이벤트에서 활성화되거나 비활성화된 권한 목록입니다. 이 권한에는 AssignPermissionSets(권한 집합 할당), AuthorApex(Apex 작성), CustomizeApplication(애플리케이션 사용자 지정), ForceTwoFactor(사용자 인터페이스 로그인용 다단계 인증), FreezeUsers(사용자 동결), ManageEncryptionKeys(암호화 키 관리), ManageInternalUsers(내부 사용자 관리), ManagePasswordPolicies(암호 정책 관리), ManageProfilesPermissionsets(프로필 및 권한 집합 관리), ManageRoles(역할 관리), ManageSharing(공유 관리), ManageUsers(사용자 관리), ModifyAllData(모든 데이터 수정), MonitorLoginHistory(로그인 기록 모니터링), PasswordNeverExpires(암호 만료 안 함), ResetPasswords(사용자 암호 재설정 및 사용자 잠금 해제), ViewAllData(모든 데이터 보기)가 포함될 수 있습니다. 이 이벤트를 트랜잭션 보안 정책에서 사용할 때는 레이블이 아니라 권한의 API 이름을 사용하고 Equals 대신 Contains 연산자를 사용하세요."
    유형: json
  - 이름: 권한 유형
    설명: '이벤트에서 업데이트되는 권한 유형입니다. 가능한 값은 ObjectPermission, UserPermission입니다.'
    type: string
  - 이름: 사용자 수
    설명: 이벤트의 영향을 받은 사용자 수입니다. 이 필드의 최대값은 1,000입니다. 사용자가 1,000회를 초과하여 나타나더라도 값은 1,000으로 유지됩니다.
    type: string
  - 이름: 보고서
    설명: 이 이상 이벤트가 감지된 보고서의 보고서 ID입니다. 예: 00OD0000001leVCMAY. 이 이상이 사용자가 저장되지 않은 보고서를 실행한 결과인 경우 이 필드 값은 null입니다.
    type: string
    indicators:
      - trace_id
  - 이름: 대시보드 ID
    설명: 보고서가 포함되었던 대시보드의 ID입니다. 예: 01ZB0000000PmoQ.
    type: string
    indicators:
      - trace_id
  - 이름: 대시보드 이름
    설명: 보고서가 포함되었던 대시보드의 제목입니다.
    type: string
  - 이름: 설명
    설명: 보고서의 설명입니다.
    type: string
  - 이름: 표시된 필드 엔터티
    설명: 그룹화된 열 필드의 엔터티 이름을 포함하여 보고서에 표시되는 필드의 API 값입니다. 예: [ACCOUNTS, OWNERS].
    type: string
  - 이름: 내보내기 파일 형식
    설명: '사용자가 보고서를 내보낸 경우 이 값은 내보낸 보고서의 형식을 나타냅니다. 가능한 값은 CSV, Excel입니다.'
    type: string
  - 이름: 형식
    설명: '보고서의 형식입니다. 가능한 값은 Matrix, MultiBlock, Summary, Tabular입니다.'
    type: string
  - 이름: 그룹화된 열 머리글
    설명: 요약, 매트릭스, 조인 보고서의 그룹화된 열 필드를 쉼표로 구분한 값입니다. 예: [USERNAME, ACCOUNT.NAME, TYPE, DUE_DATE, LAST_UPDATE, ADDRESS1_STATE].
    type: string
  - 이름: 예약됨 여부
    설명: TRUE이면 보고서가 예약된 것이고, FALSE이면 예약되지 않은 것입니다.
    유형: boolean
  - 이름: 보고서 ID
    설명: 이 이벤트와 연결된 보고서의 ID입니다. 예: 00OB00000032FHdMAM.
    type: string
    indicators:
      - trace_id
  - 이름: 현재 IP
    설명: 이전 지문과 다른 새로 관찰된 지문의 IP 주소입니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 이전 IP 주소는 PreviousIp 필드를 참조하십시오. IP 주소가 관찰된 지문 편차에 기여하지 않은 경우 이 필드의 값은 PreviousIp 필드 값과 같습니다. 예: 126.7.4.2.
    type: string
    indicators:
      - ip
  - 이름: 현재 플랫폼
    설명: 이전 지문과 다른 새로 관찰된 지문의 플랫폼입니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 이전 플랫폼은 PreviousPlatform 필드를 참조하십시오. 플랫폼이 관찰된 지문 편차에 기여하지 않은 경우 이 필드의 값은 PreviousPlatform 필드 값과 같습니다. 예: MacIntel 또는 Win32.
    type: string
  - 이름: 현재 화면
    설명: 이전 지문과 다른 새로 관찰된 지문의 화면입니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 이전 화면은 PreviousScreen 필드를 참조하십시오. 화면이 관찰된 지문 편차에 기여하지 않은 경우 이 필드의 값은 PreviousScreen 필드 값과 같습니다. 예: (900.0,1440.0) 또는 (720,1280).
    type: string
  - 이름: 현재 사용자 에이전트
    설명: 이전 지문과 다른 새로 관찰된 지문의 사용자 에이전트입니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 이전 사용자 에이전트는 PreviousUserAgent 필드를 참조하십시오. 사용자 에이전트가 관찰된 지문 편차에 기여하지 않은 경우 이 필드의 값은 PreviousUserAgent 필드 값과 같습니다. 예: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36.
    type: string
  - 이름: 현재 창
    설명: 이전 지문과 다른 새로 관찰된 지문의 브라우저 창입니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 이전 창은 PreviousWindow 필드를 참조하십시오. 창이 관찰된 지문 편차에 기여하지 않은 경우 이 필드의 값은 PreviousWindow 필드 값과 같습니다. 예: (1200.0,1920.0).
    type: string
  - 이름: 이전 IP
    설명: 이전 지문의 IP 주소입니다. 새로 관찰된 지문의 IP 주소가 이 값과 다릅니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 새로 관찰된 IP 주소는 CurrentIp 필드를 참조하십시오. 예: 128.7.5.2.
    type: string
    indicators:
      - ip
  - 이름: 이전 플랫폼
    설명: 이전 지문의 플랫폼입니다. 새로 관찰된 지문의 플랫폼이 이 값과 다릅니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 새로 관찰된 플랫폼은 CurrentPlatform 필드를 참조하십시오. 예: Win32 또는 iPhone.
    type: string
  - 이름: 이전 화면
    설명: 이전 지문의 화면입니다. 새로 관찰된 지문의 화면이 이 값과 다릅니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 새로 관찰된 화면은 CurrentScreen 필드를 참조하십시오. 예: (1200.0,1920.0).
    type: string
  - 이름: 이전 사용자 에이전트
    설명: 이전 지문의 사용자 에이전트입니다. 새로 관찰된 지문의 사용자 에이전트가 이 값과 다릅니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 새로 관찰된 사용자 에이전트는 CurrentUserAgent 필드를 참조하십시오. 예: Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko).
    type: string
  - 이름: 이전 창
    설명: 이전 지문의 브라우저 창입니다. 새로 관찰된 지문의 창이 이 값과 다릅니다. 현재 값과 이전 값의 차이는 세션 하이재킹 공격이 발생했음을 나타내는 지표 중 하나입니다. 새로 관찰된 창은 CurrentWindow 필드를 참조하십시오. 예: (1600.0,1920.0).
    type: string
  - 이름: 메시지
    설명: 엔터티에 대해 수행 중인 작업이 실패한 경우의 실패 메시지입니다(OperationStatus=Failure).
    type: string
  - 이름: 작업 상태
    설명: '엔터티에 대해 수행된 작업(예: 생성)이 성공했는지 실패했는지를 나타냅니다. 작업이 시작되면 값은 항상 INITIATED입니다. 가능한 값은 다음과 같습니다. Failure — 작업이 실패했습니다. Initiated — 작업이 시작되었습니다. 참고: 생성 및 업데이트 작업은 작업이 실패한 후 추가 OperationStatus=Initiated 이벤트를 생성할 수 있습니다. 이 추가 레코드는 무시하십시오. Success — 작업이 성공했습니다.'
    type: 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/salesforce/real-time-events.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.
