Salesforce 로그 수집

다음에서 지원:

이 문서에서는 서드 파티 API를 사용하여 Google Security Operations 피드를 설정하여 Salesforce 로그를 수집하는 방법을 설명합니다.

Salesforce는 영업, 서비스, 마케팅, 분석을 위한 도구를 제공하는 클라우드 기반 고객 관계 관리 (CRM) 플랫폼입니다. Salesforce 로그는 플랫폼 전반의 사용자 활동, 보안 이벤트, 시스템 변경사항, API 사용량을 캡처합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Salesforce Enterprise Edition 이상 (API 액세스 사용 설정)
  • Salesforce 시스템 관리자 권한
  • OpenSSL 설치 (인증서 생성용)

RSA 키 쌍 및 인증서 생성

JWT 서명을 위한 RSA 비공개 키와 자체 서명 X.509 인증서를 생성합니다.

비공개 키 생성

```bash
openssl genrsa -out salesforce_private.key 2048
```

자체 서명 인증서 생성

```bash
openssl req -new -x509 -key salesforce_private.key -out salesforce_certificate.crt -days 365
```

메시지가 표시되면 인증서 세부정보를 입력합니다.

  • 국가 이름: 2자리 국가 코드를 입력합니다 (예: US).
  • 주/도 이름: 주를 입력합니다 (예: California).
  • Locality Name: 도시를 입력합니다 (예: San Francisco).
  • 조직 이름: 조직 이름을 입력합니다 (예: Acme Corp).
  • 조직 단위 이름: 부서를 입력합니다 (예: IT Security).
  • 일반 이름: 설명이 포함된 이름을 입력합니다 (예: Chronicle Integration).
  • 이메일 주소: 연락처 이메일을 입력합니다.

Salesforce 외부 클라이언트 앱 만들기

외부 클라이언트 앱은 Salesforce (2026년 봄 이후)에서 OAuth 인증에 권장되는 방법입니다.

  1. Salesforce에 로그인합니다.
  2. 설정 (오른쪽 상단의 톱니바퀴 아이콘)으로 이동합니다.
  3. 빠른 찾기 상자에 External Client Apps를 입력합니다.
  4. External Client App Manager(외부 클라이언트 앱 관리자)를 클릭합니다.
  5. 새 외부 클라이언트 앱을 클릭합니다.

기본 정보 구성

  1. 다음 구성 세부정보를 제공합니다.
    • External Client App Name(외부 클라이언트 앱 이름): 설명이 포함된 이름(예: Google SecOps Integration)을 입력합니다.
    • API 이름: 앱 이름을 기반으로 자동 입력됩니다. 기본값을 유지하거나 맞춤설정합니다.
    • 연락처 이메일: 이메일 주소를 입력합니다.
    • 배포 상태: 로컬을 선택합니다.
  2. 계속을 클릭합니다.

OAuth 설정 사용 설정

  1. OAuth 사용 설정 체크박스를 선택합니다.
  2. 다음 구성 세부정보를 제공합니다.
    • 콜백 URL: https://login.salesforce.com/services/oauth2/callback을 입력합니다.
  1. OAuth 범위 섹션에서 다음 범위를 사용 가능한 OAuth 범위에서 선택한 OAuth 범위로 이동합니다.
    • API를 통해 사용자 데이터 관리 (api)
    • 사용자를 대신하여 언제든지 요청 수행(refresh_token, offline_access)

JWT Bearer 흐름 사용 설정 및 인증서 업로드

  1. 흐름 사용 설정 섹션에서 JWT Bearer 흐름 사용 설정 체크박스를 선택합니다.
  2. 인증서 업로드 섹션이 표시됩니다.
  3. 파일 업로드를 클릭하거나 인증서 파일을 드래그 앤 드롭합니다.
  4. 이전에 생성된 salesforce_certificate.crt 파일을 선택합니다.
  5. 업로드가 완료될 때까지 기다립니다. 인증서 파일 이름이 업로드 버튼 아래에 표시됩니다.

OAuth 정책 구성

  1. OAuth 정책 섹션에서 다음을 수행합니다.
    • 허용된 사용자: 관리자가 승인한 사용자는 사전 승인 처리됨을 선택합니다.
  2. 저장을 클릭합니다.

고객 키 가져오기

외부 클라이언트 앱을 만든 후 Chronicle 구성을 위한 고객 키를 가져옵니다.

  1. 외부 클라이언트 앱 관리자에서 앱 이름 (예: Google SecOps Integration)을 클릭합니다.
  2. 설정 탭으로 이동합니다.
  3. OAuth 설정 섹션에서 고객 키 및 보안 비밀을 클릭합니다.
  4. Consumer Key(고객 키) 값을 복사하여 저장합니다.

소비자 키 형식의 예:

```
3MVG9IKcPoNiNVBIPjdw4z.pcfRjTFBp7xC8x9k4U8jZ0HlLQdPqX5bKjR8yNzQ9_YvY.8xD3F2W6nXb5YgNx
```

외부 클라이언트 앱 사전 승인

Salesforce에는 JWT Bearer 흐름에 대한 사전 승인이 필요합니다. 권한 집합을 통해 사용자에게 외부 클라이언트 앱을 할당하여 사전 승인합니다.

권한 세트 만들기

  1. 설정 > 사용자 > 권한 집합으로 이동합니다.
  2. New(새로 만들기)를 클릭합니다.
  3. 다음 구성 세부정보를 제공합니다.
    • 라벨: Chronicle Integration Users를 입력합니다 (예).
    • API 이름: 라벨을 기반으로 자동 입력됩니다.
  4. 저장을 클릭합니다.

외부 클라이언트 앱에 권한 집합 할당

  1. 설정 > 외부 클라이언트 앱 관리자로 이동합니다.
  2. 외부 클라이언트 앱 (예: Google SecOps Integration)을 클릭합니다.
  3. 정책 탭을 클릭합니다.
  4. 앱 정책 섹션의 권한 세트 선택에서 다음을 수행합니다.
    1. 권한 세트 (예: Chronicle Integration Users)를 사용 가능한 권한 세트에서 선택한 권한 세트로 이동합니다.
  5. 저장을 클릭합니다.

사용자에게 권한 집합 할당

  1. 권한 집합 세부정보 페이지에서 할당 관리를 클릭합니다.
  2. 할당 추가를 클릭합니다.
  3. Chronicle 통합에 사용할 사용자 계정 (예: integration@acme.com) 옆에 있는 체크박스를 선택합니다.
  4. 할당을 클릭합니다.
  5. 완료를 클릭합니다.

Salesforce 로그를 수집하도록 Google SecOps에서 피드 구성

  1. SIEM 설정> 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 피드 이름 필드에 피드 이름을 입력합니다(예: Salesforce EventLogFile).
  5. 소스 유형으로 서드 파티 API를 선택합니다.
  6. 로그 유형으로 SALESFORCE를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 파라미터의 값을 지정합니다.
    • API 호스트 이름: Salesforce 인스턴스 호스트 이름 (예: acme.my.salesforce.com)을 입력합니다.
* **OAuth JWT Endpoint**: Enter the OAuth token endpoint URL:
    - Production orgs: `https://login.salesforce.com/services/oauth2/token`
    - Sandbox orgs: `https://test.salesforce.com/services/oauth2/token`
    - My Domain: `https://acme.my.salesforce.com/services/oauth2/token`
* **JWT Claims Issuer**: Enter the Consumer Key from the External Client App.
* **JWT Claims Subject**: Enter the Salesforce username of the pre-authorized user (for example, `integration@acme.com`).
* **JWT Claims Audience**: Enter the authorization server URL:
    - Production orgs: `https://login.salesforce.com`
    - Sandbox orgs: `https://test.salesforce.com`
    - My Domain: `https://acme.my.salesforce.com`
* **RSA Private Key**: Paste the complete private key contents including `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` markers.

비공개 키 콘텐츠를 가져오려면 다음을 실행하세요.

```bash
cat salesforce_private.key
```

머리글과 바닥글 줄을 포함한 전체 출력을 복사합니다.

* **Asset namespace**: The [asset namespace](/chronicle/docs/investigation/asset-namespaces).
* **Ingestion labels**: The label to be applied to the events from this feed.
  1. 다음을 클릭합니다.
  2. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

Salesforce 인스턴스 유형 참조

OAuth JWT 엔드포인트 및 대상 값은 Salesforce 인스턴스 유형에 따라 다릅니다.

| Instance Type       | OAuth JWT Endpoint                                      | JWT Claims Audience              | API Hostname Format                    |
| ------------------- | ------------------------------------------------------- | -------------------------------- | -------------------------------------- |
| **Production**      | `https://login.salesforce.com/services/oauth2/token`    | `https://login.salesforce.com`   | `company.my.salesforce.com`            |
| **Sandbox**         | `https://test.salesforce.com/services/oauth2/token`     | `https://test.salesforce.com`    | `company--sandbox.sandbox.my.salesforce.com` |
| **My Domain**       | `https://domain.my.salesforce.com/services/oauth2/token`| `https://domain.my.salesforce.com` | `domain.my.salesforce.com`           |

Note: "My Domain" is recommended for production deployments. "My Domain" provides a custom, branded login URL and is required for certain Salesforce features.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
Account.Name target.resource.name 원시 로그의 Account.Name 값입니다.
AccountId target.resource.id 원시 로그의 AccountId 값입니다.
Action security_result.description 원시 로그의 Action 값입니다.
AdditionalInfo - IDM 객체에 매핑되지 않았습니다.
ApiType target.application 원시 로그의 ApiType 값입니다.
ApiVersion - IDM 객체에 매핑되지 않았습니다.
Application principal.application 원시 로그의 Application 값 또는 LoginAsEvent의 경우 '브라우저', LoginEvent의 경우 '통합 JWT 토큰', objecttype이 LoginHistory인 LoginHistory의 경우 'SfdcSiqActivityPlatform', ApiEvent의 경우 'N/A', LoginAsEventStream의 경우 '브라우저'입니다.
attributes.url target.url 원시 로그의 attributes.url 값 또는 원시 로그의 다양한 이벤트 유형에 대한 특정 URL입니다.
attributes.type metadata.product_event_type 원시 로그의 attributes.type 값입니다.
AuthSessionId network.session_id 원시 로그의 AuthSessionId 값입니다.
Browser principal.resource.name 원시 로그의 Browser 값입니다. Browser이 원시 로그에서 제공되지 않고 Application이 '인사이트'인 경우 '알 수 없음'입니다. ApiType이 'SOAP 파트너'인 LoginHistory의 경우 'Java (Salesforce.com)'입니다. Application이 'SfdcSiqActivityPlatform'인 LoginHistory의 경우 '알 수 없음'입니다. LoginAsEventStream의 경우 data.properties.Browser.str에서 가져옵니다.
Case.Subject target.resource.name 원시 로그의 Case.Subject 값입니다.
CaseId target.resource.id 원시 로그의 CaseId 값입니다.
cat metadata.product_event_type 원시 로그의 cat 값입니다.
City principal.location.city 원시 로그 또는 LoginHistory의 경우 LoginGeo.City에서 가져온 City 값입니다.
Client principal.labels 원시 로그의 Client 값으로, 라벨로 형식이 지정됩니다.
CLIENT_IP principal.ip, principal.asset.ip 원시 로그의 CLIENT_IP 값입니다.
ClientVersion - IDM 객체에 매핑되지 않았습니다.
CipherSuite network.tls.cipher 원시 로그의 CipherSuite 값입니다.
ColumnHeaders principal.labels 원시 로그의 ColumnHeaders 값으로, 라벨로 형식이 지정됩니다.
ConnectedAppId principal.labels 원시 로그의 ConnectedAppId 값으로, 라벨로 형식이 지정됩니다.
Contact.Name target.resource.name 원시 로그의 Contact.Name 값입니다.
ContactId target.resource.id 원시 로그의 ContactId 값입니다.
Country principal.location.country_or_region 원시 로그의 Country 값 또는 LoginHistory의 LoginGeo.Country 값입니다.
CreatedByContext principal.user.userid 원시 로그의 CreatedByContext 값입니다.
CreatedById principal.resource.attribute.labels 원시 로그의 CreatedById 값으로, 라벨로 형식이 지정됩니다.
CreatedDate metadata.collected_timestamp 원시 로그의 CreatedDate 값입니다. 없는 경우 현재 타임스탬프입니다.
CPU_TIME target.resource.attribute.labels 원시 로그의 CPU_TIME 값으로, 라벨로 형식이 지정됩니다.
data - 개별적으로 추출되고 매핑된 다양한 필드를 포함합니다.
DATASET_IDS target.resource.name 원시 로그의 DATASET_IDS 값입니다.
DelegatedOrganizationId target.administrative_domain 원시 로그의 DelegatedOrganizationId 값입니다.
DelegatedUsername observer.user.userid 원시 로그의 DelegatedUsername 값입니다.
Description metadata.description 원시 로그의 Description 값입니다.
DevicePlatform principal.resource.type 리소스 유형을 추출하기 위해 파싱된 원시 로그의 DevicePlatform 값입니다.
Display metadata.description 원시 로그의 Display 값입니다.
DOWNLOAD_FORMAT target.resource.attribute.labels 원시 로그의 DOWNLOAD_FORMAT 값으로, 라벨로 형식이 지정됩니다.
Duration target.resource.attribute.labels 원시 로그의 Duration 값으로, 라벨로 형식이 지정됩니다.
ENTITY_NAME target.resource.attribute.labels 원시 로그의 ENTITY_NAME 값으로, 라벨로 형식이 지정됩니다.
ErrorCode security_result.action 원시 로그의 ErrorCode 값이 ALLOW 또는 BLOCK으로 변환됩니다.
EventDate timestamp 원시 로그의 EventDate 값입니다. data.properties.TIMESTAMP_DERIVED.str(사용 가능한 경우), data.properties.TIMESTAMP_DERIVED_FIRST.str(사용 가능한 경우), @timestamp(사용 가능한 경우), created_date(사용 가능한 경우), timestamp(사용 가능한 경우) 또는 LoginHistory의 LoginTime일 수 있습니다.
EventIdentifier metadata.product_log_id 원시 로그의 EventIdentifier 값입니다.
EventType metadata.product_event_type 원시 로그의 EventType 값입니다.
Id principal.user.userid 원시 로그의 Id 값 또는 SetupAuditTrail 및 기타 이벤트의 metadata.product_log_id 값입니다.
IdentityUsed principal.user.email_addresses 원시 로그의 IdentityUsed 값입니다.
Lead.Name target.resource.name 원시 로그의 Lead.Name 값입니다.
LeadId target.resource.id 원시 로그의 LeadId 값입니다.
LoginAsCategory - IDM 객체에 매핑되지 않았습니다.
LoginGeo.Country principal.location.country_or_region 원시 로그의 LoginGeo.Country 값입니다.
LoginHistoryId - IDM 객체에 매핑되지 않았습니다.
LoginKey principal.user.userid, network.session_id 원시 로그의 LoginKey 값 또는 SetupAuditTrail의 CreatedByContext 값입니다.
LoginTime timestamp 원시 로그의 LoginTime 값입니다.
LoginType security_result.description 원시 로그의 LoginType 값 또는 ApiType이 'SOAP Partner'인 LoginHistory의 경우 'Other Apex API', Application이 'SfdcSiqActivityPlatform'인 LoginHistory의 경우 'Remote Access 2.0'입니다.
LoginUrl target.url, principal.url 원시 로그의 LoginUrl 값입니다.
LogFile principal.resource.attribute.labels 원시 로그의 LogFile 값으로, 라벨로 형식이 지정됩니다.
LogFileContentType principal.resource.attribute.labels 원시 로그의 LogFileContentType 값으로, 라벨로 형식이 지정됩니다.
LogFileLength principal.resource.attribute.labels 원시 로그의 LogFileLength 값으로, 라벨로 형식이 지정됩니다.
Message - IDM 객체에 매핑되지 않았습니다.
METHOD network.http.method 원시 로그의 METHOD 값입니다.
Name target.application 원시 로그의 Name 값입니다.
NewValue - OldValue와 함께 사용하여 security_result.summary을 생성합니다.
NUMBER_FIELDS target.resource.attribute.labels 원시 로그의 NUMBER_FIELDS 값으로, 라벨로 형식이 지정됩니다.
OldValue - NewValue와 함께 사용하여 security_result.summary을 생성합니다.
Operation security_result.description, target.resource.attribute.labels 원시 로그의 Operation 값 또는 SetupAuditTrail의 Display 값입니다.
OperationStatus security_result.action 원시 로그의 OperationStatus 값이 ALLOW 또는 BLOCK으로 변환됩니다.
ORGANIZATION_ID target.administrative_domain 원시 로그의 ORGANIZATION_ID 값입니다.
OsName principal.platform 원시 로그의 OsName 값입니다.
OsVersion principal.platform_version 원시 로그의 OsVersion 값입니다.
Platform principal.platform 원시 로그 또는 LightningUriEventStream의 경우 data.properties.OsName.str, LoginEventStream의 경우 data.properties.OsName.str에서 가져온 Platform 값입니다.
QueriedEntities target.resource.name, principal.labels 원시 로그의 QueriedEntities 값 또는 UriEvent 및 ApiEvent의 component_name 값입니다.
Query target.process.command_line, principal.labels 원시 로그의 Query 값입니다.
RecordId target.resource.id 원시 로그의 RecordId 값입니다.
Records principal.labels 원시 로그의 Records 값으로, 라벨로 형식이 지정됩니다.
REQUEST_ID metadata.product_log_id, target.resource.product_object_id 원시 로그의 REQUEST_ID 값입니다.
REQUEST_SIZE network.sent_bytes 원시 로그의 REQUEST_SIZE 값입니다.
REQUEST_STATUS security_result.summary 원시 로그의 REQUEST_STATUS 값입니다.
RESPONSE_SIZE network.received_bytes 원시 로그의 RESPONSE_SIZE 값입니다.
RowsProcessed target.resource.attribute.labels 원시 로그의 RowsProcessed 값으로, 라벨로 형식이 지정됩니다.
RUN_TIME target.resource.attribute.labels 원시 로그의 RUN_TIME 값으로, 라벨로 형식이 지정됩니다.
SamlEntityUrl - IDM 객체에 매핑되지 않았습니다.
SdkAppType - IDM 객체에 매핑되지 않았습니다.
SdkAppVersion - IDM 객체에 매핑되지 않았습니다.
SdkVersion - IDM 객체에 매핑되지 않았습니다.
Section security_result.summary 원시 로그의 Section 값입니다.
SessionKey network.session_id 원시 로그의 SessionKey 값입니다.
SessionLevel target.resource.attribute.labels 원시 로그의 SessionLevel 값으로, 라벨로 형식이 지정됩니다.
SourceIp principal.ip, principal.asset.ip 원시 로그의 SourceIp 값입니다.
src principal.ip, principal.asset.ip 원시 로그의 src 값입니다.
SsoType target.resource.attribute.labels 원시 로그의 SsoType 값으로, 라벨로 형식이 지정됩니다.
STATUS_CODE network.http.response_code 원시 로그의 STATUS_CODE 값입니다.
Status security_result.action, security_result.action_details 원시 로그의 Status 값으로, ALLOW 또는 BLOCK으로 변환되거나 LoginEventStream의 작업 세부정보로 사용됩니다.
Subject target.resource.name 원시 로그의 Subject 값입니다.
TargetUrl - IDM 객체에 매핑되지 않았습니다.
TIMESTAMP metadata.collected_timestamp 원시 로그의 TIMESTAMP 값입니다.
TIMESTAMP_DERIVED timestamp 원시 로그의 TIMESTAMP_DERIVED 값입니다.
TlsProtocol network.tls.version_protocol 원시 로그의 TlsProtocol 값입니다.
URI target.url 원시 로그의 URI 값입니다.
USER_AGENT network.http.user_agent 원시 로그의 USER_AGENT 값입니다.
USER_ID principal.user.userid 원시 로그의 USER_ID 값입니다.
USER_ID_DERIVED principal.user.product_object_id, target.resource.attribute.labels 원시 로그의 USER_ID_DERIVED 값입니다.
UserId principal.user.userid 원시 로그의 UserId 값입니다.
USER_TYPE target.resource.attribute.labels 원시 로그의 USER_TYPE 값으로, 라벨로 형식이 지정됩니다.
Username principal.user.userid, principal.user.email_addresses, target.user.email_addresses 원시 로그의 Username 값 또는 다양한 이벤트의 src_email 값 또는 IdentityProviderEventStore의 IdentityUsed 값 또는 검색 및 SearchAlert의 data.properties.Email.str 값 또는 LoginAsEventStream 및 LoginEventStream의 data.properties.Username.str 값입니다.
UserType target.resource.attribute.labels 원시 로그의 UserType 값으로, 라벨로 형식이 지정됩니다.
usrName principal.user.userid, principal.user.email_addresses, target.user.email_addresses 원시 로그의 usrName 값입니다.
VerificationMethod target.resource.attribute.labels 원시 로그의 VerificationMethod 값으로, 라벨로 형식이 지정됩니다.
파서 로직 metadata.event_type event_idoperation 필드를 기반으로 파생되거나, LoginEventStream의 경우 'USER_LOGIN', Logout 및 LogoutEvent의 경우 'USER_LOGOUT', 다양한 이벤트의 경우 'USER_RESOURCE_UPDATE_CONTENT', PlatformEncryption의 경우 'USER_RESOURCE_UPDATE_PERMISSIONS', QueuedExecution, ApexExecution, LightningInteraction, LightningPerformance, LightningPageView, URI, RestApi, API, AuraRequest, ApexCallout, OneCommerceUsage, Sites, MetadataApiOperation, OneCommerceUsage, VisualforceRequest, Dashboard, Search, ListViewEvent의 경우 'RESOURCE_READ', Operation이 'Create' 또는 'INSERT'인 UriEvent 및 TimeBasedWorkflow의 경우 'RESOURCE_CREATION', Operation이 'Update'인 UriEvent 및 LightningUriEvent의 경우 'RESOURCE_WRITTEN', Operation이 'Delete' 또는 'ROLLBACK'인 UriEvent의 경우 'RESOURCE_DELETION', SetupAuditTrail 및 AuditTrail의 경우 'USER_UNCATEGORIZED', operation이 'namedCredentialEncryptedFieldChange'인 SetupAuditTrail의 경우 'USER_CHANGE_PASSWORD', ApiEventStream 및 LightningUriEventStream의 경우 'GENERIC_EVENT' 또는 네트워크 및 주 구성원 존재 여부를 기반으로 합니다.
파서 로직 metadata.ingestion_labels 이벤트의 소스를 나타내는 라벨입니다('이벤트 로그 파일', '실시간 이벤트 모니터링', 'SetupAuditTrail' 중 하나).
파서 로직 metadata.log_type 항상 'SALESFORCE'로 설정됩니다.
파서 로직 metadata.product_name 항상 'SALESFORCE'로 설정됩니다.
파서 로직 metadata.vendor_name 항상 'SALESFORCE'로 설정됩니다.
파서 로직 metadata.url_back_to_product LoginUrl, attributes.url, data.properties.PageUrl.str, data.properties.LoginUrl.str과 같은 다양한 필드에서 구성됩니다.
파서 로직 network.application_protocol uri 필드가 'http'로 시작하는 경우 'HTTPS'로 설정됩니다.
파서 로직 network.http.referral_url 'Referer='가 포함된 경우 user_agent 필드에서 추출됩니다.
파서 로직 network.http.response_code 다양한 이벤트에 대해 request_status에서 파생됩니다.
파서 로직 network.http.user_agent 원시 로그의 user_agent 값 또는 ApiEventStream 및 LoginEventStream의 data.properties.UserAgent.str 값 또는 Sites 이벤트의 값 또는 Sites 이벤트의 'User-Agent'입니다.
파서 로직 network.session_id 원시 로그의 session_key 또는 SESSION_KEY 값 또는 LoginKey 또는 AuthSessionId과 같은 다른 필드에서 구성된 값입니다.
파서 로직 network.tls.version 원시 로그 또는 LoginEventStream의 경우 data.properties.TlsProtocol.str에서 가져온 tls_protocol 값입니다.
파서 로직 principal.application 원시 로그의 application 값 또는 로그인: 성공 이벤트의 경우 'Salesforce for Outlook', 애플리케이션이 없는 로그인: 성공 이벤트의 경우 'Insights', Lightning 이벤트의 경우 device_platform에서 추출됩니다.
파서 로직 principal.asset.hostname client_ip이 호스트 이름인 경우의 값입니다.
파서 로직 principal.asset.ip IP 주소인 경우 client_ip 또는 src_ip 또는 SourceIp 또는 CLIENT_IP 값입니다.
파서 로직 principal.hostname client_ip이 호스트 이름인 경우의 값입니다.
파서 로직 principal.ip IP 주소인 경우 client_ip 또는 src_ip 또는 SourceIp 또는 CLIENT_IP 값입니다.
파서 로직 principal.labels FederationIdentifier, ApiType, OrgId, channel과 같은 다양한 필드에서 구성된 라벨입니다.
파서 로직 principal.location.city 원시 로그의 geoip_src.city_name 또는 City 또는 LoginGeo.City 값입니다.
파서 로직 principal.location.country_or_region 원시 로그의 geoip_src.country_name 또는 Country 또는 LoginGeo.Country 또는 client_geo 값입니다.
파서 로직 principal.location.region_latitude 원시 로그의 data.properties.LoginLatitude.number 값입니다.
파서 로직 principal.location.region_longitude 원시 로그의 data.properties.LoginLongitude.number 값입니다.
파서 로직 principal.location.state 원시 로그의 geoip_src.region_name 값입니다.
파서 로직 principal.platform 원시 로그의 Platform 또는 OsName 또는 os_name 값입니다. Platform에 'Windows'가 포함된 LoginEventStream의 경우 'WINDOWS'입니다.
파서 로직 principal.platform_version 원시 로그의 OsVersion 또는 os_version 값 또는 Platform에 'Windows'가 포함된 LoginEventStream의 경우 Platform에서 추출한 값
파서 로직 principal.resource.attribute.labels CreatedById, ApiVersion, LogFile, LogFileContentType, LogFileLength과 같은 다양한 필드에서 구성된 라벨입니다.
파서 로직 principal.resource.name 원시 로그의 Browser 또는 browser_name 값 또는 ApiType이 'SOAP Partner'인 LoginHistory의 경우 'Java (Salesforce.com)'
파서 로직 principal.resource.type Lightning 이벤트의 경우 device_platform에서 추출되고, LoginAsEvent 및 LoginAsEventStream의 경우 '브라우저'입니다.
파서 로직 principal.url 원시 로그의 LoginUrl 값입니다.
파서 로직 principal.user.email_addresses 원시 로그의 usrName 또는 Username 또는 src_email 또는 IdentityUsed 또는 data.properties.Username.str 또는 data.properties.Email.str 값입니다.
파서 로직 principal.user.product_object_id 원시 로그의 attrs.USER_ID_DERIVED 또는 data.properties.USER_ID_DERIVED.str 값입니다.
파서 로직 principal.user.userid 원시 로그의 usrName 또는 Username 또는 user_id 또는 UserId 또는 USER_ID 또는 Id 또는 LoginKey 또는 CreatedByContext 또는 data.properties.Username.str 또는 data.properties.USER_ID.str 또는 data.properties.LoginKey.str 값입니다.
파서 로직 security_result.action 원시 로그의 Status 또는 OperationStatus 또는 ErrorCode 또는 action 또는 operation_status에서 파생되어 허용 또는 차단으로 변환됩니다.
파서 로직 security_result.action_details LoginEventStream의 원시 로그에서 가져온 Status 값입니다.
파서 로직 security_result.description 원시 로그의 LoginType 또는 logintype 또는 Operation 또는 Action 또는 Display 값입니다.
파서 로직 security_result.rule_name 원시 로그의 Policy 또는 rule_name 값입니다.
파서 로직 security_result.summary 원시 로그의 NewValueOldValue 또는 REQUEST_STATUS 또는 Section 또는 forecastcategory에서 구성됩니다.
파서 로직 target.administrative_domain 원시 로그의 ORGANIZATION_ID 또는 DelegatedOrganizationId 또는 organization_id 또는 data.properties.OrgName.str 값입니다.
파서 로직 target.application 원시 로그의 Application 또는 app_name 또는 ApiType 또는 Name 또는 data.properties.Application.str 값입니다.
파서 로직 target.asset.hostname uri 필드에서 추출한 target_hostname 값입니다.
파서 로직 target.asset.ip 원시 로그의 data.properties.CLIENT_IP.str 값입니다.
파서 로직 target.asset_id device_id 또는 REQUEST_ID에서 생성됩니다.
파서 로직 target.file.mime_type 원시 로그의 file_type 값입니다.
파서 로직 target.file.size 원시 로그의 size_bytes 값입니다.
파서 로직 target.hostname uri 필드에서 추출한 target_hostname 값입니다.
파서 로직 target.process.command_line 원시 로그의 query_exec 또는 Query 또는 data.properties.Query.str 값입니다.
파서 로직 target.process.pid 원시 로그의 job_id 값입니다.
파서 로직 target.resource.attribute.labels CPU_TIME, RUN_TIME, USER_TYPE, DB_TOTAL_TIME, MEDIA_TYPE, ROWS_PROCESSED, NUMBER_FIELDS, DB_BLOCKS, DB_CPU_TIME, ENTITY_NAME, EXCEPTION_MESSAGE, USER_ID_DERIVED, DOWNLOAD_FORMAT, USER_TYPE, CPU_TIME, RUN_TIME, WAVE_SESSION_ID, SessionLevel, verification_method, cpu_time, run_time, db_total_time, db_cpu_time, exec_time, callout_time, number_soql_queries, duration, user_type, entry_point, operation, session_level, rows_processed, sso_type, dashboard_type, Operation, SessionLevel와 같은 다양한 필드에서 구성된 라벨
파서 로직 target.resource.id 원시 로그의 REQUEST_ID 또는 RecordId 또는 caseid 또는 leadid 또는 contactid 또는 opportunityid 또는 accountid 값입니다.
파서 로직 target.resource.name 원시 로그의 QueriedEntities 또는 resource_name 또는 component_name 또는 DATASET_IDS 또는 field 또는 StageName 또는 Subject 값입니다.
파서 로직 target.resource.product_object_id 원시 로그의 REQUEST_ID 값입니다.
파서 로직 target.resource.resource_type ApexCallout 및 PlatformEncryption의 경우 'ACCESS_POLICY', ApexTrigger의 경우 'DATABASE', ContentTransfer의 경우 'FILE', ApiEvent의 경우 'TABLE'로 설정합니다.
파서 로직 target.resource.type QueuedExecution 및 ApexExecution의 경우 'BATCH', ContentTransfer의 경우 'FILE', ApexTrigger의 경우 'DATABASE_TRIGGER', 해당 ID 필드의 존재 여부에 따라 'Case', 'Lead', 'Contact', 'Opportunity', 'Account'로 설정됩니다.
파서 로직 target.url 원시 로그의 LoginUrl 또는 URI 또는 attributes.url 또는 login_url 또는 uri 값입니다.
파서 로직 target.user.email_addresses 원시 로그의 Username 또는 attrs.usrName 또는 email_address 값입니다.
파서 로직 target.user.user_display_name 원시 로그의 target_user_display_name 또는 user_name 또는 username 값입니다.
파서 로직 target.user.userid 원시 로그의 target_user_name 또는 data.properties.UserId.str 또는 data.properties.CreatedById.str 값입니다.
파서 로직 extensions.auth.auth_details Status이 'Success'가 아닌 경우 'ACTIVE'로 설정하고, 그렇지 않은 경우 'UNKNOWN_AUTHENTICATION_STATUS'로 설정합니다.
파서 로직 extensions.auth.mechanism logintype에 'Remote'가 포함된 로그인: 성공 및 로그인 이벤트의 경우 'REMOTE', LoginEventStream의 경우 'USERNAME_PASSWORD', login_url이 있는 이벤트의 경우 'MECHANISM_OTHER', 로그인: 성공 및 로그아웃 이벤트의 경우 'AUTHTYPE_UNSPECIFIED'로 설정됩니다.
파서 로직 extensions.auth.type LoginType이 'SAML Sfdc Initiated SSO'인 로그인, 로그아웃, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory, LoginAsEvent의 경우 'SSO'로 설정하고, LoginType이 'Application'인 로그인: 성공, 로그아웃, LoginAsEvent의 경우 'AUTHTYPE_UNSPECIFIED'로 설정합니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.