Workday-Audit-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Workday-Audit-Logs mit AWS S3 in Google Security Operations aufnehmen. Der Parser ermittelt zuerst den spezifischen Ereignistyp aus den Protokollen auf Grundlage einer Musteranalyse der CSV-Daten. Anschließend werden relevante Felder entsprechend dem ermittelten Typ extrahiert und strukturiert und einem einheitlichen Datenmodell (Unified Data Model, UDM) für eine konsistente Sicherheitsanalyse zugeordnet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS
- Privilegierter Zugriff auf Workday
AWS S3-Bucket und IAM für Google SecOps konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu dieser Anleitung: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B.
workday-audit-logs
). - Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungstag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- 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.
- Klicken Sie auf Fertig.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
- Wählen Sie Berechtigungen hinzufügen aus.
- Wählen Sie Richtlinien direkt anhängen aus.
- Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
Workday-Integrationssystemnutzer erstellen
- Suchen Sie in Workday nach Create Integration System User > OK.
- Geben Sie den Nutzername ein, z. B.
audit_s3_user
. - Klicken Sie auf OK.
- Setzen Sie das Passwort zurück, indem Sie zu Zugehörige Aktionen > Sicherheit > Passwort zurücksetzen gehen.
- Wählen Sie Kennwortregeln beibehalten aus, damit das Passwort nicht abläuft.
- Suchen Sie nach Create Security Group> Integration System Security Group (Unconstrained).
- Geben Sie einen Namen an (z. B.
ISU_Audit_S3
) und fügen Sie den ISU zu Integration System Users (Integrationssystemnutzer) hinzu. - Suchen Sie nach Domain Security Policies for Functional Area > System (Domainsicherheitsrichtlinien für den Funktionsbereich > System).
- Wählen Sie für Audit-Trail die Option Aktionen > Berechtigungen bearbeiten aus.
- Fügen Sie unter Nur abrufen die Gruppe
ISU_Audit_S3
hinzu. - Klicken Sie auf OK> Ausstehende Änderungen an der Sicherheitsrichtlinie aktivieren.
Benutzerdefinierten Workday-Bericht konfigurieren
- Suchen Sie in Workday nach Create Custom Report (Benutzerdefinierten Bericht erstellen).
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen ein, z. B.
Audit_Trail_BP_JSON
. - Typ: Wählen Sie Erweitert aus.
- Datenquelle: Wählen Sie Audit-Trail – Geschäftsprozess aus.
- Klicken Sie auf OK.
- Optional: Fügen Sie Filter für Business Process Type (Geschäftsprozessart) oder Effective Date (Gültigkeitsdatum) hinzu.
- Name: Geben Sie einen eindeutigen Namen ein, z. B.
- Rufen Sie den Tab Ausgabe auf.
- Wählen Sie Als Webdienst aktivieren und Für Leistung optimiert aus und wählen Sie JSON-Format aus.
- Klicken Sie auf OK> Fertig.
- Öffnen Sie den Bericht, klicken Sie auf Freigeben> fügen Sie
ISU_Audit_S3
mit der Berechtigung „Ansehen“ hinzu > OK. - Klicken Sie auf Zugehörige Aktionen > Webdienst > URLs ansehen.
- Kopieren Sie die JSON-URL (z. B.
https://wd-services1.workday.com/ccx/service/customreport2/<tenant>/<user>/Audit_Trail_BP_JSON?format=json
).
IAM-Richtlinie und ‑Rolle für S3-Uploads konfigurieren
Policy JSON (ersetzen Sie
workday-audit-logs
, wenn Sie einen anderen Bucket-Namen eingegeben haben):{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPutWorkdayObjects", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::workday-audit-logs/*" } ] }
Rufen Sie die AWS-Konsole > IAM > Richtlinien > Richtlinie erstellen > JSON-Tab auf.
Kopieren Sie die Richtlinie und fügen Sie sie ein.
Klicken Sie auf Weiter > Richtlinie erstellen.
Rufen Sie IAM > Rollen > Rolle erstellen > AWS-Service > Lambda auf.
Hängen Sie die neu erstellte Richtlinie an.
Geben Sie der Rolle den Namen
WriteWorkdayToS3Role
und klicken Sie auf Rolle erstellen.
Lambda-Funktion erstellen
Einstellung | Wert |
---|---|
Name | workday_audit_to_s3 |
Laufzeit | Python 3.13 |
Architektur | x86_64 |
Ausführungsrolle | WriteWorkdayToS3Role |
Nachdem die Funktion erstellt wurde, öffnen Sie den Tab Code, löschen Sie den Stub und fügen Sie den Code unten (
workday_audit_to_s3.py
) ein.#!/usr/bin/env python3 import os, json, gzip, io, uuid, base64, datetime as dt, urllib.request, urllib.error import boto3 WD_USER = os.environ["WD_USER"] WD_PASS = os.environ["WD_PASS"] WD_URL = os.environ["WD_URL"] S3_BUCKET = os.environ["S3_BUCKET_NAME"] def fetch_report() -> bytes: credentials = f"{WD_USER}:{WD_PASS}".encode() auth_header = b"Basic " + base64.b64encode(credentials) req = urllib.request.Request(WD_URL, headers={"Authorization": auth_header.decode()}) with urllib.request.urlopen(req, timeout=30) as r: return r.read() # raw JSON bytes def upload(payload: bytes, ts: dt.datetime) -> None: key = f"{ts:%Y/%m/%d}/workday-audit-{uuid.uuid4()}.json.gz" buf = io.BytesIO() with gzip.GzipFile(fileobj=buf, mode="w") as gz: gz.write(payload) buf.seek(0) boto3.client("s3").upload_fileobj(buf, S3_BUCKET, key) def lambda_handler(event=None, context=None): now = dt.datetime.utcnow().replace(microsecond=0) data = fetch_report() upload(data, now) print(f"Uploaded Workday audit report ({len(data)} bytes raw)") if __name__ == "__main__": lambda_handler()
Klicken Sie auf Konfiguration> Umgebungsvariablen> Bearbeiten> Neue Umgebungsvariable hinzufügen.
Geben Sie die folgenden Umgebungsvariablen ein und ersetzen Sie die Platzhalter durch Ihre Werte.
Umgebungsvariablen
Schlüssel Beispielwerte WD_USER
audit_s3_user
WD_PASS
Wrokday-Password
WD_URL
https://.../Audit_Trail_BP_JSON?format=json
S3_BUCKET_NAME
workday-audit-logs
Bleiben Sie nach dem Erstellen der Funktion auf der zugehörigen Seite oder öffnen Sie Lambda > Funktionen > Ihre‑Funktion.
Wählen Sie den Tab Konfiguration aus.
Klicken Sie im Bereich Allgemeine Konfiguration auf Bearbeiten.
Ändern Sie Zeitlimit in 5 Minuten (300 Sekunden) und klicken Sie auf Speichern.
Lambda-Funktion planen (EventBridge Scheduler)
- Gehen Sie zu Konfiguration > Trigger > Trigger hinzufügen > EventBridge Scheduler > Regel erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name:
daily-workday-audit export
. - Zeitplanmuster: Cron-Ausdruck.
- Ausdruck:
20 2 * * ? *
(wird täglich um 02:20 Uhr UTC ausgeführt).
- Name:
- Lassen Sie die restlichen Einstellungen unverändert und klicken Sie auf Erstellen.
Feed in Google SecOps konfigurieren, um Workday-Audit-Logs aufzunehmen
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf + Neuen Feed hinzufügen.
- Geben Sie im Feld Feed name einen Namen für den Feed ein, z. B.
Workday Audit Logs
. - Wählen Sie Amazon S3 V2 als Quelltyp aus.
- Wählen Sie Workday Audit als Logtyp aus.
- Klicken Sie auf Dienstkonto abrufen.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- S3-URI: Der Bucket-URI
s3://workday-audit-logs/
.- Ersetzen Sie
workday-audit-logs
durch den tatsächlichen Namen des Buckets.
- Ersetzen Sie
- Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option zum Löschen aus.
- Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
- Access Key ID (Zugriffsschlüssel-ID): Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
- Geheimer Zugriffsschlüssel: Geheimer Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.
- Asset-Namespace: Der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
- S3-URI: Der Bucket-URI
- Klicken Sie auf Weiter.
- Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Account |
metadata.event_type | Wenn das Feld „Konto“ nicht leer ist, wird das Feld „metadata.event_type“ auf „USER_RESOURCE_UPDATE_CONTENT“ festgelegt. |
Account |
principal.user.primaryId | Die Nutzer-ID wird mithilfe eines Grok-Musters aus dem Feld „Account“ extrahiert und principal.user.primaryId zugeordnet. |
Account |
principal.user.primaryName | Der Anzeigename des Nutzers wird mithilfe eines Grok-Musters aus dem Feld „Konto“ extrahiert und „principal.user.primaryName“ zugeordnet. |
ActivityCategory |
metadata.event_type | Wenn das Feld „ActivityCategory“ auf „READ“ festgelegt ist, wird das Feld „metadata.event_type“ auf „RESOURCE_READ“ festgelegt. Wenn „WRITE“, wird „RESOURCE_WRITTEN“ festgelegt. |
ActivityCategory |
metadata.product_event_type | Direkt aus dem Feld „ActivityCategory“ zugeordnet. |
AffectedGroups |
target.user.group_identifiers | Direkt aus dem Feld „AffectedGroups“ zugeordnet. |
Area |
target.resource.attribute.labels.area.value | Direkt aus dem Feld „Area“ (Bereich) zugeordnet. |
AuthType |
extensions.auth.auth_details | Direkt aus dem Feld „AuthType“ zugeordnet. |
AuthType |
extensions.auth.type | Wird anhand bestimmter Werte aus dem Feld „AuthType“ verschiedenen im UDM definierten Authentifizierungstypen zugeordnet. |
CFIPdeConexion |
src.domain.name | Wenn das Feld „CFIPdeConexion“ keine gültige IP-Adresse ist, wird es „src.domain.name“ zugeordnet. |
CFIPdeConexion |
target.ip | Wenn das Feld „CFIPdeConexion“ eine gültige IP-Adresse ist, wird es „target.ip“ zugeordnet. |
ChangedRelationship |
metadata.description | Direkt aus dem Feld „ChangedRelationship“ zugeordnet. |
ClassOfInstance |
target.resource.attribute.labels.class_instance.value | Direkt aus dem Feld „ClassOfInstance“ zugeordnet. |
column18 |
about.labels.utub.value | Direkt aus dem Feld „column18“ zugeordnet. |
CreatedBy |
principal.user.userid | Die Nutzer-ID wird mit einem Grok-Muster aus dem Feld „CreatedBy“ extrahiert und „principal.user.userid“ zugeordnet. |
CreatedBy |
principal.user.user_display_name | Der Anzeigename des Nutzers wird mit einem Grok-Muster aus dem Feld „CreatedBy“ extrahiert und „principal.user.user_display_name“ zugeordnet. |
Domain |
about.domain.name | Direkt aus dem Feld „Domain“ zugeordnet. |
EffectiveDate |
@timestamp | Wird in „@timestamp“ geparst, nachdem es in das Format „JJJJ-MM-TT HH:mm:ss.SSSZ“ konvertiert wurde. |
EntryMoment |
@timestamp | Wird nach der Konvertierung in das ISO8601-Format in „@timestamp“ geparst. |
EventType |
security_result.description | Direkt aus dem Feld „EventType“ zugeordnet. |
Form |
target.resource.name | Direkt aus dem Feld „Formular“ zugeordnet. |
InstancesAdded |
about.resource.attribute.labels.instances_added.value | Direkt aus dem Feld „InstancesAdded“ zugeordnet. |
InstancesAdded |
target.user.attribute.roles.instances_added.name | Direkt aus dem Feld „InstancesAdded“ zugeordnet. |
InstancesRemoved |
about.resource.attribute.labels.instances_removed.value | Direkt aus dem Feld „InstancesRemoved“ zugeordnet. |
InstancesRemoved |
target.user.attribute.roles.instances_removed.name | Direkt aus dem Feld „InstancesRemoved“ zugeordnet. |
IntegrationEvent |
target.resource.attribute.labels.integration_event.value | Direkt aus dem Feld „IntegrationEvent“ zugeordnet. |
IntegrationStatus |
security_result.action_details | Direkt aus dem Feld „IntegrationStatus“ zugeordnet. |
IntegrationSystem |
target.resource.name | Direkt aus dem Feld „IntegrationSystem“ zugeordnet. |
IP |
src.domain.name | Wenn das Feld „IP“ keine gültige IP-Adresse ist, wird es „src.domain.name“ zugeordnet. |
IP |
src.ip | Wenn das Feld „IP“ eine gültige IP-Adresse ist, wird es „src.ip“ zugeordnet. |
IsDeviceManaged |
additional.fields.additional1.value.string_value | Wenn das Feld „IsDeviceManaged“ den Wert „N“ hat, wird der Wert auf „Erfolgreich“ gesetzt. Andernfalls wird „Fehler bei der Anmeldung“ festgelegt. |
IsDeviceManaged |
additional.fields.additional2.value.string_value | Wenn das Feld „IsDeviceManaged“ den Wert „N“ hat, wird der Wert auf „Erfolgreich“ gesetzt. Andernfalls wird er auf „Ungültige Anmeldedaten“ gesetzt. |
IsDeviceManaged |
additional.fields.additional3.value.string_value | Wenn das Feld „IsDeviceManaged“ den Wert „N“ hat, wird der Wert auf „Erfolgreich“ gesetzt. Andernfalls wird er auf „Konto gesperrt“ gesetzt. |
IsDeviceManaged |
security_result.action_details | Direkt aus dem Feld „IsDeviceManaged“ zugeordnet. |
OutputFiles |
about.file.full_path | Direkt aus dem Feld „OutputFiles“ zugeordnet. |
Person |
principal.user.primaryId | Wenn das Feld „Person“ mit „INT“ beginnt, wird die Nutzer-ID mit einem Grok-Muster extrahiert und „principal.user.primaryId“ zugeordnet. |
Person |
principal.user.primaryName | Wenn das Feld „Person“ mit „INT“ beginnt, wird der Anzeigename des Nutzers mit einem Grok-Muster extrahiert und „principal.user.primaryName“ zugeordnet. |
Person |
principal.user.user_display_name | Wenn das Feld „Person“ nicht mit „INT“ beginnt, wird es direkt „principal.user.user_display_name“ zugeordnet. |
Person |
metadata.event_type | Wenn das Feld „Person“ nicht leer ist, wird das Feld „metadata.event_type“ auf „USER_RESOURCE_UPDATE_CONTENT“ gesetzt. |
ProcessedTransaction |
target.resource.attribute.creation_time | Wird in „target.resource.attribute.creation_time“ geparst,nachdem es in das Format „TT/MM/JJJJ HH:mm:ss,SSS (ZZZ)“, „TT/MM/JJJJ,HH:mm:ss,SSS (ZZZ)“ oder „MM/TT/JJJJ, HH:mm:ss.SSS A ZZZ“ konvertiert wurde. |
ProgramBy |
principal.user.userid | Direkt aus dem Feld „ProgramBy“ zugeordnet. |
RecurrenceEndDate |
principal.resource.attribute.last_update_time | Wird nach der Konvertierung in das Format „JJJJ-MM-TT“ in „principal.resource.attribute.last_update_time“ geparst. |
RecurrenceStartDate |
principal.resource.attribute.creation_time | Wird nach der Konvertierung in das Format „JJJJ-MM-TT“ in „principal.resource.attribute.creation_time“ geparst. |
RequestName |
metadata.description | Direkt aus dem Feld „RequestName“ zugeordnet. |
ResponseMessage |
security_result.summary | Direkt aus dem Feld „ResponseMessage“ zugeordnet. |
RestrictedToEnvironment |
security_result.about.hostname | Direkt aus dem Feld „RestrictedToEnvironment“ zugeordnet. |
RevokedSecurity |
security_result.outcomes.outcomes.value | Direkt aus dem Feld „RevokedSecurity“ zugeordnet. |
RunFrequency |
principal.resource.attribute.labels.run_frequency.value | Direkt aus dem Feld „RunFrequency“ zugeordnet. |
ScheduledProcess |
principal.resource.name | Direkt aus dem Feld „ScheduledProcess“ zugeordnet. |
SecuredTaskExecuted |
target.resource.name | Direkt aus dem Feld „SecuredTaskExecuted“ zugeordnet. |
SecureTaskExecuted |
metadata.event_type | Wenn das Feld „SecureTaskExecuted“ „Create“ enthält, wird das Feld „metadata.event_type“ auf „USER_RESOURCE_CREATION“ gesetzt. |
SecureTaskExecuted |
target.resource.name | Direkt aus dem Feld „SecureTaskExecuted“ zugeordnet. |
SentTime |
@timestamp | Wird nach der Konvertierung in das ISO8601-Format in „@timestamp“ geparst. |
SessionId |
network.session_id | Direkt aus dem Feld „SessionId“ zugeordnet. |
ShareBy |
target.user.userid | Direkt aus dem Feld „ShareBy“ zugeordnet. |
SignOffTime |
additional.fields.additional4.value.string_value | Der Feldwert „AuthFailMessage“ wird mit dem Schlüssel „Enterprise Interface Builder“ in das Array „additional.fields“ eingefügt. |
SignOffTime |
metadata.description | Direkt aus dem Feld „AuthFailMessage“ zugeordnet. |
SignOffTime |
metadata.event_type | Wenn das Feld „SignOffTime“ leer ist, wird das Feld „metadata.event_type“ auf „USER_LOGIN“ festgelegt. Andernfalls wird er auf „USER_LOGOUT“ gesetzt. |
SignOffTime |
principal.user.attribute.last_update_time | Wird nach der Konvertierung ins ISO8601-Format in „principal.user.attribute.last_update_time“ geparst. |
SignOnIp |
src.domain.name | Wenn das Feld „SignOnIp“ keine gültige IP-Adresse ist, wird es „src.domain.name“ zugeordnet. |
SignOnIp |
src.ip | Wenn das Feld „SignOnIp“ eine gültige IP-Adresse ist, wird es „src.ip“ zugeordnet. |
Status |
metadata.product_event_type | Direkt aus dem Feld „Status“ zugeordnet. |
SystemAccount |
principal.user.email_addresses | Die E‑Mail-Adresse wird mit einem Grok-Muster aus dem Feld „SystemAccount“ extrahiert und „principal.user.email_addresses“ zugeordnet. |
SystemAccount |
principal.user.primaryId | Die Nutzer-ID wird mit einem Grok-Muster aus dem Feld „SystemAccount“ extrahiert und „principal.user.primaryId“ zugeordnet. |
SystemAccount |
principal.user.primaryName | Der Anzeigename des Nutzers wird mit einem Grok-Muster aus dem Feld „SystemAccount“ extrahiert und „principal.user.primaryName“ zugeordnet. |
SystemAccount |
src.user.userid | Die sekundäre Nutzer-ID wird mit einem Grok-Muster aus dem Feld „SystemAccount“ extrahiert und „src.user.userid“ zugeordnet. |
SystemAccount |
src.user.user_display_name | Der Anzeigename des sekundären Nutzers wird mithilfe eines Grok-Musters aus dem Feld „SystemAccount“ extrahiert und „src.user.user_display_name“ zugeordnet. |
SystemAccount |
target.user.userid | Die Ziel-Nutzer-ID wird mit einem Grok-Muster aus dem Feld „SystemAccount“ extrahiert und „target.user.userid“ zugeordnet. |
Target |
target.user.user_display_name | Direkt aus dem Feld „Ziel“ übernommen. |
Template |
about.resource.name | Direkt aus dem Feld „Vorlage“ zugeordnet. |
Tenant |
target.asset.hostname | Direkt aus dem Feld „Mandant“ zugeordnet. |
TlsVersion |
network.tls.version | Direkt aus dem Feld „TlsVersion“ zugeordnet. |
Transaction |
security_result.action_details | Direkt aus dem Feld „Transaktion“ zugeordnet. |
TransactionType |
security_result.summary | Direkt aus dem Feld „TransactionType“ zugeordnet. |
TypeForm |
target.resource.resource_subtype | Direkt aus dem Feld „TypeForm“ zugeordnet. |
UserAgent |
network.http.parsed_user_agent | Wird aus dem Feld „UserAgent“ mit dem Filter „useragent“ geparst. |
UserAgent |
network.http.user_agent | Direkt aus dem Feld „UserAgent“ zugeordnet. |
WorkdayAccount |
target.user.user_display_name | Der Anzeigename des Nutzers wird mithilfe eines Grok-Musters aus dem Feld „WorkdayAccount“ extrahiert und „target.user.user_display_name“ zugeordnet. |
WorkdayAccount |
target.user.userid | Die Nutzer-ID wird mit einem Grok-Muster aus dem Feld „WorkdayAccount“ extrahiert und „target.user.userid“ zugeordnet. |
additional.fields.additional1.key | Auf „FailedSignOn“ festgelegt. | |
additional.fields.additional2.key | Auf „InvalidCredentials“ festlegen. | |
additional.fields.additional3.key | Legen Sie diesen Wert auf „AccountLocked“ fest. | |
additional.fields.additional4.key | Legen Sie diesen Wert auf „Enterprise Interface Builder“ fest. | |
metadata.event_type | Wird anfangs auf „GENERIC_EVENT“ gesetzt und dann basierend auf der Logik mit anderen Feldern aktualisiert. | |
metadata.event_type | Für bestimmte Ereignistypen auf „USER_CHANGE_PERMISSIONS“ festgelegt. | |
metadata.event_type | Für bestimmte Ereignistypen auf „RESOURCE_WRITTEN“ festgelegt. | |
metadata.log_type | Fest codiert auf „WORKDAY_AUDIT“. | |
metadata.product_name | Fest codiert auf „Enterprise Interface Builder“. | |
metadata.vendor_name | Fest codiert auf „Workday“. | |
principal.asset.category | Wird auf „Phone“ festgelegt, wenn das Feld „DeviceType“ den Wert „Phone“ hat. | |
principal.resource.resource_type | Wenn das Feld „ScheduledProcess“ nicht leer ist, wird der Wert „TASK“ fest codiert. | |
security_result.action | Wird basierend auf den Werten der Felder „FailedSignOn“, „IsDeviceManaged“, „InvalidCredentials“ und „AccountLocked“ auf „ALLOW“ oder „FAIL“ festgelegt. | |
security_result.summary | Wird auf „Erfolgreich“ oder auf bestimmte Fehlermeldungen basierend auf den Werten der Felder „FailedSignOn“, „IsDeviceManaged“, „InvalidCredentials“ und „AccountLocked“ festgelegt. | |
target.resource.resource_type | Für bestimmte Ereignistypen fest auf „TASK“ codiert. | |
target.resource.resource_type | Wenn das Feld „TypeForm“ nicht leer ist, wird der Wert fest auf „DATASET“ codiert. | |
message |
principal.user.email_addresses | Extrahiert die E-Mail-Adresse aus dem Feld „message“ mithilfe eines Grok-Musters und führt sie in „principal.user.email_addresses“ zusammen, wenn ein bestimmtes Muster gefunden wird. |
message |
src.user.userid | Löscht das Feld, wenn das Feld „event.idm.read_only_udm.principal.user.userid“ mit dem extrahierten „user_target“ aus dem Feld „message“ übereinstimmt. |
message |
src.user.user_display_name | Löscht das Feld, wenn das Feld „event.idm.read_only_udm.principal.user.userid“ mit dem extrahierten „user_target“ aus dem Feld „message“ übereinstimmt. |
message |
target.user.userid | Extrahiert die Nutzer-ID aus dem Feld „message“ mithilfe eines Grok-Musters und ordnet sie „target.user.userid“ zu, wenn ein bestimmtes Muster gefunden wird. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten