Raccogliere i log di Salesforce

Supportato in:

Questo documento spiega come importare i log di Salesforce in Google Security Operations utilizzando due metodi: Amazon AppFlow con Amazon S3 o API di terze parti. Il parser gestisce i log nei formati LEEF, CSV e JSON. Estrae i campi, esegue l'elaborazione specifica per il formato (gestendo le coppie chiave-valore LEEF, le colonne CSV e le 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, disconnessioni e altre azioni, classificando gli eventi e impostando i tipi di eventi UDM appropriati.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso privilegiato a Salesforce (amministratore di sistema o equivalente)

Opzione 1: metodo API di terze parti

  • Una licenza Salesforce Shield Event Monitoring o un componente aggiuntivo Event Monitoring
  • Possibilità di generare e gestire certificati X.509 e coppie di chiave RSA

Opzione 2: Amazon AppFlow con metodo S3

  • Accesso privilegiato ad AWS
  • La tua organizzazione utilizza Enterprise, Unlimited o Performance Edition di Salesforce

Nota importante sulla licenza: senza Salesforce Shield Event Monitoring, l'accesso API a EventLogFile è limitato a soli 7 tipi di eventi di base (accesso, disconnessione, utilizzo totale dell'API, record di violazione CORS, violazione CSP, reindirizzamenti del nome host, eccezione imprevista Apex) con un periodo di conservazione di 1 giorno. La maggior parte delle organizzazioni senza Shield deve utilizzare il metodo Amazon AppFlow (opzione 2).

Opzione 1: configura l'integrazione diretta dell'API Salesforce utilizzando l'API di terze parti (OAuth JWT Bearer)

Questo metodo stabilisce una connessione API diretta da Google SecOps a Salesforce utilizzando il flusso di connessione (bearer) JWT OAuth 2.0 per l'autenticazione server-to-server.

Prerequisiti per questo metodo:

  • Una licenza Shield Event Monitoring di Salesforce o un componente aggiuntivo Event Monitoring (necessario per l'accesso completo a EventLogFile)
  • Accesso come amministratore di sistema in Salesforce
  • Possibilità di generare e gestire certificati X.509 e coppie di chiave RSA

Generare la coppia di chiavi RSA e il certificato X.509

Per l'autenticazione di connessione (bearer) JWT, hai bisogno di una chiave privata RSA e del certificato X.509 corrispondente.

  1. Genera una chiave privata RSA:

    openssl genrsa -out salesforce_jwt_private.key 2048
    
  2. Genera una richiesta di firma del certificato (CSR):

    openssl req -new -key salesforce_jwt_private.key -out salesforce_jwt.csr
    
  3. Genera un certificato autofirmato (valido per un anno):

    openssl x509 -req -days 365 -in salesforce_jwt.csr -signkey salesforce_jwt_private.key -out salesforce_jwt.crt
    
  4. Salva la chiave privata in modo sicuro. Ti servirà per la configurazione del feed Google SecOps.

Crea un'app connessa Salesforce con il flusso JWT Bearer

  1. Accedi a Salesforce come amministratore di sistema.
  2. Vai a Configurazione > App > Gestione app.
  3. Fai clic su Nuova app collegata.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome dell'app collegata: inserisci un nome (ad esempio, Google Security Operations Integration).
    • Nome API: compilato automaticamente in base al nome dell'app connessa.
    • Email di contatto: inserisci il tuo indirizzo email.
  5. Nella sezione API (Enable OAuth Settings) (API (Abilita impostazioni OAuth)):
    • Seleziona Abilita impostazioni OAuth.
    • URL di callback: inserisci https://login.salesforce.com/services/oauth2/callback (non viene utilizzato per il flusso JWT, ma è obbligatorio).
    • Seleziona Usa firme digitali.
    • Fai clic su Scegli file e carica il certificato X.509 (salesforce_jwt.crt) che hai generato in precedenza.
    • Ambiti OAuth selezionati: aggiungi i seguenti ambiti:
      • Accedere ai tuoi dati e gestirli (API)
      • Eseguire richieste per tuo conto in qualsiasi momento (refresh_token, offline_access)
    • Richiedi l'estensione Proof Key for Code Exchange (PKCE) per i flussi di autorizzazione supportati: deseleziona questa opzione.
  6. Fai clic su Salva.
  7. Fai clic su Continua nel messaggio di avviso.
  8. Nella pagina dei dettagli dell'app connessa, prendi nota della Consumer Key. Verrà utilizzato come emittente delle rivendicazioni JWT in Google SecOps.
  9. Fai clic su Gestisci > Modifica policy.
  10. Nella sezione OAuth Policies (Policy OAuth):
    • Utenti autorizzati: seleziona Gli utenti approvati dall'amministratore sono preautorizzati.
    • Rilassamento IP: seleziona Rilassa le restrizioni IP.
  11. Fai clic su Salva.

Crea e configura un utente di integrazione in Salesforce

  1. Vai a Configurazione > Utenti > Utenti.
  2. Fai clic su New User (Nuovo utente).
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci Google.
    • Cognome: inserisci Google SecOps Integration.
    • Email: inserisci un indirizzo email.
    • Nome utente: inserisci un nome utente univoco.
    • Licenza utente: seleziona Salesforce.
    • Profilo: seleziona Amministratore di sistema o crea un profilo personalizzato con accesso API.
  4. Fai clic su Salva.
  5. Prendi nota del nome utente esattamente come è stato inserito. Verrà utilizzato come soggetto delle attestazioni JWT in Google SecOps.

Assegna l'utente di integrazione all'app connessa

  1. Vai a Configurazione > App > App connesse > Gestisci app connesse.
  2. Fai clic sull'app collegata Integrazione di Google Security Operations che hai creato.
  3. Fai clic su Gestisci > Gestisci profili o Gestisci insiemi di autorizzazioni.
  4. Seleziona il profilo o il set di autorizzazioni assegnato all'utente di integrazione (ad esempio, Amministratore di sistema).
  5. Fai clic su Salva.

Concedi le autorizzazioni di monitoraggio di API ed eventi all'utente di integrazione

  1. Vai a Configurazione > Utenti > Set di autorizzazioni.
  2. Fai clic su New (Nuovo).
  3. Fornisci i seguenti dettagli di configurazione:
    • Etichetta: inserisci Event Monitoring API Access.
    • Nome API: compilato automaticamente.
  4. Fai clic su Salva.
  5. Nella pagina dei dettagli del set di autorizzazioni:
    • Fai clic su Autorizzazioni di sistema.
    • Fai clic su Modifica.
    • Controlla le seguenti autorizzazioni:
      • API abilitata
      • Visualizzare i file di log eventi
      • Visualizza tutti i dati (facoltativo, ma consigliato per un accesso completo)
    • Fai clic su Salva.
  6. Fai clic su Gestisci assegnazioni > Aggiungi assegnazioni.
  7. Seleziona l'utente di integrazione che hai creato in precedenza.
  8. Fai clic su Assegna > Fine.

Configura un feed in Google SecOps per importare i log di Salesforce tramite API

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su + Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Salesforce logs).
  5. Seleziona API di terze parti come Tipo di origine.
  6. Seleziona Salesforce come Tipo di log.
  7. Fai clic su Avanti.
  8. Seleziona Concessione JWT OAuth dal menu a discesa.
  9. Specifica i valori per i seguenti parametri di input:
    • Endpoint JWT OAuth: inserisci l'endpoint del token OAuth di Salesforce:
      • Produzione: https://login.salesforce.com/services/oauth2/token
      • Sandbox: https://test.salesforce.com/services/oauth2/token
      • Dominio personalizzato: https://yourdomain.my.salesforce.com/services/oauth2/token
    • Emittente delle attestazioni JWT: inserisci la Consumer Key dell'app connessa.
    • JWT Claims Subject (Soggetto delle attestazioni JWT): inserisci il Nome utente dell'utente di integrazione.
    • JWT Claims Audience (Pubblico delle rivendicazioni JWT): inserisci l'URL di base di accesso a Salesforce:
      • Produzione: https://login.salesforce.com
      • Sandbox: https://test.salesforce.com
    • Chiave privata RSA: incolla l'intero contenuto della chiave privata RSA (salesforce_jwt_private.key), incluse le righe -----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY-----.
  10. Specifica parametri aggiuntivi:
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
  11. Fai clic su Avanti.
  12. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Opzione 2: configura l'esportazione dei log di Salesforce utilizzando Amazon AppFlow e S3

Questo metodo utilizza Amazon AppFlow per estrarre i dati da Salesforce e archiviarli in Amazon S3, che poi vengono importati da Google SecOps.

Configura il bucket AWS S3 e IAM per Google SecOps

  1. Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket
  2. Salva il nome e la regione del bucket per riferimento futuro (ad esempio, salesforce-secops-logs).
  3. Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
  4. Seleziona l'utente creato.
  5. Seleziona la scheda Credenziali di sicurezza.
  6. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  7. Seleziona Servizio di terze parti come Caso d'uso.
  8. Fai clic su Avanti.
  9. (Facoltativo) Aggiungi un tag di descrizione.
  10. Fai clic su Crea chiave di accesso.
  11. Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
  12. Fai clic su Fine.
  13. Seleziona la scheda Autorizzazioni.
  14. Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
  15. Seleziona Aggiungi autorizzazioni.
  16. Seleziona Collega direttamente i criteri.
  17. Cerca la norma AmazonS3FullAccess.
  18. Seleziona la policy.
  19. Fai clic su Avanti.
  20. Fai clic su Aggiungi autorizzazioni.

Configura Amazon AppFlow

  1. Apri la console Amazon AppFlow.
  2. Fai clic su Crea flusso.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome flusso: inserisci un nome (ad esempio Salesforce-to-S3-SecOps).
    • Descrizione del flusso: descrizione facoltativa.
  4. Fai clic su Avanti.
  5. Per Dettagli origine:
    • Nome origine: seleziona Salesforce.
    • Scegli la connessione Salesforce: fai clic su Crea nuova connessione.
    • Viene visualizzata una finestra di accesso a Salesforce. Accedi con le tue credenziali Salesforce.
    • Concedi l'accesso quando richiesto.
    • Oggetto Salesforce: seleziona l'oggetto da trasferire (ad esempio EventLogFile se hai Event Monitoring o altri oggetti di controllo).
  6. Fai clic su Avanti.
  7. Per Dettagli destinazione:
    • Nome destinazione: seleziona Amazon S3.
    • Dettagli bucket: seleziona il bucket S3 che hai creato in precedenza.
    • Prefisso bucket S3: prefisso facoltativo (ad esempio, salesforce-logs/).
  8. Fai clic su Avanti.
  9. Per Trigger di flusso:
    • Seleziona Esegui in base a pianificazione.
    • A partire dalle ore: imposta l'ora di inizio che preferisci.
    • Si ripete: seleziona Ogni ora o Ogni giorno in base alle tue esigenze.
  10. Fai clic su Avanti.
  11. Per Mappa i campi dati:
    • Seleziona Mappa tutti i campi direttamente oppure specifica i campi da mappare.
    • Se esegui la mappatura manualmente, seleziona i campi da trasferire.
  12. Fai clic su Avanti.
  13. Per Aggiungi filtri (facoltativo):
    • Aggiungi eventuali filtri per limitare i dati trasferiti.
  14. Fai clic su Avanti.
  15. Rivedi la configurazione e fai clic su Crea flusso.
  16. Fai clic su Attiva flusso per avviare i trasferimenti pianificati.

Configura un feed in Google SecOps per importare i log di Salesforce

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log di Salesforce.
  5. Seleziona Amazon S3 V2 come Tipo di origine.
  6. Seleziona Salesforce come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • URI S3: l'URI del bucket. s3://BUCKET_NAME Sostituisci quanto segue:
      • BUCKET_NAME: il nome del bucket.
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.

    • Età massima del file: include i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.

    • 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.

  9. Fai clic su Avanti.

  10. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Formati dei log di Salesforce supportati

Il parser Salesforce supporta i log nei formati KV (LEEF) e CSV.

Log di esempio di Salesforce supportati

  • KV (LEEF)

    LEEF:1.0|Salesforce|SecurityMonitoring|343.0|Login: Success|cat=SalesforceLoginHistory    devTime=2020-04-23T14:40:38.000+0000    devTimeFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ    ApiVersion=N/A  Platform=Windows 7  LoginUrl=sanitized.salesforce.com   src=192.0.2.1   usrName=user.sanitized@fakecorp.com attributes.url=https://sanitized.salesforce.com/services/data/v38.0/sobjects/LoginHistory/FAKEID12345   Id=FAKEID12345  LoginType=Remote Access 2.0 Application=Salesforce for Outlook  Browser=N/A
    
  • CSV

    "EVENT_TYPE","TIMESTAMP","REQUEST_ID","ORGANIZATION_ID","USER_ID","RUN_TIME","CPU_TIME","URI","SESSION_KEY","LOGIN_KEY","USER_TYPE","REQUEST_STATUS","DB_TOTAL_TIME","METHOD","MEDIA_TYPE","STATUS_CODE","USER_AGENT","ROWS_PROCESSED","NUMBER_FIELDS","DB_BLOCKS","DB_CPU_TIME","REQUEST_SIZE","RESPONSE_SIZE","ENTITY_NAME","EXCEPTION_MESSAGE","TIMESTAMP_DERIVED","USER_ID_DERIVED","CLIENT_IP","URI_ID_DERIVED"
    "RestApi","20240421120015.367","SLB:sanitized_request_id","00D040000004g6r","005Sv000000CxcD",329,69,"/services/data/v58.0/query","TJestP3qzXKiV/Ud","D/M3fSrc6oTXlmLq","Standard","S",37030739,"GET","application/json;charset=UTF-8",200,9999,840,5,19481,47,10,250361,"EventLogFile",NaN,"2024-04-21T12:00:15.366Z","005Sv000000CxcDIAS","192.0.2.3",NaN
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
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 o "Browser" per LoginAsEvent o "Integration JWT Token" per LoginEvent o "SfdcSiqActivityPlatform" per LoginHistory con objecttype LoginHistory o "N/A" per ApiEvent o "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", o "Java (Salesforce.com)" per LoginHistory con ApiType come "SOAP Partner", o "Sconosciuto" per LoginHistory con Application come "SfdcSiqActivityPlatform", o 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 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 di EventDate dal log non elaborato o data.properties.TIMESTAMP_DERIVED.str se disponibile o data.properties.TIMESTAMP_DERIVED_FIRST.str se disponibile o @timestamp se disponibile o created_date se disponibile o timestamp se disponibile o 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 o "Altra API Apex" per LoginHistory con ApiType come "SOAP Partner" o "Remote Access 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 insieme a 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 insieme a 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 oppure 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 o src_email per vari eventi o IdentityUsed per IdentityProviderEventStore o 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.
Parser Logic metadata.event_type Derivato 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 di rete e principal.
Parser Logic metadata.ingestion_labels Etichette che indicano l'origine dell'evento, ovvero "File di log eventi", "Monitoraggio eventi in tempo reale" o "SetupAuditTrail".
Parser Logic metadata.log_type È sempre impostato su "SALESFORCE".
Parser Logic metadata.product_name È sempre impostato su "SALESFORCE".
Parser Logic metadata.vendor_name È sempre impostato su "SALESFORCE".
Parser Logic metadata.url_back_to_product Costruito a partire da vari campi come LoginUrl, attributes.url, data.properties.PageUrl.str, data.properties.LoginUrl.str.
Parser Logic network.application_protocol Imposta "HTTPS" se il campo uri inizia con "http".
Parser Logic network.http.referral_url Estratto dal campo user_agent se contiene "Referer=".
Parser Logic network.http.response_code Derivato da request_status per vari eventi.
Parser Logic 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.
Parser Logic network.session_id Il valore di session_key o SESSION_KEY dal log non elaborato o creato da altri campi come LoginKey o AuthSessionId.
Parser Logic network.tls.version Il valore di tls_protocol dal log non elaborato o da data.properties.TlsProtocol.str per LoginEventStream.
Parser Logic principal.application Il valore di application dal log non elaborato o "Salesforce for Outlook" per gli eventi Accesso: riuscito o "Approfondimenti" per gli eventi Accesso: riuscito senza applicazione o estratto da device_platform per gli eventi Lightning.
Parser Logic principal.asset.hostname Il valore di client_ip se è un nome host.
Parser Logic principal.asset.ip Il valore di client_ip o src_ip o SourceIp o CLIENT_IP se è un indirizzo IP.
Parser Logic principal.hostname Il valore di client_ip se è un nome host.
Parser Logic principal.ip Il valore di client_ip o src_ip o SourceIp o CLIENT_IP se è un indirizzo IP.
Parser Logic principal.labels Etichette create da vari campi come FederationIdentifier, ApiType, OrgId, channel.
Parser Logic principal.location.city Il valore di geoip_src.city_name o City o LoginGeo.City dal log non elaborato.
Parser Logic principal.location.country_or_region Il valore di geoip_src.country_name o Country o LoginGeo.Country o client_geo dal log non elaborato.
Parser Logic principal.location.region_latitude Il valore di data.properties.LoginLatitude.number dal log non elaborato.
Parser Logic principal.location.region_longitude Il valore di data.properties.LoginLongitude.number dal log non elaborato.
Parser Logic principal.location.state Il valore di geoip_src.region_name dal log non elaborato.
Parser Logic principal.platform Il valore di Platform o OsName o os_name dal log non elaborato oppure "WINDOWS" per LoginEventStream con Platform contenente "Windows".
Parser Logic principal.platform_version Il valore di OsVersion o os_version dal log non elaborato o estratto da Platform per LoginEventStream con Platform contenente "Windows".
Parser Logic principal.resource.attribute.labels Etichette create da vari campi come CreatedById, ApiVersion, LogFile, LogFileContentType, LogFileLength.
Parser Logic principal.resource.name Il valore di Browser o browser_name dal log non elaborato oppure "Java (Salesforce.com)" per LoginHistory con ApiType come "SOAP Partner".
Parser Logic principal.resource.type Estratto da device_platform per gli eventi Lightning o "Browser" per LoginAsEvent e LoginAsEventStream.
Parser Logic principal.url Il valore di LoginUrl dal log non elaborato.
Parser Logic principal.user.email_addresses Il valore di usrName o Username o src_email o IdentityUsed o data.properties.Username.str o data.properties.Email.str dal log non elaborato.
Parser Logic principal.user.product_object_id Il valore di attrs.USER_ID_DERIVED o data.properties.USER_ID_DERIVED.str dal log non elaborato.
Parser Logic principal.user.userid Il valore di 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.
Parser Logic security_result.action Derivato da Status o OperationStatus o ErrorCode o action o operation_status dal log non elaborato, trasformato in ALLOW o BLOCK.
Parser Logic security_result.action_details Il valore di Status dal log non elaborato per LoginEventStream.
Parser Logic security_result.description Il valore di LoginType o logintype o Operation o Action o Display dal log non elaborato.
Parser Logic security_result.rule_name Il valore di Policy o rule_name dal log non elaborato.
Parser Logic security_result.summary Costruito a partire da NewValue e OldValue o REQUEST_STATUS o Section o forecastcategory dal log non elaborato.
Parser Logic target.administrative_domain Il valore di ORGANIZATION_ID o DelegatedOrganizationId o organization_id o data.properties.OrgName.str dal log non elaborato.
Parser Logic target.application Il valore di Application o app_name o ApiType o Name o data.properties.Application.str dal log non elaborato.
Parser Logic target.asset.hostname Il valore di target_hostname estratto dal campo uri.
Parser Logic target.asset.ip Il valore di data.properties.CLIENT_IP.str dal log non elaborato.
Parser Logic target.asset_id Costruito a partire da device_id o REQUEST_ID.
Parser Logic target.file.mime_type Il valore di file_type dal log non elaborato.
Parser Logic target.file.size Il valore di size_bytes dal log non elaborato.
Parser Logic target.hostname Il valore di target_hostname estratto dal campo uri.
Parser Logic target.process.command_line Il valore di query_exec o Query o data.properties.Query.str dal log non elaborato.
Parser Logic target.process.pid Il valore di job_id dal log non elaborato.
Parser Logic 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.
Parser Logic target.resource.id Il valore di REQUEST_ID o RecordId o caseid o leadid o contactid o opportunityid o accountid dal log non elaborato.
Parser Logic target.resource.name Il valore di QueriedEntities o resource_name o component_name o DATASET_IDS o field o StageName o Subject dal log non elaborato.
Parser Logic target.resource.product_object_id Il valore di REQUEST_ID dal log non elaborato.
Parser Logic target.resource.resource_type Imposta "ACCESS_POLICY" per ApexCallout e PlatformEncryption, "DATABASE" per ApexTrigger, "FILE" per ContentTransfer o "TABLE" per ApiEvent.
Parser Logic target.resource.type Imposta "BATCH" per QueuedExecution e ApexExecution, "FILE" per ContentTransfer, "DATABASE_TRIGGER" per ApexTrigger o "Case", "Lead", "Contact", "Opportunity", "Account" in base alla presenza dei campi ID corrispondenti.
Parser Logic target.url Il valore di LoginUrl o URI o attributes.url o login_url o uri dal log non elaborato.
Parser Logic target.user.email_addresses Il valore di Username o attrs.usrName o email_address dal log non elaborato.
Parser Logic target.user.user_display_name Il valore di target_user_display_name o user_name o username dal log non elaborato.
Parser Logic target.user.userid Il valore di target_user_name o data.properties.UserId.str o data.properties.CreatedById.str dal log non elaborato.
Parser Logic extensions.auth.auth_details Impostato su "ACTIVE" se Status non è "Success", altrimenti impostato su "UNKNOWN_AUTHENTICATION_STATUS".
Parser Logic extensions.auth.mechanism Imposta "REMOTE" per gli eventi Accesso: riuscito e Accesso con logintype contenente "Remote", "USERNAME_PASSWORD" per LoginEventStream, "MECHANISM_OTHER" per gli eventi con login_url presente o "AUTHTYPE_UNSPECIFIED" per gli eventi Accesso: riuscito e Disconnessione.
Parser Logic extensions.auth.type Imposta "SSO" per Login, Logout, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory, LoginAsEvent con LoginType come "SAML Sfdc Initiated SSO" o "AUTHTYPE_UNSPECIFIED" per Login: Success, Logout, LoginAsEvent con LoginType come "Application".

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.