Akamai Enterprise Application Access-Logs erfassen
Parserversion:3.0
In diesem Dokument wird beschrieben, wie Sie Akamai Enterprise Application Access (EAA)-Logs mit Akamai Unified Log Streamer (ULS) und Bindplane in Google Security Operations aufnehmen. Akamai EAA ist eine Zero-Trust-Netzwerkzugriffslösung, die sicheren, identitätsbasierten Zugriff auf Unternehmensanwendungen ohne herkömmliches VPN bietet. EAA erzeugt Betriebsdaten in Form von Zugriffslogs, Administrator-Audit-Logs, Connector-Zustandsmesswerten, Geräteinventar und Verzeichniszustandsinformationen. Der Parser extrahiert Felder aus den JSON-Logs, führt Datentransformationen wie Stringkonvertierungen und IP-Adressenextraktion durch und ordnet diese Felder dem UDM zu. Dabei werden verschiedene Ereignistypen wie NETWORK_HTTP und USER_UNCATEGORIZED basierend auf dem Vorhandensein bestimmter Felder verarbeitet.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz.
- Ein Windows Server 2016- oder höher- oder Linux-Host mit
systemdzum Ausführen des BindPlane-Agents. - Linux-Host mit Python 3.9 oder höher oder eine containerisierte Umgebung (Docker oder Kubernetes) zum Ausführen von Unified Log Streamer.
- Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
- Akamai EAA-Mandant mit Administratorzugriff.
Akamai API-Anmeldedaten:
- Für Zugriffs- und Administrator-Audit-Feeds: EAA-Legacy-API-Schlüssel und ‑Secret (im Enterprise Center erstellt).
- Für Feeds zum Connector-Zustand, Geräteinventar und Verzeichniszustand: Akamai OPEN API-Anmeldedaten (EdgeGrid-Authentifizierung) mit LESE-SCHREIB-Zugriff auf die Enterprise Application Access API.
Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen
Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:
- Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
- Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
Option 1: Dienstkonto für die Chronicle API erstellen (empfohlen)
- Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
- Rufen Sie IAM & Verwaltung > Dienstkonten auf.
- Klicken Sie auf Dienstkonto erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B.
bindplane-ingest. - Dienstkontobeschreibung: Geben Sie eine Beschreibung ein, z. B.
Bindplane agent log ingestion.
- Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B.
- Klicken Sie auf Erstellen und fortfahren.
- Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle-Bearbeiter aus.
- Klicken Sie auf Weiter und dann auf Fertig.
- Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
- Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
- Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
- Speichern Sie die Schlüsseldatei als
ingestion-auth.jsonim Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.jsonunter Linux oderC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonunter Windows) oder aktualisieren Siecreds_file_pathinconfig.yaml, damit der Pfad mit dem Pfad übereinstimmt, in dem Sie die Datei speichern. - Rufen Sie IAM & Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporter-Konfiguration.
Option 2: Authentifizierungsdatei für die Aufnahme herunterladen (Legacy)
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
- Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organization Details (Organisationsdetails).
BindPlane-Agent installieren
Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Zusätzliche Installationsressourcen
Weitere Installationsoptionen finden Sie in der Installationsanleitung für den Bindplane-Agenten.
Bindplane-Agenten zum Erfassen von Logs und Senden an Google SecOps konfigurieren
Öffnen Sie die Konfigurationsdatei des Bindplane-Agents in einem Texteditor:
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"Bearbeiten Sie die Datei
config.yamlso:receivers: tcplog: listen_address: "0.0.0.0:5140" exporters: chronicle/akamai_eaa: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: '<CUSTOMER_ID>' endpoint: chronicle.googleapis.com log_type: 'AKAMAI_EAA' raw_log_field: body ingestion_labels: source: akamai_eaa service: pipelines: logs/akamai_eaa: receivers: - tcplog exporters: - chronicle/akamai_eaa
Ersetzen Sie Folgendes:
/path/to/ingestion-authentication-file.json: Der vollständige Pfad zur JSON-Schlüsseldatei des Dienstkontos (Option 1).- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
- Ersetzen Sie
<LOCATION>durch die Region Ihrer Google SecOps-Instanz (z. B.us,europeoderasia-southeast1). Der Exporteur stellt diesem Wert das Präfixchronicle.googleapis.comvoran. - Ersetzen Sie
<PROJECT_NUMBER>durch die Projektnummer aus IAM und Verwaltung > Einstellungen. <CUSTOMER_ID>: Die Google SecOps-Kundennummer.0.0.0.0:5140: Die IP-Adresse und der Port, auf dem Bindplane auf Anfragen warten soll. Passen Sie sie nach Bedarf für Ihre Umgebung an.
Legacy-Ingestion-API-Exporter
Wenn Sie die Datei zur Authentifizierung bei der Aufnahme aus Option 2 verwenden, ersetzen Sie den Block
exportersdurch Folgendes. Legen Sie fürcreds_file_pathden Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Siemalachiteingestion-pa.googleapis.comdurch Ihren regionalen Endpunkt (z. B.europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/akamai_eaa: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: 'AKAMAI_EAA' raw_log_field: body ingestion_labels: source: akamai_eaa
Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.
So starten Sie den Bindplane-Agent unter Linux neu:
Führen Sie dazu diesen Befehl aus:
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
So starten Sie den Bindplane-Agenten unter Windows neu:
Wählen Sie eine der folgenden Optionen aus:
- Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collector- Dienstkonsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
- Drücken Sie
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Akamai API-Anmeldedaten erstellen
Akamai EAA verwendet je nach Feedtyp zwei Arten von API-Anmeldedaten. Erstellen Sie die Anmeldedaten für die Feeds, die Sie erfassen möchten.
Anmeldedaten für die alte EAA API erstellen (für Zugriffs- und Administratorfeeds)
- Melden Sie sich im Akamai Control Center an.
- Wählen Sie im Hauptnavigationsmenü auf der linken Seite Enterprise Center aus.
- Gehen Sie zu Allgemeine Einstellungen > Einstellungen.
- Wählen Sie den Tab API-Schlüssel aus.
- Klicken Sie rechts oben auf Neuen API-Schlüssel generieren.
- Geben Sie einen Namen und eine Beschreibung für den API-Schlüssel ein.
Kopieren Sie auf dem Bestätigungsbildschirm den Schlüssel und das Secret.
Akamai OPEN API-Anmeldedaten erstellen (für Feeds zum Connector-Zustand, Geräteinventar und Verzeichniszustand)
- Melden Sie sich im Akamai Control Center an.
- Gehen Sie zu Kontoverwaltung > Identität und Zugriff.
- Wählen Sie den Tab API-Nutzer aus.
- Klicken Sie auf API-Client erstellen.
- Suchen Sie im Abschnitt APIs auswählen nach Enterprise Application Access und legen Sie die Zugriffsebene auf READ-WRITE fest.
- Nehmen Sie die restlichen Einstellungen vor und klicken Sie auf API-Client erstellen.
Klicken Sie auf Herunterladen, um die Anmeldedaten im
.edgerc-Format herunterzuladen, oder auf Kopieren, um sie in eine vorhandene.edgerc-Datei zu kopieren.
Datei mit den Anmeldedaten für .edgerc konfigurieren
Erstellen Sie die
.edgerc-Datei mit den Anmeldedaten auf dem System, auf dem ULS ausgeführt wird:touch ~/.edgercÖffnen Sie die Datei in einem Texteditor.
nano ~/.edgercFügen Sie Ihre Akamai-API-Anmeldedaten im folgenden Format hinzu:
[default] ; EAA Legacy API credentials (for access and admin feeds) eaa_api_host = manage.akamai-access.com eaa_api_key = <EAA_API_KEY> eaa_api_secret = <EAA_API_SECRET> ; Akamai OPEN API credentials (for conhealth, devinv, dirhealth feeds) host = <OPEN_API_HOST> client_token = <CLIENT_TOKEN> client_secret = <CLIENT_SECRET> access_token = <ACCESS_TOKEN>Sichern Sie die Datei mit den Anmeldedaten:
chmod 600 ~/.edgerc
Ersetzen Sie Folgendes:
<EAA_API_KEY>: Der EAA Legacy-API-Schlüssel (z. B.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).<EAA_API_SECRET>: Das API-Secret der Legacy-API von EAA.<OPEN_API_HOST>: Ihr Akamai OPEN API-Hostname (z. B.akaa-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net).<CLIENT_TOKEN>: Ihr Akamai OPEN API-Clienttoken (z. B.akab-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx).<CLIENT_SECRET>: Ihr Akamai OPEN API-Clientschlüssel.<ACCESS_TOKEN>: Ihr Akamai OPEN API-Zugriffstoken (z. B.akab-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx).
Akamai Unified Log Streamer installieren
ULS (Unified Log Streamer) ruft Logs über die Akamai-APIs aus Akamai EAA ab und streamt sie über TCP an den BindPlane-Agent. ULS ist eine Python-Anwendung, für die Python 3.9 oder höher erforderlich ist.
Linux-Installation (Python)
Klonen Sie das ULS-Repository:
git clone https://github.com/akamai/uls.git cd ulsULS-Python-Anforderungen installieren:
pip3 install -r bin/requirements.txtInstallieren Sie die EAA-CLI-Abhängigkeit:
git clone --depth 1 --single-branch https://github.com/akamai/cli-eaa.git ext/cli-eaa pip3 install -r ext/cli-eaa/requirements.txtInstallation prüfen:
python3 bin/uls.py --help
Docker-Installation
Rufen Sie das offizielle ULS-Docker-Image ab:
docker pull akamai/uls:latest
ULS für das Streamen von EAA-Logs an Bindplane konfigurieren
Befehlszeilenausführung (Test)
Führen Sie ULS mit TCP-Ausgabe aus, um Logs an den Bindplane-Agent zu streamen:
python3 bin/uls.py --input eaa \ --feed access \ --output tcp \ --host <BINDPLANE_HOST> \ --port 5140 \ --edgerc ~/.edgerc \ --section default
Ersetzen Sie Folgendes:
<BINDPLANE_HOST>: Die IP-Adresse oder der Hostname des Servers, auf dem der Bindplane-Agent ausgeführt wird.5140: Der Port, der im Bindplane-Empfängertcplogkonfiguriert ist.Wenn Sie mehrere Feedtypen streamen möchten, müssen Sie separate ULS-Instanzen ausführen:
# Access logs python3 bin/uls.py --input eaa --feed access --output tcp --host <BINDPLANE_HOST> --port 5140 --edgerc ~/.edgerc --section default # Admin audit logs python3 bin/uls.py --input eaa --feed admin --output tcp --host <BINDPLANE_HOST> --port 5140 --edgerc ~/.edgerc --section default # Connector health python3 bin/uls.py --input eaa --feed conhealth --output tcp --host <BINDPLANE_HOST> --port 5140 --edgerc ~/.edgerc --section default
Systemd-Dienst (Produktion)
Konfigurieren Sie für Produktionsbereitstellungen ULS als systemd-Dienst.
Erstellen Sie eine ULS-Konfigurationsdatei:
sudo mkdir -p /etc/uls sudo nano /etc/uls/eaa-access-tcp.confFügen Sie die folgende Konfiguration hinzu:
ULS_INPUT=eaa ULS_FEED=access ULS_OUTPUT=tcp ULS_HOST=<BINDPLANE_HOST> ULS_PORT=5140 ULS_EDGERC=/root/.edgerc ULS_SECTION=defaultErstellen Sie eine systemd-Dienstdatei:
sudo nano /etc/systemd/system/uls-eaa-access.serviceFügen Sie den folgenden Inhalt hinzu:
[Unit] Description=Unified Log Streamer - EAA Access Logs to Bindplane After=network.target [Service] Type=simple EnvironmentFile=/etc/uls/eaa-access-tcp.conf ExecStart=/usr/bin/python3 /opt/uls/bin/uls.py --input ${ULS_INPUT} --feed ${ULS_FEED} --output ${ULS_OUTPUT} --host ${ULS_HOST} --port ${ULS_PORT} --edgerc ${ULS_EDGERC} --section ${ULS_SECTION} Restart=always RestartSec=10 User=root [Install] WantedBy=multi-user.targetAktivieren und starten Sie den Dienst:
sudo systemctl daemon-reload sudo systemctl enable uls-eaa-access.service sudo systemctl start uls-eaa-access.servicePrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status uls-eaa-access.serviceLogs ansehen:
sudo journalctl -u uls-eaa-access.service -f
Wiederholen Sie die Schritte 1 bis 7 für jeden weiteren Feedtyp (admin, conhealth). Erstellen Sie dazu separate Konfigurations- und Dienstdateien mit unterschiedlichen Namen (z. B. uls-eaa-admin.service, uls-eaa-conhealth.service).
Docker Compose-Bereitstellung
docker-compose.yml-Datei erstellen:version: '3.8' services: uls-eaa-access: image: akamai/uls:latest container_name: uls-eaa-access restart: unless-stopped environment: - ULS_INPUT=eaa - ULS_FEED=access - ULS_OUTPUT=tcp - ULS_HOST=<BINDPLANE_HOST> - ULS_PORT=5140 volumes: - ~/.edgerc:/root/.edgerc:ro uls-eaa-admin: image: akamai/uls:latest container_name: uls-eaa-admin restart: unless-stopped environment: - ULS_INPUT=eaa - ULS_FEED=admin - ULS_OUTPUT=tcp - ULS_HOST=<BINDPLANE_HOST> - ULS_PORT=5140 volumes: - ~/.edgerc:/root/.edgerc:ro uls-eaa-conhealth: image: akamai/uls:latest container_name: uls-eaa-conhealth restart: unless-stopped environment: - ULS_INPUT=eaa - ULS_FEED=conhealth - ULS_OUTPUT=tcp - ULS_HOST=<BINDPLANE_HOST> - ULS_PORT=5140 volumes: - ~/.edgerc:/root/.edgerc:ro
Ersetzen Sie <BINDPLANE_HOST> durch die IP-Adresse oder den Hostnamen des Bindplane-Agent-Servers.
Starten Sie die Container:
docker compose up -dLogs ansehen:
docker compose logs -f
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
app |
target.application |
Der Wert nach dem Doppelpunkt im Feld app. |
apphost |
target.hostname |
Direkt zugeordnet. |
browser |
network.http.user_agent |
Direkt zugeordnet. |
bytes_in |
network.recieved_bytes |
Direkt zugeordnet. |
bytes_out |
network.sent_bytes |
Direkt zugeordnet. |
cc |
principal.location.country_or_region |
Direkt zugeordnet. |
client_id |
additional.fields.key: „Client Id“, additional.fields.value.string_value: client_id |
Wird bedingt zugeordnet, wenn client_id vorhanden ist. |
clientip |
principal.ip |
Direkt zugeordnet. |
cloud_zone |
principal.cloud.availability_zone |
Direkt zugeordnet. |
connector_resp_time |
security_result.detection_fields.key: „Connector-Antwortzeit“, security_result.detection_fields.value: connector_resp_time |
Wird bedingt zugeordnet, wenn connector_resp_time nicht leer oder „-“ ist. |
content_type |
additional.fields.key: „Inhaltstyp“, additional.fields.value.string_value: content_type |
Bedingt zugeordnet, wenn content_type vorhanden ist. |
datetime |
metadata.event_timestamp |
Wird aus dem Feld datetime im RFC 3339-Format geparst. |
deny_reason |
security_result.summary |
Direkt zugeordnet. |
device_type |
principal.platform, principal.platform_version |
Wird basierend auf dem Abgleich mit regulären Ausdrücken WINDOWS, LINUX oder MAC zugeordnet. Der Rohwert wird principal.platform_version zugeordnet. |
di |
metadata.ingestion_labels.key: „di“, metadata.ingestion_labels.value: di |
Direkt als Ingestionslabel zugeordnet. |
error_code |
additional.fields.key: „Fehlercode“, additional.fields.value.string_value: error_code |
Wird bedingt zugeordnet, wenn error_code vorhanden ist. |
event |
metadata.description |
Direkt zugeordnet. |
geo_city |
principal.location.city |
Direkt zugeordnet. |
geo_country |
principal.location.country_or_region |
Direkt zugeordnet. |
geo_state |
principal.location.state |
Direkt zugeordnet. |
groups |
principal.user.group_identifiers |
Direkt zugeordnet. |
http_method |
network.http.method |
Direkt zugeordnet. |
http_ver |
network.application_protocol, network.application_protocol_version |
Wird mit grok geparst, um Protokoll und Version zu extrahieren. |
idpinfo |
additional.fields.key: "IDP Info", additional.fields.value.string_value: idpinfo |
Wird bedingt zugeordnet, wenn idpinfo vorhanden ist. |
internal_host |
additional.fields.key: „Interner Host“, additional.fields.value.string_value: internal_host |
Wird bedingt zugeordnet, wenn internal_host vorhanden ist. |
metadata.log_type |
metadata.log_type |
Fest codiert auf „AKAMAI_EAA“. |
metadata.product_name |
metadata.product_name |
Fest codiert auf „AKAMAI_EAA“. |
metadata.vendor_name |
metadata.vendor_name |
Fest codiert auf „AKAMAI_EAA“. |
metadata.event_type |
metadata.event_type |
Wird durch Logik bestimmt: USER_UNCATEGORIZED, wenn uid vorhanden ist, NETWORK_HTTP, wenn sowohl principal.ip als auch target festgelegt sind, oder andernfalls GENERIC_EVENT. |
origin_host |
additional.fields.key: „Ursprungshost“, additional.fields.value.string_value: origin_host |
Wird bedingt zugeordnet, wenn origin_host vorhanden ist. |
origin_resp_time |
security_result.detection_fields.key: „Origin response time“ (Antwortzeit des Ursprungs), security_result.detection_fields.value: origin_resp_time |
Wird bedingt zugeordnet, wenn origin_resp_time nicht leer oder „-“ ist. |
os |
principal.platform |
Wird basierend auf dem Abgleich mit regulären Ausdrücken WINDOWS, MAC oder LINUX zugeordnet. |
port |
target.port |
Der Wert nach dem Doppelpunkt im Feld app. |
ral |
metadata.description |
Verkettete Werte des ral-Arrays, durch Kommas getrennt. |
referer |
network.http.referral_url |
Direkt zugeordnet. |
resource |
principal.resource.attribute.labels.key: "Resource", principal.resource.attribute.labels.value: resource |
Bedingt zugeordnet, wenn resource vorhanden ist. |
resource_type |
principal.resource.attribute.labels.key: „Ressourcentyp“, principal.resource.attribute.labels.value: resource_type |
Bedingt zugeordnet, wenn resource_type vorhanden ist. |
rscd |
metadata.ingestion_labels.key: „rscd“, metadata.ingestion_labels.value: rscd |
Direkt als Aufnahme-Label zugeordnet. |
session_id |
network.session_id |
Direkt zugeordnet. |
session_info |
additional.fields.key: „Sitzungsinformationen“, additional.fields.value.string_value: session_info |
Bedingt zugeordnet, wenn session_info vorhanden ist. |
state |
principal.location.state |
Direkt zugeordnet. |
status_code |
network.http.response_code |
Direkt zugeordnet. |
total_resp_time |
security_result.detection_fields.key: „Gesamte Antwortzeit“, security_result.detection_fields.value: total_resp_time |
Wird bedingt zugeordnet, wenn total_resp_time nicht leer oder „-“ ist. |
ts |
metadata.event_timestamp |
Wird aus dem Feld ts als UNIX-Millisekunden oder -Sekunden geparst, falls vorhanden, andernfalls aus dem Feld datetime. |
uid |
principal.user.userid |
Direkt zugeordnet. |
uip |
principal.ip |
Direkt zugeordnet. |
url_path |
target.url |
Direkt zugeordnet. |
user_agent |
network.http.user_agent, network.http.parsed_user_agent |
Direkt zugeordnet und in ein strukturiertes parsed_user_agent-Feld geparst. |
username |
principal.user.email_addresses oder principal.user.userid |
Wird email_addresses zugeordnet, wenn es wie eine E-Mail-Adresse aussieht, andernfalls userid. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten