Salesforce 로그 수집

다음에서 지원:

개요

이 파서는 LEEF, CSV, JSON 형식의 Salesforce 로그를 처리합니다. 필드를 추출하고 형식별 처리 (LEEF 키-값 쌍, CSV 열, JSON 구조 처리)를 실행한 후 UDM에 매핑하고 메타데이터 및 파생된 필드로 데이터를 보강합니다. 또한 파서는 다양한 Salesforce 이벤트 유형을 처리하여 로그인, 로그아웃, 기타 작업에 특정 로직을 적용하고, 이벤트를 분류하고, 적절한 UDM 이벤트 유형을 설정합니다.

시작하기 전에

  • Google SecOps 인스턴스가 있는지 확인합니다.
  • AWS IAM, S3, AppFlow에 대한 권한이 있는지 확인합니다.

Amazon S3 버킷 구성

  1. 버킷 만들기 사용자 가이드에 따라 Amazon S3 버킷을 만듭니다.
  2. 나중에 참고할 수 있도록 버킷 이름리전을 저장합니다.
  3. IAM 사용자 만들기 사용자 가이드에 따라 사용자를 만듭니다.
  4. 만든 사용자를 선택합니다.
  5. 보안 사용자 인증 정보 탭을 선택합니다.
  6. 액세스 키 섹션에서 액세스 키 만들기를 클릭합니다.
  7. 사용 사례서드 파티 서비스를 선택합니다.
  8. 다음을 클릭합니다.
  9. 선택사항: 설명 태그를 추가합니다.
  10. 액세스 키 만들기를 클릭합니다.
  11. .csv 파일 다운로드를 클릭합니다. 나중에 참고할 수 있도록 액세스 키보안 비밀 액세스 키를 저장합니다.
  12. 완료를 클릭합니다.
  13. 권한 탭을 선택합니다.
  14. 권한 정책 섹션에서 권한 추가를 클릭합니다.
  15. 권한 추가를 선택합니다.
  16. Attach policies directly(정책 직접 연결)를 선택합니다.
  17. AmazonS3FullAccess 정책을 검색합니다.
  18. 정책을 선택합니다.
  19. 다음을 클릭합니다.
  20. 권한 추가를 클릭합니다.

Amazon AppFlow 구성

  1. Amazon AppFlow 흐름을 만듭니다.
    • 흐름 이름: 흐름 이름을 추가하고 다음을 클릭합니다.
    • 데이터 소스: 데이터 소스로 Salesforce를 선택합니다.
    • 새 연결을 만듭니다.
    • Salesforce 로그인 창이 표시됩니다. Salesforce 사용자 인증 정보로 로그인합니다.
    • 객체 이름을 선택합니다 (Salesforce에서 S3 버킷으로 전송할 데이터 선택).
    • 데이터 대상으로 Amazon S3를 선택합니다.
    • 흐름 트리거로 일정을 선택합니다.
    • 소스 필드 선택에서 모든 필드를 직접 매핑하거나 매핑할 필드를 지정할 수 있습니다.
  2. 구성을 확인합니다.
    • Amazon AppFlow에서 만든 흐름을 선택하고 흐름 실행을 클릭하여 Salesforce에서 데이터를 가져옵니다.
    • 이제 로그가 S3 버킷에 저장됩니다.

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

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새로 추가를 클릭합니다.
  3. 피드 이름 필드에 피드 이름을 입력합니다 (예: Salesforce 로그).
  4. 소스 유형으로 Amazon S3를 선택합니다.
  5. 로그 유형으로 Salesforce를 선택합니다.
  6. 다음을 클릭합니다.
  7. 다음 입력 매개변수의 값을 지정합니다.

    • 리전: Amazon S3 버킷이 있는 리전입니다.
    • S3 URI: 버킷 URI입니다. s3:/BUCKET_NAME 다음을 바꿉니다.
      • BUCKET_NAME: 버킷의 이름입니다.
    • URI는 S3 스트림 구성에 따라 URI 유형(Single file | Directory | Directory which includes subdirectories)을 선택합니다.
    • 소스 삭제 옵션: 원하는 삭제 옵션을 선택합니다.
    • 액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키입니다.
    • 보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키입니다.
    • 애셋 네임스페이스: 애셋 네임스페이스입니다.
    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
  8. 다음을 클릭합니다.

  9. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

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_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', 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 원시 로그의 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 상응하는 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 유형인 경우 특정 필드의 매핑을 추가했습니다.