Salesforce 로그 수집
다음에서 지원:
Google SecOps
SIEM
개요
이 파서는 LEEF, CSV, JSON 형식의 Salesforce 로그를 처리합니다. 필드를 추출하고 형식별 처리 (LEEF 키-값 쌍, CSV 열, JSON 구조 처리)를 실행한 후 UDM에 매핑하고 메타데이터 및 파생된 필드로 데이터를 보강합니다. 또한 파서는 다양한 Salesforce 이벤트 유형을 처리하여 로그인, 로그아웃, 기타 작업에 특정 로직을 적용하고, 이벤트를 분류하고, 적절한 UDM 이벤트 유형을 설정합니다.
시작하기 전에
- Google SecOps 인스턴스가 있는지 확인합니다.
- AWS IAM, S3, AppFlow에 대한 권한이 있는지 확인합니다.
Amazon S3 버킷 구성
- 버킷 만들기 사용자 가이드에 따라 Amazon S3 버킷을 만듭니다.
- 나중에 참고할 수 있도록 버킷 이름 및 리전을 저장합니다.
- IAM 사용자 만들기 사용자 가이드에 따라 사용자를 만듭니다.
- 만든 사용자를 선택합니다.
- 보안 사용자 인증 정보 탭을 선택합니다.
- 액세스 키 섹션에서 액세스 키 만들기를 클릭합니다.
- 사용 사례로 서드 파티 서비스를 선택합니다.
- 다음을 클릭합니다.
- 선택사항: 설명 태그를 추가합니다.
- 액세스 키 만들기를 클릭합니다.
- .csv 파일 다운로드를 클릭합니다. 나중에 참고할 수 있도록 액세스 키 및 보안 비밀 액세스 키를 저장합니다.
- 완료를 클릭합니다.
- 권한 탭을 선택합니다.
- 권한 정책 섹션에서 권한 추가를 클릭합니다.
- 권한 추가를 선택합니다.
- Attach policies directly(정책 직접 연결)를 선택합니다.
- AmazonS3FullAccess 정책을 검색합니다.
- 정책을 선택합니다.
- 다음을 클릭합니다.
- 권한 추가를 클릭합니다.
Amazon AppFlow 구성
- Amazon AppFlow 흐름을 만듭니다.
- 흐름 이름: 흐름 이름을 추가하고 다음을 클릭합니다.
- 데이터 소스: 데이터 소스로 Salesforce를 선택합니다.
- 새 연결을 만듭니다.
- Salesforce 로그인 창이 표시됩니다. Salesforce 사용자 인증 정보로 로그인합니다.
- 객체 이름을 선택합니다 (Salesforce에서 S3 버킷으로 전송할 데이터 선택).
- 데이터 대상으로 Amazon S3를 선택합니다.
- 흐름 트리거로 일정을 선택합니다.
- 소스 필드 선택에서 모든 필드를 직접 매핑하거나 매핑할 필드를 지정할 수 있습니다.
- 구성을 확인합니다.
- Amazon AppFlow에서 만든 흐름을 선택하고 흐름 실행을 클릭하여 Salesforce에서 데이터를 가져옵니다.
- 이제 로그가 S3 버킷에 저장됩니다.
Salesforce 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정 > 피드로 이동합니다.
- 새로 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: Salesforce 로그).
- 소스 유형으로 Amazon S3를 선택합니다.
- 로그 유형으로 Salesforce를 선택합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- 리전: Amazon S3 버킷이 있는 리전입니다.
- S3 URI: 버킷 URI입니다.
s3:/BUCKET_NAME
다음을 바꿉니다.BUCKET_NAME
: 버킷의 이름입니다.
- URI는 S3 스트림 구성에 따라 URI 유형(
Single file
|Directory
|Directory which includes subdirectories
)을 선택합니다. - 소스 삭제 옵션: 원하는 삭제 옵션을 선택합니다.
- 액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키입니다.
- 보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키입니다.
- 애셋 네임스페이스: 애셋 네임스페이스입니다.
- 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
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의 경우 'Integration JWT Token', 객체 유형이 LoginHistory인 LoginHistory의 경우 'SfdcSiqActivityPlatform', ApiEvent의 경우 '해당 사항 없음', 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 이 'Insights'인 경우 '알 수 없음', 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 |
원시 로그의 City 값 또는 LoginHistory의 LoginGeo.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 파트너'인 LoginHistory의 경우 '기타 Apex API', Application 이 'SfdcSiqActivityPlatform'인 LoginHistory의 경우 '원격 액세스 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 |
원시 로그의 Platform 값 또는 LightningUriEventStream의 data.properties.OsName.str 값 또는 LoginEventStream의 data.properties.OsName.str 값입니다. |
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 값, Search 및 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_id 및 operation 필드를 기반으로 파생되거나 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', UriEvent 및 TimeBasedWorkflow의 경우 Operation 이 'Create' 또는 'INSERT'인 'RESOURCE_CREATION', UriEvent 및 LightningUriEvent의 경우 Operation 이 'Update'인 'RESOURCE_WRITTEN', UriEvent의 경우 Operation 이 'Delete' 또는 'ROLLBACK'인 'RESOURCE_DELETION', SetupAuditTrail 및 AuditTrail의 경우 'USER_UNCATEGORIZED', SetupAuditTrail의 경우 operation 이 'namedCredentialEncryptedFieldChange'인 '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 |
user_agent 필드에 'Referer="가 포함된 경우 이 필드에서 추출됩니다. |
파서 로직 | 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 |
원시 로그의 tls_protocol 값 또는 LoginEventStream의 data.properties.TlsProtocol.str 값입니다. |
파서 로직 | 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 값 또는 'Windows'가 포함된 Platform 의 LoginEventStream에 대해 Platform 에서 추출된 값입니다. |
파서 로직 | principal.resource.attribute.labels |
CreatedById , ApiVersion , LogFile , LogFileContentType , LogFileLength 와 같은 다양한 필드에서 구성된 라벨입니다. |
파서 로직 | principal.resource.name |
원시 로그의 Browser 또는 browser_name 값 또는 ApiType 이 'SOAP 파트너'인 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 에서 파생되었으며 ALLOW 또는 BLOCK으로 변환되었습니다. |
파서 로직 | security_result.action_details |
LoginEventStream의 원시 로그에서 Status 값입니다. |
파서 로직 | security_result.description |
원시 로그의 LoginType , logintype , Operation , Action 또는 Display 값입니다. |
파서 로직 | security_result.rule_name |
원시 로그의 Policy 또는 rule_name 값입니다. |
파서 로직 | security_result.summary |
원시 로그의 NewValue 및 OldValue 또는 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 |
상응하는 ID 필드의 존재 여부에 따라 QueuedExecution 및 ApexExecution의 경우 'BATCH', ContentTransfer의 경우 'FILE', ApexTrigger의 경우 'DATABASE_TRIGGER', '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 가 '성공'이 아닌 경우 '활성'으로 설정하고, 그렇지 않은 경우 'UNKNOWN_AUTHENTICATION_STATUS'로 설정합니다. |
파서 로직 | extensions.auth.mechanism |
logintype 에 '원격'이 포함된 로그인: 성공 및 로그인 이벤트의 경우 '원격'으로, LoginEventStream의 경우 'USERNAME_PASSWORD'로, login_url 가 있는 이벤트의 경우 'MECHANISM_OTHER'로, 로그인: 성공 및 로그아웃 이벤트의 경우 'AUTHTYPE_UNSPECIFIED'로 설정합니다. |
파서 로직 | extensions.auth.type |
로그인, 로그아웃, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory, LoginAsEvent(LoginType이 'SAML Sfdc Initiated SSO'인 경우)의 경우 'SSO'로, 로그인: 성공, 로그아웃, LoginAsEvent(LoginType이 'Application'인 경우)의 경우 'AUTHTYPE_UNSPECIFIED'로 설정합니다. |
변경사항
2024-06-04
- 새로 처리된 로그에 대한 지원을 추가했습니다.
2024-03-06
- 'Id' 필드의 매핑을 'metadata.product_log_id'에서 'principal.user.userid'로 변경했습니다.
- 'CreatedById' 필드의 매핑을 'principal.user.userid'에서 'principal.resource.attribute.labels'로 변경했습니다.
- 'IsDeleted'가 'principal.resource.attribute.labels'에 매핑되었습니다.
- 'LogFileLength'가 'principal.resource.attribute.labels'에 매핑되었습니다.
- 'LogFileContentType'이 'principal.resource.attribute.labels'에 매핑되었습니다.
- 'ApiVersion'이 'principal.resource.attribute.labels'에 매핑되었습니다.
- 'LogFile'이 'principal.resource.attribute.labels'에 매핑되었습니다.
2023-02-24
- Enhancement-
- 액션이 'LOGIN_NO_ERROR'인 경우 'security_result.action'이 BLOCK 대신 ALLOW에 매핑되었습니다.
- '로그인' 이벤트의 경우 :
- 'action'이 'security_result.action'에 매핑되었습니다.
- 'target_user_name'이 'target.user.userid'에 매핑되었습니다.
- 'tls_protocol'이 'network.tls.version_protocol'에 매핑되었습니다.
- 'cipher_suite'가 'network.tls.cipher'에 매핑되었습니다.
- 'OsVersion' 및 'date' 블록에 'on_error' 검사를 추가했습니다.
2022-12-13
- Enhancement-
- 'LoginType'이 'security_result.description'에 매핑되었습니다.
- 'LoginUrl'이 'principal.url'에 매핑되었습니다.
- 'ApiType' 및 'LoginGeo.City'에 대한 빈 검사를 추가했습니다.
2022-09-02
- Enhancement-
- 커스텀 파서를 기본 파서로 마이그레이션했습니다.
2022-07-04
- Enhancement-
- event_type이 'LoginHistory'인 로그를 파싱하도록 파서가 향상되었습니다.
- 다양한 형식의 타임스탬프를 파싱하는 조건을 추가했습니다.
- 'user_id', 'UserId' 또는 'target_user_name'이 null이 아닌 경우 event_type 'USER_UNCATEGORIZED'에 조건을 추가했습니다.
- src_ip 파싱을 위한 유효성 검사를 추가했습니다.
2022-04-18
- 개선사항: DOWNLOAD_FORMAT의 매핑이 'metadata.ingestion_labels'에서 'target.resource.attribute.labels'로 수정되었습니다.
2022-03-30
- 개선사항: 'LoginEventStream'의 event_type을 USER_LOGIN으로 변경했습니다.
- DOWNLOAD_FORMAT 및 ConnectedAppId 필드의 매핑을 수정했습니다.
- 로그가 LoginEventStream, WaveDownload, ApiEventStream 유형인 경우 특정 필드의 매핑을 추가했습니다.