Raccogliere i log di Salesforce
Panoramica
Questo parser gestisce i log di Salesforce nei formati LEEF, CSV e JSON. Estrae i campi, esegue l'elaborazione specifica del formato (gestione di coppie chiave/valore LEEF, colonne CSV e strutture JSON), li mappa all'UDM e arricchisce i dati con metadati e campi derivati. Il parser gestisce anche vari tipi di eventi Salesforce, applicando una logica specifica per accessi, logout e altre azioni, classifica gli eventi e imposta i tipi di eventi UDM appropriati.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi ad AWS IAM, S3 e AppFlow.
Configura il bucket Amazon S3
- Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creare un bucket
- Salva Name (Nome) e Region (Regione) del bucket per riferimento futuro.
- Crea un utente seguendo questa guida dell'utente: Creare un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Credenziali di sicurezza.
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Scarica file .csv. (Salva Chiave di accesso e Chiave di accesso segreta per riferimento futuro).
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Norme relative alle autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Collega direttamente i criteri.
- Cerca il criterio AmazonS3FullAccess.
- Seleziona il criterio.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configura Amazon AppFlow
- Crea un flusso Amazon AppFlow:
- Nome flusso: aggiungi un nome al flusso e fai clic su Avanti.
- Origine dati: scegli Salesforce come origine dati.
- Crea una nuova connessione.
- Viene visualizzata una finestra di accesso a Salesforce. Accedi con le tue credenziali Salesforce.
- Seleziona il nome dell'oggetto (scegli i dati che vuoi trasferire da Salesforce al bucket S3).
- Seleziona Amazon S3 come destinazione dei dati.
- Seleziona Pianifica come attivatore del flusso.
- In Scegli i campi di origine, puoi mappare direttamente tutti i campi o specificare quali campi mappare.
- Convalida la configurazione:
- In Amazon AppFlow, seleziona il flusso che hai creato e fai clic su Esegui flusso per recuperare i dati da Salesforce.
- I log ora dovrebbero trovarsi nel bucket S3.
Configurare un feed in Google SecOps per importare i log di Salesforce
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuova.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di Salesforce).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona Salesforce come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- Regione: la regione in cui si trova il bucket Amazon S3.
- URI S3: l'URI del bucket.
s3:/BUCKET_NAME
Sostituisci quanto segue:BUCKET_NAME
: il nome del bucket.
- L'URI è un: seleziona il TIPO DI URI in base alla configurazione dello stream S3:
Single file
|Directory
|Directory which includes subdirectories
. - Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- ID chiave di accesso: la chiave di accesso utente con accesso al bucket S3.
- Chiave di accesso segreta: la chiave segreta dell'utente con accesso al bucket S3.
- Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
Account.Name |
target.resource.name |
Il valore di Account.Name dal log non elaborato. |
AccountId |
target.resource.id |
Il valore di AccountId dal log non elaborato. |
Action |
security_result.description |
Il valore di Action dal log non elaborato. |
AdditionalInfo |
- | Non mappato all'oggetto IDM. |
ApiType |
target.application |
Il valore di ApiType dal log non elaborato. |
ApiVersion |
- | Non mappato all'oggetto IDM. |
Application |
principal.application |
Il valore di Application dal log non elaborato oppure "Browser" per LoginAsEvent, "Integration JWT Token" per LoginEvent, "SfdcSiqActivityPlatform" per LoginHistory con objecttype LoginHistory, "N/A" per ApiEvent oppure "Browser" per LoginAsEventStream. |
attributes.url |
target.url |
Il valore di attributes.url dal log non elaborato o URL specifici per vari tipi di eventi dal log non elaborato. |
attributes.type |
metadata.product_event_type |
Il valore di attributes.type dal log non elaborato. |
AuthSessionId |
network.session_id |
Il valore di AuthSessionId dal log non elaborato. |
Browser |
principal.resource.name |
Il valore di Browser dal log non elaborato o "Sconosciuto" se Browser non è disponibile nel log non elaborato e Application è "Approfondimenti" oppure "Java (Salesforce.com)" per LoginHistory con ApiType come "Partner SOAP" oppure "Sconosciuto" per LoginHistory con Application come "SfdcSiqActivityPlatform" oppure da data.properties.Browser.str per LoginAsEventStream. |
Case.Subject |
target.resource.name |
Il valore di Case.Subject dal log non elaborato. |
CaseId |
target.resource.id |
Il valore di CaseId dal log non elaborato. |
cat |
metadata.product_event_type |
Il valore di cat dal log non elaborato. |
City |
principal.location.city |
Il valore di City dal log non elaborato o da LoginGeo.City per LoginHistory. |
Client |
principal.labels |
Il valore di Client dal log non elaborato, formattato come etichetta. |
CLIENT_IP |
principal.ip , principal.asset.ip |
Il valore di CLIENT_IP dal log non elaborato. |
ClientVersion |
- | Non mappato all'oggetto IDM. |
CipherSuite |
network.tls.cipher |
Il valore di CipherSuite dal log non elaborato. |
ColumnHeaders |
principal.labels |
Il valore di ColumnHeaders dal log non elaborato, formattato come etichetta. |
ConnectedAppId |
principal.labels |
Il valore di ConnectedAppId dal log non elaborato, formattato come etichetta. |
Contact.Name |
target.resource.name |
Il valore di Contact.Name dal log non elaborato. |
ContactId |
target.resource.id |
Il valore di ContactId dal log non elaborato. |
Country |
principal.location.country_or_region |
Il valore di Country dal log non elaborato o LoginGeo.Country per LoginHistory. |
CreatedByContext |
principal.user.userid |
Il valore di CreatedByContext dal log non elaborato. |
CreatedById |
principal.resource.attribute.labels |
Il valore di CreatedById dal log non elaborato, formattato come etichetta. |
CreatedDate |
metadata.collected_timestamp |
Il valore di CreatedDate dal log non elaborato o il timestamp corrente, se non disponibile. |
CPU_TIME |
target.resource.attribute.labels |
Il valore di CPU_TIME dal log non elaborato, formattato come etichetta. |
data |
- | Contiene vari campi che vengono estratti e mappati singolarmente. |
DATASET_IDS |
target.resource.name |
Il valore di DATASET_IDS dal log non elaborato. |
DelegatedOrganizationId |
target.administrative_domain |
Il valore di DelegatedOrganizationId dal log non elaborato. |
DelegatedUsername |
observer.user.userid |
Il valore di DelegatedUsername dal log non elaborato. |
Description |
metadata.description |
Il valore di Description dal log non elaborato. |
DevicePlatform |
principal.resource.type |
Il valore di DevicePlatform dal log non elaborato, analizzato per estrarre il tipo di risorsa. |
Display |
metadata.description |
Il valore di Display dal log non elaborato. |
DOWNLOAD_FORMAT |
target.resource.attribute.labels |
Il valore di DOWNLOAD_FORMAT dal log non elaborato, formattato come etichetta. |
Duration |
target.resource.attribute.labels |
Il valore di Duration dal log non elaborato, formattato come etichetta. |
ENTITY_NAME |
target.resource.attribute.labels |
Il valore di ENTITY_NAME dal log non elaborato, formattato come etichetta. |
ErrorCode |
security_result.action |
Il valore di ErrorCode dal log non elaborato, trasformato in ALLOW o BLOCK. |
EventDate |
timestamp |
Il valore EventDate dal log non elaborato oppure data.properties.TIMESTAMP_DERIVED.str , se disponibile, oppure data.properties.TIMESTAMP_DERIVED_FIRST.str , se disponibile, oppure @timestamp , se disponibile, oppure created_date , se disponibile, oppure timestamp , se disponibile, oppure LoginTime per LoginHistory. |
EventIdentifier |
metadata.product_log_id |
Il valore di EventIdentifier dal log non elaborato. |
EventType |
metadata.product_event_type |
Il valore di EventType dal log non elaborato. |
Id |
principal.user.userid |
Il valore di Id dal log non elaborato o metadata.product_log_id per SetupAuditTrail e altri eventi. |
IdentityUsed |
principal.user.email_addresses |
Il valore di IdentityUsed dal log non elaborato. |
Lead.Name |
target.resource.name |
Il valore di Lead.Name dal log non elaborato. |
LeadId |
target.resource.id |
Il valore di LeadId dal log non elaborato. |
LoginAsCategory |
- | Non mappato all'oggetto IDM. |
LoginGeo.Country |
principal.location.country_or_region |
Il valore di LoginGeo.Country dal log non elaborato. |
LoginHistoryId |
- | Non mappato all'oggetto IDM. |
LoginKey |
principal.user.userid , network.session_id |
Il valore di LoginKey dal log non elaborato o CreatedByContext per SetupAuditTrail. |
LoginTime |
timestamp |
Il valore di LoginTime dal log non elaborato. |
LoginType |
security_result.description |
Il valore di LoginType dal log non elaborato oppure "Altre API Apex" per LoginHistory con ApiType come "Partner SOAP" oppure "Accesso remoto 2.0" per LoginHistory con Application come "SfdcSiqActivityPlatform". |
LoginUrl |
target.url , principal.url |
Il valore di LoginUrl dal log non elaborato. |
LogFile |
principal.resource.attribute.labels |
Il valore di LogFile dal log non elaborato, formattato come etichetta. |
LogFileContentType |
principal.resource.attribute.labels |
Il valore di LogFileContentType dal log non elaborato, formattato come etichetta. |
LogFileLength |
principal.resource.attribute.labels |
Il valore di LogFileLength dal log non elaborato, formattato come etichetta. |
Message |
- | Non mappato all'oggetto IDM. |
METHOD |
network.http.method |
Il valore di METHOD dal log non elaborato. |
Name |
target.application |
Il valore di Name dal log non elaborato. |
NewValue |
- | Utilizzato in combinazione con OldValue per generare security_result.summary . |
NUMBER_FIELDS |
target.resource.attribute.labels |
Il valore di NUMBER_FIELDS dal log non elaborato, formattato come etichetta. |
OldValue |
- | Utilizzato in combinazione con NewValue per generare security_result.summary . |
Operation |
security_result.description , target.resource.attribute.labels |
Il valore di Operation dal log non elaborato o Display per SetupAuditTrail. |
OperationStatus |
security_result.action |
Il valore di OperationStatus dal log non elaborato, trasformato in ALLOW o BLOCK. |
ORGANIZATION_ID |
target.administrative_domain |
Il valore di ORGANIZATION_ID dal log non elaborato. |
OsName |
principal.platform |
Il valore di OsName dal log non elaborato. |
OsVersion |
principal.platform_version |
Il valore di OsVersion dal log non elaborato. |
Platform |
principal.platform |
Il valore di Platform dal log non elaborato o da data.properties.OsName.str per LightningUriEventStream o da data.properties.OsName.str per LoginEventStream. |
QueriedEntities |
target.resource.name , principal.labels |
Il valore di QueriedEntities dal log non elaborato o component_name per UriEvent e ApiEvent. |
Query |
target.process.command_line , principal.labels |
Il valore di Query dal log non elaborato. |
RecordId |
target.resource.id |
Il valore di RecordId dal log non elaborato. |
Records |
principal.labels |
Il valore di Records dal log non elaborato, formattato come etichetta. |
REQUEST_ID |
metadata.product_log_id , target.resource.product_object_id |
Il valore di REQUEST_ID dal log non elaborato. |
REQUEST_SIZE |
network.sent_bytes |
Il valore di REQUEST_SIZE dal log non elaborato. |
REQUEST_STATUS |
security_result.summary |
Il valore di REQUEST_STATUS dal log non elaborato. |
RESPONSE_SIZE |
network.received_bytes |
Il valore di RESPONSE_SIZE dal log non elaborato. |
RowsProcessed |
target.resource.attribute.labels |
Il valore di RowsProcessed dal log non elaborato, formattato come etichetta. |
RUN_TIME |
target.resource.attribute.labels |
Il valore di RUN_TIME dal log non elaborato, formattato come etichetta. |
SamlEntityUrl |
- | Non mappato all'oggetto IDM. |
SdkAppType |
- | Non mappato all'oggetto IDM. |
SdkAppVersion |
- | Non mappato all'oggetto IDM. |
SdkVersion |
- | Non mappato all'oggetto IDM. |
Section |
security_result.summary |
Il valore di Section dal log non elaborato. |
SessionKey |
network.session_id |
Il valore di SessionKey dal log non elaborato. |
SessionLevel |
target.resource.attribute.labels |
Il valore di SessionLevel dal log non elaborato, formattato come etichetta. |
SourceIp |
principal.ip , principal.asset.ip |
Il valore di SourceIp dal log non elaborato. |
src |
principal.ip , principal.asset.ip |
Il valore di src dal log non elaborato. |
SsoType |
target.resource.attribute.labels |
Il valore di SsoType dal log non elaborato, formattato come etichetta. |
STATUS_CODE |
network.http.response_code |
Il valore di STATUS_CODE dal log non elaborato. |
Status |
security_result.action , security_result.action_details |
Il valore di Status dal log non elaborato, trasformato in ALLOW o BLOCK o utilizzato come dettagli dell'azione per LoginEventStream. |
Subject |
target.resource.name |
Il valore di Subject dal log non elaborato. |
TargetUrl |
- | Non mappato all'oggetto IDM. |
TIMESTAMP |
metadata.collected_timestamp |
Il valore di TIMESTAMP dal log non elaborato. |
TIMESTAMP_DERIVED |
timestamp |
Il valore di TIMESTAMP_DERIVED dal log non elaborato. |
TlsProtocol |
network.tls.version_protocol |
Il valore di TlsProtocol dal log non elaborato. |
URI |
target.url |
Il valore di URI dal log non elaborato. |
USER_AGENT |
network.http.user_agent |
Il valore di USER_AGENT dal log non elaborato. |
USER_ID |
principal.user.userid |
Il valore di USER_ID dal log non elaborato. |
USER_ID_DERIVED |
principal.user.product_object_id , target.resource.attribute.labels |
Il valore di USER_ID_DERIVED dal log non elaborato. |
UserId |
principal.user.userid |
Il valore di UserId dal log non elaborato. |
USER_TYPE |
target.resource.attribute.labels |
Il valore di USER_TYPE dal log non elaborato, formattato come etichetta. |
Username |
principal.user.userid , principal.user.email_addresses , target.user.email_addresses |
Il valore di Username dal log non elaborato, src_email per vari eventi, IdentityUsed per IdentityProviderEventStore, data.properties.Email.str per Search e SearchAlert o data.properties.Username.str per LoginAsEventStream e LoginEventStream. |
UserType |
target.resource.attribute.labels |
Il valore di UserType dal log non elaborato, formattato come etichetta. |
usrName |
principal.user.userid , principal.user.email_addresses , target.user.email_addresses |
Il valore di usrName dal log non elaborato. |
VerificationMethod |
target.resource.attribute.labels |
Il valore di VerificationMethod dal log non elaborato, formattato come etichetta. |
Logica del parser | metadata.event_type |
Dedotto in base ai campi event_id e operation oppure impostato su "USER_LOGIN" per LoginEventStream, "USER_LOGOUT" per Logout e LogoutEvent, "USER_RESOURCE_UPDATE_CONTENT" per vari eventi, "USER_RESOURCE_UPDATE_PERMISSIONS" per PlatformEncryption, "RESOURCE_READ" per QueuedExecution, ApexExecution, LightningInteraction, LightningPerformance, LightningPageView, URI, RestApi, API, AuraRequest, ApexCallout, OneCommerceUsage, Sites, MetadataApiOperation, OneCommerceUsage, VisualforceRequest, Dashboard, Search, ListViewEvent, "RESOURCE_CREATION" per UriEvent e TimeBasedWorkflow con Operation come "Create" o "INSERT", "RESOURCE_WRITTEN" per UriEvent e LightningUriEvent con Operation come "Update", "RESOURCE_DELETION" per UriEvent con Operation come "Delete" o "ROLLBACK", "USER_UNCATEGORIZED" per SetupAuditTrail e AuditTrail, "USER_CHANGE_PASSWORD" per SetupAuditTrail con operation come "namedCredentialEncryptedFieldChange", "GENERIC_EVENT" per ApiEventStream e LightningUriEventStream oppure in base alla presenza della rete e del principale. |
Logica del parser | metadata.ingestion_labels |
Etichette che indicano la sorgente dell'evento, "File di log eventi", "Monitoraggio eventi in tempo reale" o "SetupAuditTrail". |
Logica del parser | metadata.log_type |
È sempre impostato su "SALESFORCE". |
Logica del parser | metadata.product_name |
È sempre impostato su "SALESFORCE". |
Logica del parser | metadata.vendor_name |
È sempre impostato su "SALESFORCE". |
Logica del parser | metadata.url_back_to_product |
Costruito da vari campi come LoginUrl , attributes.url , data.properties.PageUrl.str , data.properties.LoginUrl.str . |
Logica del parser | network.application_protocol |
Imposta su "HTTPS" se il campo uri inizia con "http". |
Logica del parser | network.http.referral_url |
Estratto dal campo user_agent se contiene "Referer=". |
Logica del parser | network.http.response_code |
Derivato da request_status per vari eventi. |
Logica del parser | network.http.user_agent |
Il valore di user_agent dal log non elaborato o da data.properties.UserAgent.str per ApiEventStream e LoginEventStream o dagli eventi Sites o "User-Agent" dagli eventi Sites . |
Logica del parser | network.session_id |
Il valore session_key o SESSION_KEY dal log non elaborato o creato da altri campi come LoginKey o AuthSessionId . |
Logica del parser | network.tls.version |
Il valore di tls_protocol dal log non elaborato o da data.properties.TlsProtocol.str per LoginEventStream. |
Logica del parser | principal.application |
Il valore di application dal log non elaborato oppure "Salesforce per Outlook" per gli eventi Accesso: riuscito oppure "Approfondimenti" per gli eventi Accesso: riuscito senza applicazione oppure estratto da device_platform per gli eventi Lightning. |
Logica del parser | principal.asset.hostname |
Il valore di client_ip se si tratta di un nome host. |
Logica del parser | principal.asset.ip |
Il valore di client_ip o src_ip o SourceIp o CLIENT_IP se si tratta di un indirizzo IP. |
Logica del parser | principal.hostname |
Il valore di client_ip se si tratta di un nome host. |
Logica del parser | principal.ip |
Il valore di client_ip o src_ip o SourceIp o CLIENT_IP se si tratta di un indirizzo IP. |
Logica del parser | principal.labels |
Etichette create da vari campi come FederationIdentifier , ApiType , OrgId , channel . |
Logica del parser | principal.location.city |
Il valore geoip_src.city_name o City o LoginGeo.City dal log non elaborato. |
Logica del parser | principal.location.country_or_region |
Il valore geoip_src.country_name o Country o LoginGeo.Country o client_geo dal log non elaborato. |
Logica del parser | principal.location.region_latitude |
Il valore di data.properties.LoginLatitude.number dal log non elaborato. |
Logica del parser | principal.location.region_longitude |
Il valore di data.properties.LoginLongitude.number dal log non elaborato. |
Logica del parser | principal.location.state |
Il valore di geoip_src.region_name dal log non elaborato. |
Logica del parser | principal.platform |
Il valore di Platform o OsName o os_name dal log non elaborato o "WINDOWS" per LoginEventStream con Platform contenente "Windows". |
Logica del parser | principal.platform_version |
Il valore di OsVersion o os_version dal log non elaborato o estratto da Platform per LoginEventStream con Platform contenente "Windows". |
Logica del parser | principal.resource.attribute.labels |
Etichette create da vari campi, ad esempio CreatedById , ApiVersion , LogFile , LogFileContentType , LogFileLength . |
Logica del parser | principal.resource.name |
Il valore Browser o browser_name dal log non elaborato oppure "Java (Salesforce.com)" per LoginHistory con ApiType come "Partner SOAP". |
Logica del parser | principal.resource.type |
Estratto da device_platform per gli eventi Lightning o "Browser" per LoginAsEvent e LoginAsEventStream. |
Logica del parser | principal.url |
Il valore di LoginUrl dal log non elaborato. |
Logica del parser | principal.user.email_addresses |
Il valore usrName o Username o src_email o IdentityUsed o data.properties.Username.str o data.properties.Email.str dal log non elaborato. |
Logica del parser | principal.user.product_object_id |
Il valore attrs.USER_ID_DERIVED o data.properties.USER_ID_DERIVED.str dal log non elaborato. |
Logica del parser | principal.user.userid |
Il valore usrName o Username o user_id o UserId o USER_ID o Id o LoginKey o CreatedByContext o data.properties.Username.str o data.properties.USER_ID.str o data.properties.LoginKey.str dal log non elaborato. |
Logica del parser | security_result.action |
Dedotto da Status o OperationStatus o ErrorCode o action o operation_status dal log non elaborato, trasformato in ALLOW o BLOCK. |
Logica del parser | security_result.action_details |
Il valore di Status dal log non elaborato per LoginEventStream. |
Logica del parser | security_result.description |
Il valore LoginType o logintype o Operation o Action o Display dal log non elaborato. |
Logica del parser | security_result.rule_name |
Il valore Policy o rule_name dal log non elaborato. |
Logica del parser | security_result.summary |
Costruito da NewValue e OldValue o REQUEST_STATUS o Section o forecastcategory dal log non elaborato. |
Logica del parser | target.administrative_domain |
Il valore ORGANIZATION_ID o DelegatedOrganizationId o organization_id o data.properties.OrgName.str dal log non elaborato. |
Logica del parser | target.application |
Il valore Application o app_name o ApiType o Name o data.properties.Application.str dal log non elaborato. |
Logica del parser | target.asset.hostname |
Il valore di target_hostname estratto dal campo uri . |
Logica del parser | target.asset.ip |
Il valore di data.properties.CLIENT_IP.str dal log non elaborato. |
Logica del parser | target.asset_id |
Costruito da device_id o REQUEST_ID . |
Logica del parser | target.file.mime_type |
Il valore di file_type dal log non elaborato. |
Logica del parser | target.file.size |
Il valore di size_bytes dal log non elaborato. |
Logica del parser | target.hostname |
Il valore di target_hostname estratto dal campo uri . |
Logica del parser | target.process.command_line |
Il valore query_exec o Query o data.properties.Query.str dal log non elaborato. |
Logica del parser | target.process.pid |
Il valore di job_id dal log non elaborato. |
Logica del parser | target.resource.attribute.labels |
Etichette create da vari campi come 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 . |
Logica del parser | target.resource.id |
Il valore REQUEST_ID o RecordId o caseid o leadid o contactid o opportunityid o accountid dal log non elaborato. |
Logica del parser | target.resource.name |
Il valore QueriedEntities o resource_name o component_name o DATASET_IDS o field o StageName o Subject dal log non elaborato. |
Logica del parser | target.resource.product_object_id |
Il valore di REQUEST_ID dal log non elaborato. |
Logica del parser | target.resource.resource_type |
Imposta su "ACCESS_POLICY" per ApexCallout e PlatformEncryption, su "DATABASE" per ApexTrigger, su "FILE" per ContentTransfer o su "TABLE" per ApiEvent. |
Logica del parser | target.resource.type |
Impostato su "BATCH" per QueuedExecution e ApexExecution, o su "FILE" per ContentTransfer, o su "DATABASE_TRIGGER" per ApexTrigger, o su "Case", "Lead", "Contact", "Opportunity", "Account" in base alla presenza di campi ID corrispondenti. |
Logica del parser | target.url |
Il valore LoginUrl o URI o attributes.url o login_url o uri dal log non elaborato. |
Logica del parser | target.user.email_addresses |
Il valore Username o attrs.usrName o email_address dal log non elaborato. |
Logica del parser | target.user.user_display_name |
Il valore target_user_display_name o user_name o username dal log non elaborato. |
Logica del parser | target.user.userid |
Il valore target_user_name o data.properties.UserId.str o data.properties.CreatedById.str dal log non elaborato. |
Logica del parser | extensions.auth.auth_details |
Imposta su "ACTIVE" se Status non è "Success", altrimenti imposta su "UNKNOWN_AUTHENTICATION_STATUS". |
Logica del parser | extensions.auth.mechanism |
Impostato su "REMOTE" per gli eventi Login: Success e Login con logintype contenente "Remote" oppure "USERNAME_PASSWORD" per LoginEventStream oppure "MECHANISM_OTHER" per gli eventi con login_url presente oppure "AUTHTYPE_UNSPECIFIED" per gli eventi Login: Success e Logout. |
Logica del parser | extensions.auth.type |
Imposta su "SSO" per Accesso, Accesso, AccessoEvent, AccessoAs, IdentityProviderEventStore, AccessoHistory, AccessoAsEvent con LoginType come "SAML Sfdc Initiated SSO" oppure "AUTHTYPE_UNSPECIFIED" per Accesso: Successo, Accesso, AccessoAsEvent con LoginType come "Application". |
Modifiche
2024-06-04
- È stato aggiunto il supporto per i log appena importati.
2024-03-06
- È stata modificata la mappatura del campo "Id" da "metadata.product_log_id" a "principal.user.userid".
- È stata modificata la mappatura del campo "CreatedById" da "principal.user.userid" a "principal.resource.attribute.labels".
- È stata mappata l'etichetta "IsDeleted" a "principal.resource.attribute.labels".
- "LogFileLength" è stato mappato a "principal.resource.attribute.labels".
- "LogFileContentType" è stato mappato a "principal.resource.attribute.labels".
- "ApiVersion" è stato mappato a "principal.resource.attribute.labels".
- "LogFile" è stato mappato a "principal.resource.attribute.labels".
2023-02-24
- Enhancement-
- "security_result.action" mappato su ALLOW anziché su BLOCK se l'azione è "LOGIN_NO_ERROR".
- Per gli eventi "Accesso":
- "action" mappato a "security_result.action".
- "target_user_name" mappato a "target.user.userid".
- "tls_protocol" mappato a "network.tls.version_protocol".
- "cipher_suite" mappato a "network.tls.cipher".
- È stato aggiunto il controllo "on_error" per il blocco "OsVersion" e "date".
2022-12-13
- Enhancement-
- "LoginType" è stato mappato a "security_result.description".
- "LoginUrl" è stato mappato a "principal.url".
- È stato aggiunto il controllo di valori vuoti per "ApiType" e "LoginGeo.City".
2022-09-02
- Enhancement-
- È stata eseguita la migrazione degli analizzatori sintattici personalizzati nell'analizzatore sintattico predefinito.
2022-07-04
- Enhancement-
- È stato migliorato l'analizzatore per analizzare i log con event_type "LoginHistory".
- È stata aggiunta una condizione per analizzare diversi formati di timestamp.
- È stata aggiunta una condizione per event_type "USER_UNCATEGORIZED" in cui "user_id" o "UserId" o "target_user_name" non è null.
- È stata aggiunta la convalida per l'analisi di src_ip.
2022-04-18
- Mappatura modificata per il miglioramento di DOWNLOAD_FORMAT da "metadata.ingestion_labels" a "target.resource.attribute.labels".
2022-03-30
- Miglioramento: modifica dell'attributo event_type per "LoginEventStream" in USER_LOGIN.
- Mappatura corretta per i campi DOWNLOAD_FORMAT e ConnectedAppId.
- Sono state aggiunte mappature per determinati campi quando il log è di tipo LoginEventStream, WaveDownload, ApiEventStream.