Salesforce-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Salesforce-Logs mit zwei Methoden in Google Security Operations aufnehmen: Amazon AppFlow mit Amazon S3 oder Drittanbieter-API. Der Parser verarbeitet die Logs in den Formaten LEEF, CSV und JSON. Sie extrahiert Felder, führt formatspezifische Verarbeitungsschritte aus (LEEF-Schlüssel/Wert-Paare, CSV-Spalten und JSON-Strukturen werden verarbeitet), ordnet sie dem UDM zu und reichert die Daten mit Metadaten und abgeleiteten Feldern an. Der Parser verarbeitet auch verschiedene Salesforce-Ereignistypen, wendet spezifische Logik für Anmeldungen, Abmeldungen und andere Aktionen an, kategorisiert Ereignisse und legt geeignete UDM-Ereignistypen fest.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Privilegierter Zugriff auf Salesforce (Systemadministrator oder gleichwertig)

Option 1: Drittanbieter-API-Methode

  • Eine Salesforce-Lizenz für Shield Event Monitoring oder ein Event Monitoring-Add-on
  • X.509-Zertifikate und RSA-Schlüsselpaare generieren und verwalten

Option 2: Amazon AppFlow mit S3-Methode

  • Privilegierter Zugriff auf AWS
  • Ihre Organisation verwendet die Enterprise, Unlimited oder Performance Edition von Salesforce.

Wichtiger Lizenzhinweis: Ohne Salesforce Shield Event Monitoring ist der API-Zugriff auf EventLogFile auf nur 7 grundlegende Ereignistypen (Anmeldung, Abmeldung, API-Gesamtnutzung, CORS-Verletzungsdatensatz, CSP-Verletzung, Hostname-Weiterleitungen, Unerwartete Apex-Ausnahme) mit einer Aufbewahrungsdauer von einem Tag beschränkt. Die meisten Organisationen ohne Shield sollten die Amazon AppFlow-Methode (Option 2) verwenden.

Option 1: Salesforce Direct API-Integration mit Drittanbieter-API konfigurieren (OAuth-JWT-Inhaber)

Bei dieser Methode wird eine direkte API-Verbindung von Google SecOps zu Salesforce über den OAuth 2.0-JWT-Inhaber-Ablauf für die Server-zu-Server-Authentifizierung hergestellt.

Voraussetzungen für diese Methode:

  • Eine Salesforce-Lizenz für Shield Event Monitoring oder ein Event Monitoring-Add-on (für umfassenden EventLogFile-Zugriff erforderlich)
  • Systemadministratorzugriff in Salesforce
  • X.509-Zertifikate und RSA-Schlüsselpaare generieren und verwalten

RSA-Schlüsselpaar und X.509-Zertifikat generieren

Für die JWT-Inhaberauthentifizierung benötigen Sie einen privaten RSA-Schlüssel und ein entsprechendes X.509-Zertifikat.

  1. Privaten RSA-Schlüssel generieren:

    openssl genrsa -out salesforce_jwt_private.key 2048
    
  2. Erstellen Sie eine Zertifikatsignierungsanfrage (Certificate Signing Request, CSR):

    openssl req -new -key salesforce_jwt_private.key -out salesforce_jwt.csr
    
  3. Generieren Sie ein selbstsigniertes Zertifikat (gültig für 1 Jahr):

    openssl x509 -req -days 365 -in salesforce_jwt.csr -signkey salesforce_jwt_private.key -out salesforce_jwt.crt
    
  4. Speichern Sie den privaten Schlüssel sicher. Sie benötigen ihn für die Konfiguration des Google SecOps-Feeds.

Verbundene Salesforce-App mit JWT-Bearer-Flow erstellen

  1. Melden Sie sich als Systemadministrator in Salesforce an.
  2. Gehen Sie zu Einrichtung > Apps > App-Manager.
  3. Klicken Sie auf Neue verbundene App.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name der verbundenen App: Geben Sie einen Namen ein, z. B. Google Security Operations Integration.
    • API-Name: Wird automatisch basierend auf dem Namen der verbundenen App ausgefüllt.
    • Kontakt-E-Mail-Adresse: Geben Sie Ihre E-Mail-Adresse ein.
  5. Im Bereich API (OAuth-Einstellungen aktivieren):
    • Wählen Sie OAuth-Einstellungen aktivieren aus.
    • Callback-URL: Geben Sie https://login.salesforce.com/services/oauth2/callback ein. Diese wird für den JWT-Ablauf nicht verwendet, ist aber erforderlich.
    • Wählen Sie Digitale Signaturen verwenden aus.
    • Klicken Sie auf Datei auswählen und laden Sie das zuvor generierte X.509-Zertifikat (salesforce_jwt.crt) hoch.
    • Ausgewählte OAuth-Bereiche: Fügen Sie die folgenden Bereiche hinzu:
      • Daten aufrufen und verwalten (api)
      • Anfragen jederzeit in Ihrem Namen ausführen (refresh_token, offline_access)
    • Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows (PKCE-Erweiterung für unterstützte Autorisierungsabläufe erforderlich): Deaktivieren Sie diese Option.
  6. Klicken Sie auf Speichern.
  7. Klicken Sie in der Warnmeldung auf Weiter.
  8. Notieren Sie sich auf der Detailseite der verbundenen App den Consumer Key. Dies wird in Google SecOps als JWT Claims Issuer verwendet.
  9. Klicken Sie auf Verwalten > Richtlinien bearbeiten.
  10. Im Abschnitt OAuth-Richtlinien:
    • Berechtigte Nutzer: Wählen Sie Vom Administrator genehmigte Nutzer sind vorautorisiert aus.
    • IP-Lockerung: Wählen Sie IP-Einschränkungen lockern aus.
  11. Klicken Sie auf Speichern.

Integrationsnutzer in Salesforce erstellen und konfigurieren

  1. Klicken Sie auf Einrichtung > Nutzer > Nutzer.
  2. Klicken Sie auf New User (Neuer Nutzer).
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Vorname: Geben Sie Google ein.
    • Nachname: Geben Sie Google SecOps Integration ein.
    • E-Mail: Geben Sie eine E-Mail-Adresse ein.
    • Nutzername: Geben Sie einen eindeutigen Nutzernamen ein.
    • Nutzerlizenz: Wählen Sie Salesforce aus.
    • Profil: Wählen Sie Systemadministrator aus oder erstellen Sie ein benutzerdefiniertes Profil mit API-Zugriff.
  4. Klicken Sie auf Speichern.
  5. Notieren Sie sich den Nutzernamen genau so, wie er eingegeben wurde. Dies wird in Google SecOps als JWT Claims Subject verwendet.

Integrationsnutzer der verbundenen App zuweisen

  1. Gehen Sie zu Einrichtung > Apps > Verknüpfte Apps > Verknüpfte Apps verwalten.
  2. Klicken Sie auf die verbundene App Google Security Operations-Integration, die Sie erstellt haben.
  3. Klicken Sie auf Verwalten > Profile verwalten oder Berechtigungssätze verwalten.
  4. Wählen Sie das Profil oder den Berechtigungssatz aus, der Ihrem Integrationsnutzer zugewiesen ist, z. B. System Administrator (Systemadministrator).
  5. Klicken Sie auf Speichern.

API- und Ereignisüberwachungsberechtigungen für den Integrationsnutzer gewähren

  1. Gehen Sie zu Einrichtung> Nutzer > Berechtigungssätze.
  2. Klicken Sie auf New (Neu).
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Label: Geben Sie Event Monitoring API Access ein.
    • API-Name: Wird automatisch ausgefüllt.
  4. Klicken Sie auf Speichern.
  5. Auf der Detailseite des Berechtigungssatzes:
    • Klicken Sie auf Systemberechtigungen.
    • Klicken Sie auf Bearbeiten.
    • Prüfen Sie die folgenden Berechtigungen:
      • API aktiviert
      • Ereignisprotokolldateien ansehen
      • Alle Daten ansehen (optional, aber für umfassenden Zugriff empfohlen)
    • Klicken Sie auf Speichern.
  6. Klicken Sie auf Zuweisungen verwalten> Zuweisungen hinzufügen.
  7. Wählen Sie den Integrationsnutzer aus, den Sie zuvor erstellt haben.
  8. Klicken Sie auf Zuweisen> Fertig.

Feed in Google SecOps konfigurieren, um Salesforce-Logs über die API aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf + Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Salesforce logs.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie Salesforce als Log-Typ aus.
  7. Klicken Sie auf Weiter.
  8. Wählen Sie im Drop-down-Menü die Option OAuth-JWT-Gewährung aus.
  9. Geben Sie Werte für die folgenden Eingabeparameter an:
    • OAuth-JWT-Endpunkt: Geben Sie den Salesforce-OAuth-Token-Endpunkt ein:
      • Produktion: https://login.salesforce.com/services/oauth2/token
      • Sandbox: https://test.salesforce.com/services/oauth2/token
      • Benutzerdefinierte Domain: https://yourdomain.my.salesforce.com/services/oauth2/token
    • JWT Claims Issuer (Aussteller von JWT-Ansprüchen): Geben Sie den Consumer Key (Consumer-Key) der verbundenen App ein.
    • JWT Claims Subject (JWT-Anforderungen – Betreff): Geben Sie den Nutzername des Integrationsnutzers ein.
    • JWT Claims Audience: Geben Sie die Salesforce-Login-Basis-URL ein:
      • Produktion: https://login.salesforce.com
      • Sandbox: https://test.salesforce.com
    • Privater RSA-Schlüssel: Fügen Sie den gesamten Inhalt Ihres privaten RSA-Schlüssels (salesforce_jwt_private.key) ein, einschließlich der Zeilen -----BEGIN PRIVATE KEY----- und -----END PRIVATE KEY-----.
  10. Zusätzliche Parameter angeben:
    • Asset-Namespace: Der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
  11. Klicken Sie auf Weiter.
  12. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Option 2: Export von Salesforce-Protokollen mit Amazon AppFlow und S3 konfigurieren

Bei dieser Methode wird Amazon AppFlow verwendet, um Daten aus Salesforce zu extrahieren und in Amazon S3 zu speichern. Google SecOps nimmt diese Daten dann auf.

AWS S3-Bucket und IAM für Google SecOps konfigurieren

  1. Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
  2. Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B. salesforce-secops-logs).
  3. Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
  4. Wählen Sie den erstellten Nutzer aus.
  5. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  6. Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
  7. Wählen Sie als Anwendungsfall Drittanbieterdienst aus.
  8. Klicken Sie auf Weiter.
  9. Optional: Fügen Sie ein Beschreibungstag hinzu.
  10. Klicken Sie auf Zugriffsschlüssel erstellen.
  11. Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die zukünftige Verwendung zu speichern.
  12. Klicken Sie auf Fertig.
  13. Wählen Sie den Tab Berechtigungen aus.
  14. Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
  15. Wählen Sie Berechtigungen hinzufügen aus.
  16. Wählen Sie Richtlinien direkt anhängen aus.
  17. Suchen Sie nach der Richtlinie AmazonS3FullAccess.
  18. Wählen Sie die Richtlinie aus.
  19. Klicken Sie auf Weiter.
  20. Klicken Sie auf Berechtigungen hinzufügen.

Amazon AppFlow konfigurieren

  1. Öffnen Sie die Amazon AppFlow-Konsole.
  2. Klicken Sie auf Ablauf erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Ablaufname: Geben Sie einen Namen ein, z. B. Salesforce-to-S3-SecOps.
    • Ablaufbeschreibung: Optionale Beschreibung.
  4. Klicken Sie auf Weiter.
  5. Für Quelldetails:
    • Quellname: Wählen Sie Salesforce aus.
    • Salesforce-Verbindung auswählen: Klicken Sie auf Neue Verbindung erstellen.
    • Ein Salesforce-Anmeldefenster wird angezeigt. Melden Sie sich mit Ihren Salesforce-Anmeldedaten an.
    • Gewähren Sie den Zugriff, wenn Sie dazu aufgefordert werden.
    • Salesforce-Objekt: Wählen Sie das Objekt aus, das Sie übertragen möchten, z. B. EventLogFile, wenn Sie Event Monitoring haben, oder andere Audit-Objekte.
  6. Klicken Sie auf Weiter.
  7. Für Zieldetails:
    • Zielname: Wählen Sie Amazon S3 aus.
    • Bucket-Details: Wählen Sie den S3-Bucket aus, den Sie zuvor erstellt haben.
    • S3-Bucket-Präfix: Optionales Präfix (z. B. salesforce-logs/).
  8. Klicken Sie auf Weiter.
  9. Für Ablauftrigger:
    • Wählen Sie Nach Zeitplan ausführen aus.
    • Ab: Legen Sie Ihre bevorzugte Startzeit fest.
    • Wiederholungen: Wählen Sie je nach Bedarf Stündlich oder Täglich aus.
  10. Klicken Sie auf Weiter.
  11. Für Datenfelder zuordnen:
    • Wählen Sie Alle Felder direkt zuordnen aus oder geben Sie an, welche Felder zugeordnet werden sollen.
    • Wenn Sie die Zuordnung manuell vornehmen, wählen Sie die Felder aus, die übertragen werden sollen.
  12. Klicken Sie auf Weiter.
  13. Filter hinzufügen (optional):
    • Fügen Sie Filter hinzu, um die übertragenen Daten einzuschränken.
  14. Klicken Sie auf Weiter.
  15. Überprüfen Sie die Konfiguration und klicken Sie auf Flow erstellen.
  16. Klicken Sie auf Ablauf aktivieren, um die geplanten Übertragungen zu starten.

Feed in Google SecOps konfigurieren, um Salesforce-Logs aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Salesforce-Logs.
  5. Wählen Sie Amazon S3 V2 als Quelltyp aus.
  6. Wählen Sie Salesforce als Log-Typ aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • S3-URI: Der Bucket-URI. s3://BUCKET_NAME Ersetzen Sie Folgendes:
      • BUCKET_NAME: Der Name des Buckets.
    • Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus.

    • Maximales Dateialter: Enthält Dateien, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • Zugriffsschlüssel-ID: Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.

    • Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.

  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Unterstützte Salesforce-Logformate

Der Salesforce-Parser unterstützt Protokolle im KV-Format (LEEF) und im CSV-Format.

Unterstützte Salesforce-Beispiellogs

  • 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
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Account.Name target.resource.name Der Wert von Account.Name aus dem Rohlog.
AccountId target.resource.id Der Wert von AccountId aus dem Rohlog.
Action security_result.description Der Wert von Action aus dem Rohlog.
AdditionalInfo - Nicht dem IDM-Objekt zugeordnet.
ApiType target.application Der Wert von ApiType aus dem Rohlog.
ApiVersion - Nicht dem IDM-Objekt zugeordnet.
Application principal.application Der Wert von Application aus dem Rohlog oder „Browser“ für LoginAsEvent, „Integration JWT Token“ für LoginEvent, „SfdcSiqActivityPlatform“ für LoginHistory mit dem Objekttyp LoginHistory, „N/A“ für ApiEvent oder „Browser“ für LoginAsEventStream.
attributes.url target.url Der Wert von attributes.url aus dem Rohlog oder bestimmte URLs für verschiedene Ereignistypen aus dem Rohlog.
attributes.type metadata.product_event_type Der Wert von attributes.type aus dem Rohlog.
AuthSessionId network.session_id Der Wert von AuthSessionId aus dem Rohlog.
Browser principal.resource.name Der Wert von Browser aus dem Rohlog oder „Unbekannt“, wenn Browser im Rohlog nicht verfügbar ist und Application „Insights“ ist, oder „Java (Salesforce.com)“ für LoginHistory mit ApiType als „SOAP Partner“ oder „Unbekannt“ für LoginHistory mit Application als „SfdcSiqActivityPlatform“ oder aus data.properties.Browser.str für LoginAsEventStream.
Case.Subject target.resource.name Der Wert von Case.Subject aus dem Rohlog.
CaseId target.resource.id Der Wert von CaseId aus dem Rohlog.
cat metadata.product_event_type Der Wert von cat aus dem Rohlog.
City principal.location.city Der Wert von City aus dem Rohlog oder aus LoginGeo.City für LoginHistory.
Client principal.labels Der Wert von Client aus dem Rohlog, als Label formatiert.
CLIENT_IP principal.ip, principal.asset.ip Der Wert von CLIENT_IP aus dem Rohlog.
ClientVersion - Nicht dem IDM-Objekt zugeordnet.
CipherSuite network.tls.cipher Der Wert von CipherSuite aus dem Rohlog.
ColumnHeaders principal.labels Der Wert von ColumnHeaders aus dem Rohlog, als Label formatiert.
ConnectedAppId principal.labels Der Wert von ConnectedAppId aus dem Rohlog, als Label formatiert.
Contact.Name target.resource.name Der Wert von Contact.Name aus dem Rohlog.
ContactId target.resource.id Der Wert von ContactId aus dem Rohlog.
Country principal.location.country_or_region Der Wert von Country aus dem Rohlog oder LoginGeo.Country für LoginHistory.
CreatedByContext principal.user.userid Der Wert von CreatedByContext aus dem Rohlog.
CreatedById principal.resource.attribute.labels Der Wert von CreatedById aus dem Rohlog, als Label formatiert.
CreatedDate metadata.collected_timestamp Der Wert von CreatedDate aus dem Rohlog oder der aktuelle Zeitstempel, falls nicht verfügbar.
CPU_TIME target.resource.attribute.labels Der Wert von CPU_TIME aus dem Rohlog, als Label formatiert.
data - Enthält verschiedene Felder, die einzeln extrahiert und zugeordnet werden.
DATASET_IDS target.resource.name Der Wert von DATASET_IDS aus dem Rohlog.
DelegatedOrganizationId target.administrative_domain Der Wert von DelegatedOrganizationId aus dem Rohlog.
DelegatedUsername observer.user.userid Der Wert von DelegatedUsername aus dem Rohlog.
Description metadata.description Der Wert von Description aus dem Rohlog.
DevicePlatform principal.resource.type Der Wert von DevicePlatform aus dem Rohlog, der zum Extrahieren des Ressourcentyps geparst wurde.
Display metadata.description Der Wert von Display aus dem Rohlog.
DOWNLOAD_FORMAT target.resource.attribute.labels Der Wert von DOWNLOAD_FORMAT aus dem Rohlog, als Label formatiert.
Duration target.resource.attribute.labels Der Wert von Duration aus dem Rohlog, als Label formatiert.
ENTITY_NAME target.resource.attribute.labels Der Wert von ENTITY_NAME aus dem Rohlog, als Label formatiert.
ErrorCode security_result.action Der Wert von ErrorCode aus dem Rohlog, der in ALLOW oder BLOCK umgewandelt wurde.
EventDate timestamp Der Wert von EventDate aus dem Rohlog oder data.properties.TIMESTAMP_DERIVED.str, falls verfügbar, oder data.properties.TIMESTAMP_DERIVED_FIRST.str, falls verfügbar, oder @timestamp, falls verfügbar, oder created_date, falls verfügbar, oder timestamp, falls verfügbar, oder LoginTime für LoginHistory.
EventIdentifier metadata.product_log_id Der Wert von EventIdentifier aus dem Rohlog.
EventType metadata.product_event_type Der Wert von EventType aus dem Rohlog.
Id principal.user.userid Der Wert von Id aus dem Rohprotokoll oder metadata.product_log_id für SetupAuditTrail und andere Ereignisse.
IdentityUsed principal.user.email_addresses Der Wert von IdentityUsed aus dem Rohlog.
Lead.Name target.resource.name Der Wert von Lead.Name aus dem Rohlog.
LeadId target.resource.id Der Wert von LeadId aus dem Rohlog.
LoginAsCategory - Nicht dem IDM-Objekt zugeordnet.
LoginGeo.Country principal.location.country_or_region Der Wert von LoginGeo.Country aus dem Rohlog.
LoginHistoryId - Nicht dem IDM-Objekt zugeordnet.
LoginKey principal.user.userid, network.session_id Der Wert von LoginKey aus dem Rohlog oder CreatedByContext für SetupAuditTrail.
LoginTime timestamp Der Wert von LoginTime aus dem Rohlog.
LoginType security_result.description Der Wert von LoginType aus dem Rohprotokoll oder „Other Apex API“ für LoginHistory mit ApiType als „SOAP Partner“ oder „Remote Access 2.0“ für LoginHistory mit Application als „SfdcSiqActivityPlatform“.
LoginUrl target.url, principal.url Der Wert von LoginUrl aus dem Rohlog.
LogFile principal.resource.attribute.labels Der Wert von LogFile aus dem Rohlog, als Label formatiert.
LogFileContentType principal.resource.attribute.labels Der Wert von LogFileContentType aus dem Rohlog, als Label formatiert.
LogFileLength principal.resource.attribute.labels Der Wert von LogFileLength aus dem Rohlog, als Label formatiert.
Message - Nicht dem IDM-Objekt zugeordnet.
METHOD network.http.method Der Wert von METHOD aus dem Rohlog.
Name target.application Der Wert von Name aus dem Rohlog.
NewValue - Wird in Verbindung mit OldValue verwendet, um security_result.summary zu generieren.
NUMBER_FIELDS target.resource.attribute.labels Der Wert von NUMBER_FIELDS aus dem Rohlog, als Label formatiert.
OldValue - Wird in Verbindung mit NewValue verwendet, um security_result.summary zu generieren.
Operation security_result.description, target.resource.attribute.labels Der Wert von Operation aus dem Rohlog oder Display für SetupAuditTrail.
OperationStatus security_result.action Der Wert von OperationStatus aus dem Rohlog, der in ALLOW oder BLOCK umgewandelt wurde.
ORGANIZATION_ID target.administrative_domain Der Wert von ORGANIZATION_ID aus dem Rohlog.
OsName principal.platform Der Wert von OsName aus dem Rohlog.
OsVersion principal.platform_version Der Wert von OsVersion aus dem Rohlog.
Platform principal.platform Der Wert von Platform aus dem Rohlog oder aus data.properties.OsName.str für LightningUriEventStream oder aus data.properties.OsName.str für LoginEventStream.
QueriedEntities target.resource.name, principal.labels Der Wert von QueriedEntities aus dem Rohlog oder component_name für UriEvent und ApiEvent.
Query target.process.command_line, principal.labels Der Wert von Query aus dem Rohlog.
RecordId target.resource.id Der Wert von RecordId aus dem Rohlog.
Records principal.labels Der Wert von Records aus dem Rohlog, als Label formatiert.
REQUEST_ID metadata.product_log_id, target.resource.product_object_id Der Wert von REQUEST_ID aus dem Rohlog.
REQUEST_SIZE network.sent_bytes Der Wert von REQUEST_SIZE aus dem Rohlog.
REQUEST_STATUS security_result.summary Der Wert von REQUEST_STATUS aus dem Rohlog.
RESPONSE_SIZE network.received_bytes Der Wert von RESPONSE_SIZE aus dem Rohlog.
RowsProcessed target.resource.attribute.labels Der Wert von RowsProcessed aus dem Rohlog, als Label formatiert.
RUN_TIME target.resource.attribute.labels Der Wert von RUN_TIME aus dem Rohlog, als Label formatiert.
SamlEntityUrl - Nicht dem IDM-Objekt zugeordnet.
SdkAppType - Nicht dem IDM-Objekt zugeordnet.
SdkAppVersion - Nicht dem IDM-Objekt zugeordnet.
SdkVersion - Nicht dem IDM-Objekt zugeordnet.
Section security_result.summary Der Wert von Section aus dem Rohlog.
SessionKey network.session_id Der Wert von SessionKey aus dem Rohlog.
SessionLevel target.resource.attribute.labels Der Wert von SessionLevel aus dem Rohlog, als Label formatiert.
SourceIp principal.ip, principal.asset.ip Der Wert von SourceIp aus dem Rohlog.
src principal.ip, principal.asset.ip Der Wert von src aus dem Rohlog.
SsoType target.resource.attribute.labels Der Wert von SsoType aus dem Rohlog, als Label formatiert.
STATUS_CODE network.http.response_code Der Wert von STATUS_CODE aus dem Rohlog.
Status security_result.action, security_result.action_details Der Wert von Status aus dem Rohlog, der in ALLOW oder BLOCK umgewandelt oder als Aktionsdetails für LoginEventStream verwendet wird.
Subject target.resource.name Der Wert von Subject aus dem Rohlog.
TargetUrl - Nicht dem IDM-Objekt zugeordnet.
TIMESTAMP metadata.collected_timestamp Der Wert von TIMESTAMP aus dem Rohlog.
TIMESTAMP_DERIVED timestamp Der Wert von TIMESTAMP_DERIVED aus dem Rohlog.
TlsProtocol network.tls.version_protocol Der Wert von TlsProtocol aus dem Rohlog.
URI target.url Der Wert von URI aus dem Rohlog.
USER_AGENT network.http.user_agent Der Wert von USER_AGENT aus dem Rohlog.
USER_ID principal.user.userid Der Wert von USER_ID aus dem Rohlog.
USER_ID_DERIVED principal.user.product_object_id, target.resource.attribute.labels Der Wert von USER_ID_DERIVED aus dem Rohlog.
UserId principal.user.userid Der Wert von UserId aus dem Rohlog.
USER_TYPE target.resource.attribute.labels Der Wert von USER_TYPE aus dem Rohlog, als Label formatiert.
Username principal.user.userid, principal.user.email_addresses, target.user.email_addresses Der Wert von Username aus dem Rohlog oder src_email für verschiedene Ereignisse oder IdentityUsed für IdentityProviderEventStore oder data.properties.Email.str für Search und SearchAlert oder data.properties.Username.str für LoginAsEventStream und LoginEventStream.
UserType target.resource.attribute.labels Der Wert von UserType aus dem Rohlog, als Label formatiert.
usrName principal.user.userid, principal.user.email_addresses, target.user.email_addresses Der Wert von usrName aus dem Rohlog.
VerificationMethod target.resource.attribute.labels Der Wert von VerificationMethod aus dem Rohlog, als Label formatiert.
Parser-Logik metadata.event_type Abgeleitet aus den Feldern event_id und operation oder auf „USER_LOGIN“ für LoginEventStream, „USER_LOGOUT“ für Logout und LogoutEvent, „USER_RESOURCE_UPDATE_CONTENT“ für verschiedene Ereignisse, „USER_RESOURCE_UPDATE_PERMISSIONS“ für PlatformEncryption, „RESOURCE_READ“ für QueuedExecution, ApexExecution, LightningInteraction, LightningPerformance, LightningPageView, URI, RestApi, API, AuraRequest, ApexCallout, OneCommerceUsage, Sites, MetadataApiOperation, OneCommerceUsage, VisualforceRequest, Dashboard, Search, ListViewEvent, „RESOURCE_CREATION“ für UriEvent und TimeBasedWorkflow mit Operation als „Create“ oder „INSERT“, „RESOURCE_WRITTEN“ für UriEvent und LightningUriEvent mit Operation als „Update“, „RESOURCE_DELETION“ für UriEvent mit Operation als „Delete“ oder „ROLLBACK“, „USER_UNCATEGORIZED“ für SetupAuditTrail und AuditTrail, „USER_CHANGE_PASSWORD“ für SetupAuditTrail mit operation als „namedCredentialEncryptedFieldChange“, „GENERIC_EVENT“ für ApiEventStream und LightningUriEventStream oder basierend auf Netzwerk und Prinzipal.
Parser-Logik metadata.ingestion_labels Labels, die die Quelle des Ereignisses angeben, entweder „Event Log File“ (Ereignisprotokolldatei), „Real-Time Event Monitoring“ (Echtzeit-Ereignisüberwachung) oder „SetupAuditTrail“ (Setup-Prüfprotokoll).
Parser-Logik metadata.log_type Immer auf „SALESFORCE“ festgelegt.
Parser-Logik metadata.product_name Immer auf „SALESFORCE“ festgelegt.
Parser-Logik metadata.vendor_name Immer auf „SALESFORCE“ festgelegt.
Parser-Logik metadata.url_back_to_product Wird aus verschiedenen Feldern wie LoginUrl, attributes.url, data.properties.PageUrl.str und data.properties.LoginUrl.str zusammengesetzt.
Parser-Logik network.application_protocol Auf „HTTPS“ festgelegt, wenn das Feld uri mit „http“ beginnt.
Parser-Logik network.http.referral_url Wird aus dem Feld user_agent extrahiert, wenn es „Referer=“ enthält.
Parser-Logik network.http.response_code Abgeleitet von request_status für verschiedene Ereignisse.
Parser-Logik network.http.user_agent Der Wert von user_agent aus dem Rohlog oder von data.properties.UserAgent.str für ApiEventStream und LoginEventStream oder von Sites-Ereignissen oder „User-Agent“ aus Sites-Ereignissen.
Parser-Logik network.session_id Der Wert von session_key oder SESSION_KEY aus dem Rohlog oder aus anderen Feldern wie LoginKey oder AuthSessionId.
Parser-Logik network.tls.version Der Wert von tls_protocol aus dem Rohlog oder aus data.properties.TlsProtocol.str für LoginEventStream.
Parser-Logik principal.application Der Wert von application aus dem Rohprotokoll oder „Salesforce for Outlook“ für „Login: Success“-Ereignisse oder „Insights“ für „Login: Success“-Ereignisse ohne Anwendung oder aus device_platform für Lightning-Ereignisse extrahiert.
Parser-Logik principal.asset.hostname Der Wert von client_ip, wenn es sich um einen Hostnamen handelt.
Parser-Logik principal.asset.ip Der Wert von client_ip, src_ip, SourceIp oder CLIENT_IP, wenn es sich um eine IP-Adresse handelt.
Parser-Logik principal.hostname Der Wert von client_ip, wenn es sich um einen Hostnamen handelt.
Parser-Logik principal.ip Der Wert von client_ip, src_ip, SourceIp oder CLIENT_IP, wenn es sich um eine IP-Adresse handelt.
Parser-Logik principal.labels Labels, die aus verschiedenen Feldern wie FederationIdentifier, ApiType, OrgId und channel erstellt werden.
Parser-Logik principal.location.city Der Wert von geoip_src.city_name, City oder LoginGeo.City aus dem Rohlog.
Parser-Logik principal.location.country_or_region Der Wert von geoip_src.country_name, Country, LoginGeo.Country oder client_geo aus dem Rohlog.
Parser-Logik principal.location.region_latitude Der Wert von data.properties.LoginLatitude.number aus dem Rohlog.
Parser-Logik principal.location.region_longitude Der Wert von data.properties.LoginLongitude.number aus dem Rohlog.
Parser-Logik principal.location.state Der Wert von geoip_src.region_name aus dem Rohlog.
Parser-Logik principal.platform Der Wert von Platform, OsName oder os_name aus dem Rohlog oder „WINDOWS“ für LoginEventStream mit Platform, das „Windows“ enthält.
Parser-Logik principal.platform_version Der Wert von OsVersion oder os_version aus dem Rohlog oder aus Platform für LoginEventStream extrahiert, wenn Platform „Windows“ enthält.
Parser-Logik principal.resource.attribute.labels Labels, die aus verschiedenen Feldern wie CreatedById, ApiVersion, LogFile, LogFileContentType und LogFileLength erstellt werden.
Parser-Logik principal.resource.name Der Wert von Browser oder browser_name aus dem Rohlog oder „Java (Salesforce.com)“ für LoginHistory mit ApiType als „SOAP Partner“.
Parser-Logik principal.resource.type Aus device_platform für Lightning-Ereignisse oder „Browser“ für LoginAsEvent und LoginAsEventStream extrahiert.
Parser-Logik principal.url Der Wert von LoginUrl aus dem Rohlog.
Parser-Logik principal.user.email_addresses Der Wert von usrName, Username, src_email, IdentityUsed, data.properties.Username.str oder data.properties.Email.str aus dem Rohlog.
Parser-Logik principal.user.product_object_id Der Wert von attrs.USER_ID_DERIVED oder data.properties.USER_ID_DERIVED.str aus dem Rohlog.
Parser-Logik principal.user.userid Der Wert von usrName oder Username oder user_id oder UserId oder USER_ID oder Id oder LoginKey oder CreatedByContext oder data.properties.Username.str oder data.properties.USER_ID.str oder data.properties.LoginKey.str aus dem Rohlog.
Parser-Logik security_result.action Abgeleitet von Status, OperationStatus, ErrorCode, action oder operation_status aus dem Rohlog, umgewandelt in ALLOW oder BLOCK.
Parser-Logik security_result.action_details Der Wert von Status aus dem Rohlog für LoginEventStream.
Parser-Logik security_result.description Der Wert von LoginType, logintype, Operation, Action oder Display aus dem Rohlog.
Parser-Logik security_result.rule_name Der Wert von Policy oder rule_name aus dem Rohlog.
Parser-Logik security_result.summary Aus NewValue und OldValue oder REQUEST_STATUS oder Section oder forecastcategory aus dem Rohlog erstellt.
Parser-Logik target.administrative_domain Der Wert von ORGANIZATION_ID, DelegatedOrganizationId, organization_id oder data.properties.OrgName.str aus dem Rohlog.
Parser-Logik target.application Der Wert von Application, app_name, ApiType, Name oder data.properties.Application.str aus dem Rohlog.
Parser-Logik target.asset.hostname Der Wert von target_hostname, der aus dem Feld uri extrahiert wurde.
Parser-Logik target.asset.ip Der Wert von data.properties.CLIENT_IP.str aus dem Rohlog.
Parser-Logik target.asset_id Erstellt aus Inhalten von device_id oder REQUEST_ID.
Parser-Logik target.file.mime_type Der Wert von file_type aus dem Rohlog.
Parser-Logik target.file.size Der Wert von size_bytes aus dem Rohlog.
Parser-Logik target.hostname Der Wert von target_hostname, der aus dem Feld uri extrahiert wurde.
Parser-Logik target.process.command_line Der Wert von query_exec, Query oder data.properties.Query.str aus dem Rohlog.
Parser-Logik target.process.pid Der Wert von job_id aus dem Rohlog.
Parser-Logik target.resource.attribute.labels Labels, die aus verschiedenen Feldern wie 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, werden erstellt.
Parser-Logik target.resource.id Der Wert von REQUEST_ID, RecordId, caseid, leadid, contactid, opportunityid oder accountid aus dem Rohlog.
Parser-Logik target.resource.name Der Wert von QueriedEntities, resource_name, component_name, DATASET_IDS, field, StageName oder Subject aus dem Rohlog.
Parser-Logik target.resource.product_object_id Der Wert von REQUEST_ID aus dem Rohlog.
Parser-Logik target.resource.resource_type Auf „ACCESS_POLICY“ für ApexCallout und PlatformEncryption, „DATABASE“ für ApexTrigger, „FILE“ für ContentTransfer oder „TABLE“ für ApiEvent festlegen.
Parser-Logik target.resource.type Auf „BATCH“ für QueuedExecution und ApexExecution, „FILE“ für ContentTransfer, „DATABASE_TRIGGER“ für ApexTrigger oder „Case“, „Lead“, „Contact“, „Opportunity“, „Account“ basierend auf dem Vorhandensein der entsprechenden ID-Felder festgelegt.
Parser-Logik target.url Der Wert von LoginUrl, URI, attributes.url, login_url oder uri aus dem Rohlog.
Parser-Logik target.user.email_addresses Der Wert von Username, attrs.usrName oder email_address aus dem Rohlog.
Parser-Logik target.user.user_display_name Der Wert von target_user_display_name, user_name oder username aus dem Rohlog.
Parser-Logik target.user.userid Der Wert von target_user_name, data.properties.UserId.str oder data.properties.CreatedById.str aus dem Rohlog.
Parser-Logik extensions.auth.auth_details Wird auf „ACTIVE“ gesetzt, wenn Status nicht „Success“ ist. Andernfalls wird „UNKNOWN_AUTHENTICATION_STATUS“ festgelegt.
Parser-Logik extensions.auth.mechanism Auf „REMOTE“ für „Login: Success“- und „Login“-Ereignisse mit logintype, die „Remote“ enthalten, oder „USERNAME_PASSWORD“ für „LoginEventStream“ oder „MECHANISM_OTHER“ für Ereignisse mit login_url oder „AUTHTYPE_UNSPECIFIED“ für „Login: Success“- und „Logout“-Ereignisse festgelegt.
Parser-Logik extensions.auth.type Auf „SSO“ für Login, Logout, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory, LoginAsEvent mit LoginType als „SAML Sfdc Initiated SSO“ oder „AUTHTYPE_UNSPECIFIED“ für Login: Success, Logout, LoginAsEvent mit LoginType als „Application“ gesetzt.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten