Slack-Audit-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Slack-Audit-Logs mit Google Cloud Run-Funktionen oder Amazon S3 mit AWS Lambda in Google Security Operations aufnehmen.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Slack Enterprise Grid-Abo mit Organization Owner- oder Admin-Zugriff
- Privilegierter Zugriff auf Folgendes:
- Google Cloud (für Option 1: Cloud Run-Funktionen und Cloud Scheduler)
- AWS (für Option 2: S3, IAM, Lambda, EventBridge)
Voraussetzungen für das Erfassen von Slack-Audit-Logs (App-ID, OAuth-Token, Organisations-ID)
Für die Slack Audit Logs API ist ein User-OAuth-Token mit dem Bereich auditlogs:read erforderlich. Dieses Token muss durch die Installation einer App auf Enterprise Grid-Organisationsebene und nicht auf Arbeitsbereichsebene abgerufen werden.
Slack-App für Audit-Logs erstellen
- Melden Sie sich mit einem Konto als Organisationsinhaber von Enterprise Grid oder Administrator in der Slack-Admin-Konsole an.
- Rufen Sie https://api.slack.com/apps auf und klicken Sie auf Create New App > From scratch (Neue App erstellen > Von Grund auf).
- Geben Sie die folgenden Konfigurationsdetails an:
- App-Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Google SecOps Audit Integration. - Arbeitsbereich für die Entwicklung Ihrer App auswählen: Wählen Sie Ihren Slack-Entwicklungsarbeitsbereich aus (ein beliebiger Arbeitsbereich in der Organisation).
- App-Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie auf Anwendung erstellen.
OAuth-Bereiche konfigurieren
- Rufen Sie in der linken Seitenleiste OAuth & Permissions (OAuth und Berechtigungen) auf.
- Wechseln Sie zum Abschnitt Bereiche.
- Klicken Sie unter Bereiche für Nutzer-Token (NICHT Bereiche für Bot-Token) auf OAuth-Bereich hinzufügen.
- Fügen Sie den Bereich hinzu:
auditlogs:read.
Öffentlichen Vertrieb aktivieren
- Klicken Sie in der linken Seitenleiste auf Manage Distribution (Verteilung verwalten).
- Prüfen Sie unter Anwendung für andere Arbeitsbereiche freigeben, ob alle vier Abschnitte grüne Häkchen haben:
- Fest codierte Informationen entfernen
- Öffentliche Bereitstellung aktivieren
- Weiterleitungs-URL festlegen
- OAuth-Bereich hinzufügen
- Klicken Sie auf Öffentliche Bereitstellung aktivieren.
App in einer Enterprise Grid-Organisation installieren
- Rufen Sie in der linken Seitenleiste OAuth & Permissions (OAuth und Berechtigungen) auf.
- Klicken Sie auf In Organisation installieren (NICHT „In Workspace installieren“).
WICHTIG:Prüfen Sie im Drop-down-Menü rechts oben auf dem Installationsbildschirm, ob Sie die App in der Unternehmensorganisation und nicht in einem einzelnen Arbeitsbereich installieren.
- Prüfen Sie die angeforderten Berechtigungen und klicken Sie auf Zulassen.
- Nach Abschluss der Autorisierung werden Sie zur Seite OAuth & Berechtigungen zurückgeleitet.
Anmeldedaten abrufen
- Suchen Sie unter OAuth-Tokens für Ihren Arbeitsbereich nach dem OAuth-Nutzer-Token.
Kopieren und speichern Sie das Token, das mit
xoxp-beginnt (z. B.xoxp-1234567890-0987654321-1234567890-abc123def456).Notieren Sie sich Ihre Organisations-ID:
- Rufen Sie die Slack-Admin-Konsole auf.
- Gehen Sie zu Einstellungen und Berechtigungen > Organisationseinstellungen.
- Kopieren Sie die Organisations-ID.
Option 1: Export von Slack-Audit-Logs mit Google Cloud Run Functions konfigurieren
Bei dieser Option werden Google Cloud Run-Funktionen und Cloud Scheduler verwendet, um Slack-Audit-Logs zu erfassen und direkt in Google SecOps aufzunehmen.
Verzeichnis einrichten
- Erstellen Sie auf Ihrem lokalen Computer ein neues Verzeichnis für die Bereitstellung der Cloud Run-Funktion.
- Laden Sie die folgenden Dateien aus dem GitHub-Repository für Chronicle-Aufnahmeskripts herunter:
- Laden Sie aus dem Ordner slack Folgendes herunter:
.env.ymlmain.pyrequirements.txt
- Laden Sie aus dem Stammverzeichnis des Repository das gesamte Verzeichnis common mit allen Dateien herunter:
common/__init__.pycommon/auth.pycommon/env_constants.pycommon/ingest.pycommon/status.pycommon/utils.py
- Laden Sie aus dem Ordner slack Folgendes herunter:
- Legen Sie alle heruntergeladenen Dateien in Ihrem Bereitstellungsverzeichnis ab.
Die Verzeichnisstruktur sollte so aussehen:
deployment_directory/ ├─common/ │ ├─__init__.py │ ├─auth.py │ ├─env_constants.py │ ├─ingest.py │ ├─status.py │ └─utils.py ├─.env.yml ├─main.py └─requirements.txt
Secrets in Google Secret Manager erstellen
- Rufen Sie in der Google Cloud Console Sicherheit > Secret Manager auf.
- Klicken Sie auf Secret erstellen.
- Geben Sie die folgenden Konfigurationsdetails für das Chronicle-Dienstkonto an:
- Name: Geben Sie
chronicle-service-accountein. - Secret-Wert: Fügen Sie den Inhalt Ihrer JSON-Datei für die Google SecOps-Aufnahmeauthentifizierung ein.
- Name: Geben Sie
- Klicken Sie auf Secret erstellen.
- Kopieren Sie den Namen der Secret-Ressource im Format
projects/<PROJECT_ID>/secrets/chronicle-service-account/versions/latest. - Klicken Sie noch einmal auf Secret erstellen, um ein zweites Secret zu erstellen.
- Geben Sie die folgenden Konfigurationsdetails für das Slack-Token an:
- Name: Geben Sie
slack-admin-tokenein. - Geheimer Schlüsselwert: Fügen Sie Ihr Slack-Nutzer-OAuth-Token ein (beginnend mit
xoxp-).
- Name: Geben Sie
- Klicken Sie auf Secret erstellen.
- Kopieren Sie den Namen der Secret-Ressource im Format
projects/<PROJECT_ID>/secrets/slack-admin-token/versions/latest.
Erforderliche Laufzeit-Umgebungsvariablen festlegen
- Öffnen Sie die Datei
.env.ymlin Ihrem Bereitstellungsverzeichnis. Konfigurieren Sie die Umgebungsvariablen mit Ihren Werten:
CHRONICLE_CUSTOMER_ID: "<your-chronicle-customer-id>" CHRONICLE_REGION: us CHRONICLE_SERVICE_ACCOUNT: "projects/<PROJECT_ID>/secrets/chronicle-service-account/versions/latest" CHRONICLE_NAMESPACE: "" POLL_INTERVAL: "5" SLACK_ADMIN_TOKEN: "projects/<PROJECT_ID>/secrets/slack-admin-token/versions/latest"- Dabei gilt:
<your-chronicle-customer-id>: Ihre Google SecOps-Kundennummer.<PROJECT_ID>: Ihre Google Cloud Projekt-ID- CHRONICLE_REGION: Auf Ihre Google SecOps-Region festgelegt. Gültige Werte:
us,asia-northeast1,asia-south1,asia-southeast1,australia-southeast1,europe,europe-west2,europe-west3,europe-west6,europe-west9,europe-west12,me-central1,me-central2,me-west1,northamerica-northeast2,southamerica-east1. - POLL_INTERVAL: Häufigkeitsintervall (in Minuten), in dem die Funktion ausgeführt wird. Diese Dauer muss mit dem Intervall des Cloud Scheduler-Jobs übereinstimmen.
- Dabei gilt:
Speichern Sie die Datei
.env.yml.
Cloud Run-Funktion bereitstellen
- Öffnen Sie ein Terminal oder eine Cloud Shell in der Google Cloud Console.
Wechseln Sie zu Ihrem Bereitstellungsverzeichnis:
cd /path/to/deployment_directoryFühren Sie den folgenden Befehl aus, um die Cloud Run-Funktion bereitzustellen:
gcloud functions deploy slack-audit-to-chronicle \ --entry-point main \ --trigger-http \ --runtime python39 \ --env-vars-file .env.yml \ --timeout 300s \ --memory 512MB \ --service-account <SERVICE_ACCOUNT_EMAIL>Ersetzen Sie
<SERVICE_ACCOUNT_EMAIL>durch die E-Mail-Adresse des Dienstkontos, das von Ihrer Cloud Run-Funktion verwendet werden soll.
Warten Sie, bis die Bereitstellung abgeschlossen ist.
Notieren Sie sich nach der Bereitstellung die Funktions-URL aus der Ausgabe.
Cloud Scheduler einrichten
- Rufen Sie in der Google Cloud Console Cloud Scheduler > Job erstellen auf.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie
slack-audit-schedulerein. - Region: Wählen Sie dieselbe Region aus, in der Sie die Cloud Run-Funktion bereitgestellt haben.
- Häufigkeit: Geben Sie
*/5 * * * *ein (wird alle 5 Minuten ausgeführt, passend zum WertPOLL_INTERVAL). - Zeitzone: Wählen Sie UTC aus.
- Zieltyp: Wählen Sie HTTP aus.
- URL: Geben Sie die Cloud Run-Funktions-URL aus der Bereitstellungsausgabe ein.
- HTTP-Methode: Wählen Sie POST aus.
- Auth-Header: Wählen Sie OIDC-Token hinzufügen aus.
- Dienstkonto: Wählen Sie dasselbe Dienstkonto aus, das für die Cloud Run-Funktion verwendet wird.
- Name: Geben Sie
- Klicken Sie auf Erstellen.
Option 2: Export von Slack-Audit-Logs mit AWS S3 konfigurieren
Bei dieser Option werden AWS Lambda verwendet, um Slack-Audit-Logs zu erfassen und in S3 zu speichern. Anschließend wird ein Google SecOps-Feed konfiguriert, um die Logs aufzunehmen.
AWS S3-Bucket und IAM für Google SecOps konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung (z. B.
slack-audit-logs). - Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Bereich Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie als Anwendungsfall Drittanbieterdienst 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) zur späteren 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.
IAM-Richtlinie und ‑Rolle für S3-Uploads konfigurieren
- Rufen Sie in der AWS-Konsole IAM > Richtlinien > Richtlinie erstellen > Tab „JSON“ auf.
Kopieren Sie die folgende Richtlinie und fügen Sie sie ein.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPutObjects", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::slack-audit-logs/*" }, { "Sid": "AllowGetStateObject", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::slack-audit-logs/slack/audit/state.json" } ] }- Ersetzen Sie
slack-audit-logs, wenn Sie einen anderen Bucket-Namen eingegeben haben.
- Ersetzen Sie
Klicken Sie auf Weiter.
Geben Sie den Richtliniennamen
SlackAuditS3Policyein.Klicken Sie auf Richtlinie erstellen.
Rufen Sie IAM > Rollen > Rolle erstellen > AWS-Service > Lambda auf.
Hängen Sie die neu erstellte Richtlinie
SlackAuditS3Policyan.Geben Sie der Rolle den Namen
SlackAuditToS3Roleund klicken Sie auf Rolle erstellen.
Lambda-Funktion erstellen
- Rufen Sie in der AWS Console Lambda > Funktionen > Funktion erstellen auf.
- Klicken Sie auf Von Grund auf erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Name slack_audit_to_s3Laufzeit Python 3.13 Architektur x86_64 Ausführungsrolle SlackAuditToS3RoleKlicken Sie auf Funktion erstellen.
Nachdem die Funktion erstellt wurde, öffnen Sie den Tab Code, löschen Sie den Stub und geben Sie den folgenden Code ein (
slack_audit_to_s3.py):#!/usr/bin/env python3 # Lambda: Pull Slack Audit Logs (Enterprise Grid) to S3 (no transform) import os, json, time, urllib.parse from urllib.request import Request, urlopen from urllib.error import HTTPError, URLError import boto3 BASE_URL = "https://api.slack.com/audit/v1/logs" TOKEN = os.environ["SLACK_AUDIT_TOKEN"] # org-level user token with auditlogs:read BUCKET = os.environ["S3_BUCKET"] PREFIX = os.environ.get("S3_PREFIX", "slack/audit/") STATE_KEY = os.environ.get("STATE_KEY", "slack/audit/state.json") LIMIT = int(os.environ.get("LIMIT", "200")) # Slack recommends <= 200 MAX_PAGES = int(os.environ.get("MAX_PAGES", "20")) LOOKBACK_SEC = int(os.environ.get("LOOKBACK_SECONDS", "3600")) # First-run window HTTP_TIMEOUT = int(os.environ.get("HTTP_TIMEOUT", "60")) HTTP_RETRIES = int(os.environ.get("HTTP_RETRIES", "3")) RETRY_AFTER_DEFAULT = int(os.environ.get("RETRY_AFTER_DEFAULT", "2")) # Optional server-side filters (comma-separated "action" values), empty means no filter ACTIONS = os.environ.get("ACTIONS", "").strip() s3 = boto3.client("s3") def _get_state() -> dict: try: obj = s3.get_object(Bucket=BUCKET, Key=STATE_KEY) st = json.loads(obj["Body"].read() or b"{}") return {"cursor": st.get("cursor")} except Exception: return {"cursor": None} def _put_state(state: dict) -> None: body = json.dumps(state, separators=(",", ":")).encode("utf-8") s3.put_object(Bucket=BUCKET, Key=STATE_KEY, Body=body, ContentType="application/json") def _http_get(params: dict) -> dict: qs = urllib.parse.urlencode(params, doseq=True) url = f"{BASE_URL}?{qs}" if qs else BASE_URL req = Request(url, method="GET") req.add_header("Authorization", f"Bearer {TOKEN}") req.add_header("Accept", "application/json") attempt = 0 while True: try: with urlopen(req, timeout=HTTP_TIMEOUT) as r: return json.loads(r.read().decode("utf-8")) except HTTPError as e: # Respect Retry-After on 429/5xx if e.code in (429, 500, 502, 503, 504) and attempt < HTTP_RETRIES: retry_after = 0 try: retry_after = int(e.headers.get("Retry-After", RETRY_AFTER_DEFAULT)) except Exception: retry_after = RETRY_AFTER_DEFAULT time.sleep(max(1, retry_after)) attempt += 1 continue # Re-raise other HTTP errors raise except URLError: if attempt < HTTP_RETRIES: time.sleep(RETRY_AFTER_DEFAULT) attempt += 1 continue raise def _write_page(payload: dict, page_idx: int) -> str: ts = time.strftime("%Y/%m/%d/%H%M%S", time.gmtime()) key = f"{PREFIX}{ts}-slack-audit-p{page_idx:05d}.json" body = json.dumps(payload, separators=(",", ":")).encode("utf-8") s3.put_object(Bucket=BUCKET, Key=key, Body=body, ContentType="application/json") return key def lambda_handler(event=None, context=None): state = _get_state() cursor = state.get("cursor") params = {"limit": LIMIT} if ACTIONS: params["action"] = [a.strip() for a in ACTIONS.split(",") if a.strip()] if cursor: params["cursor"] = cursor else: # First run (or reset): fetch a recent window by time params["oldest"] = int(time.time()) - LOOKBACK_SEC pages = 0 total = 0 last_cursor = None while pages < MAX_PAGES: data = _http_get(params) _write_page(data, pages) entries = data.get("entries") or [] total += len(entries) # Cursor for next page meta = data.get("response_metadata") or {} next_cursor = meta.get("next_cursor") or data.get("next_cursor") if next_cursor: params = {"limit": LIMIT, "cursor": next_cursor} if ACTIONS: params["action"] = [a.strip() for a in ACTIONS.split(",") if a.strip()] last_cursor = next_cursor pages += 1 continue break if last_cursor: _put_state({"cursor": last_cursor}) return {"ok": True, "pages": pages + (1 if total or last_cursor else 0), "entries": total, "cursor": last_cursor} if __name__ == "__main__": print(lambda_handler())Klicken Sie auf Konfiguration > Umgebungsvariablen > Bearbeiten > Umgebungsvariable hinzufügen.
Geben Sie die folgenden Umgebungsvariablen ein und ersetzen Sie die Platzhalter durch Ihre Werte.
Schlüssel Beispielwert S3_BUCKETslack-audit-logsS3_PREFIXslack/audit/STATE_KEYslack/audit/state.jsonSLACK_AUDIT_TOKENxoxp-***(Nutzer-Token auf Organisationsebene mitauditlogs:read)LIMIT200MAX_PAGES20LOOKBACK_SECONDS3600HTTP_TIMEOUT60HTTP_RETRIES3RETRY_AFTER_DEFAULT2ACTIONS(optional, CSV) user_login,app_installedKlicken Sie auf Speichern.
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.
EventBridge-Zeitplan erstellen
- Gehen Sie zu Amazon EventBridge > Scheduler > Create schedule (Amazon EventBridge > Scheduler > Zeitplan erstellen).
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie
slack-audit-1hein. - Wiederkehrender Zeitplan: Wählen Sie Ratenbasierter Zeitplan aus.
- Raten-Ausdruck: Geben Sie
1Stunden ein. - Flexibles Zeitfenster: Wählen Sie Aus aus.
- Name: Geben Sie
- Klicken Sie auf Weiter.
- Wählen Sie Ziel aus:
- Ziel-API: Wählen Sie AWS Lambda Invoke aus.
- Lambda-Funktion: Wählen Sie
slack_audit_to_s3aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Weiter (optionale Einstellungen überspringen).
- Prüfen Sie den Zeitplan und klicken Sie auf Zeitplan erstellen.
Optional: IAM-Nutzer mit Lesezugriff und Schlüssel für Google SecOps erstellen
- Rufen Sie die AWS-Konsole > IAM > Nutzer > Nutzer hinzufügen auf.
- Klicken Sie auf Add users (Nutzer hinzufügen).
- Geben Sie die folgenden Konfigurationsdetails an:
- Nutzer: Geben Sie
secops-readerein. - Zugriffstyp: Wählen Sie Zugriffsschlüssel – programmatischer Zugriff aus.
- Nutzer: Geben Sie
- Klicken Sie auf Nutzer erstellen.
- Minimale Leseberechtigung (benutzerdefiniert) anhängen: Nutzer > secops-reader > Berechtigungen > Berechtigungen hinzufügen > Richtlinien direkt anhängen > Richtlinie erstellen.
Geben Sie im JSON-Editor die folgende Richtlinie ein:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::slack-audit-logs/*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::slack-audit-logs" } ] }Klicken Sie auf Weiter.
Geben Sie den Richtliniennamen
secops-reader-policyein.Klicken Sie auf Richtlinie erstellen.
Kehren Sie zur Seite zur Nutzererstellung zurück, aktualisieren Sie die Richtlinienliste und wählen Sie
secops-reader-policyaus.Klicken Sie auf Weiter.
Klicken Sie auf Nutzer erstellen.
Wählen Sie den erstellten Nutzer
secops-readeraus.Rufen Sie Sicherheitsanmeldedaten > Zugriffsschlüssel > Zugriffsschlüssel erstellen auf.
Wählen Sie Drittanbieterdienst aus.
Klicken Sie auf Weiter.
Klicken Sie auf Zugriffsschlüssel erstellen.
Klicken Sie auf CSV-Datei herunterladen, um die Anmeldedaten zu speichern.
Feed in Google SecOps konfigurieren, um Slack-Audit-Logs aufzunehmen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Slack Audit Logs. - Wählen Sie Amazon S3 V2 als Quelltyp aus.
- Wählen Sie Slack Audit als Logtyp aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- S3-URI:
s3://slack-audit-logs/slack/audit/ - 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.
- Zugriffsschlüssel-ID: Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket (aus
secops-reader). - Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket (aus
secops-reader). - Asset-Namespace: Der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- S3-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 |
|---|---|---|
action |
metadata.product_event_type |
Direkt aus dem Feld action im Rohlog zugeordnet. |
actor.type |
principal.labels.value |
Direkt aus dem Feld actor.type zugeordnet, mit dem Schlüssel actor.type. |
actor.user.email |
principal.user.email_addresses |
Direkt aus dem Feld actor.user.email zugeordnet. |
actor.user.id |
principal.user.product_object_id |
Direkt aus dem Feld actor.user.id zugeordnet. |
actor.user.id |
principal.user.userid |
Direkt aus dem Feld actor.user.id zugeordnet. |
actor.user.name |
principal.user.user_display_name |
Direkt aus dem Feld actor.user.name zugeordnet. |
actor.user.team |
principal.user.group_identifiers |
Direkt aus dem Feld actor.user.team zugeordnet. |
context.ip_address |
principal.ip |
Direkt aus dem Feld context.ip_address zugeordnet. |
context.location.domain |
about.resource.attribute.labels.value |
Direkt aus dem Feld context.location.domain zugeordnet, mit dem Schlüssel context.location.domain. |
context.location.id |
about.resource.id |
Direkt aus dem Feld context.location.id zugeordnet. |
context.location.name |
about.resource.name |
Direkt aus dem Feld context.location.name zugeordnet. |
context.location.name |
about.resource.attribute.labels.value |
Direkt aus dem Feld context.location.name zugeordnet, mit dem Schlüssel context.location.name. |
context.location.type |
about.resource.resource_subtype |
Direkt aus dem Feld context.location.type zugeordnet. |
context.session_id |
network.session_id |
Direkt aus dem Feld context.session_id zugeordnet. |
context.ua |
network.http.user_agent |
Direkt aus dem Feld context.ua zugeordnet. |
context.ua |
network.http.parsed_user_agent |
Geparte User-Agent-Informationen, die aus dem Feld context.ua mit dem Filter parseduseragent abgeleitet wurden. |
country |
principal.location.country_or_region |
Direkt aus dem Feld country zugeordnet. |
date_create |
metadata.event_timestamp.seconds |
Der Epoch-Zeitstempel aus dem Feld date_create wird in ein Zeitstempelobjekt konvertiert. |
details.inviter.email |
target.user.email_addresses |
Direkt aus dem Feld details.inviter.email zugeordnet. |
details.inviter.id |
target.user.product_object_id |
Direkt aus dem Feld details.inviter.id zugeordnet. |
details.inviter.name |
target.user.user_display_name |
Direkt aus dem Feld details.inviter.name zugeordnet. |
details.inviter.team |
target.user.group_identifiers |
Direkt aus dem Feld details.inviter.team zugeordnet. |
details.reason |
security_result.description |
Direkt aus dem Feld details.reason zugeordnet oder, falls es sich um ein Array handelt, durch Kommas verkettet. |
details.type |
about.resource.attribute.labels.value |
Direkt aus dem Feld details.type zugeordnet, mit dem Schlüssel details.type. |
details.type |
security_result.summary |
Direkt aus dem Feld details.type zugeordnet. |
entity.app.id |
target.resource.id |
Direkt aus dem Feld entity.app.id zugeordnet. |
entity.app.name |
target.resource.name |
Direkt aus dem Feld entity.app.name zugeordnet. |
entity.channel.id |
target.resource.id |
Direkt aus dem Feld entity.channel.id zugeordnet. |
entity.channel.name |
target.resource.name |
Direkt aus dem Feld entity.channel.name zugeordnet. |
entity.channel.privacy |
target.resource.attribute.labels.value |
Direkt aus dem Feld entity.channel.privacy zugeordnet, mit dem Schlüssel entity.channel.privacy. |
entity.file.filetype |
target.resource.attribute.labels.value |
Direkt aus dem Feld entity.file.filetype zugeordnet, mit dem Schlüssel entity.file.filetype. |
entity.file.id |
target.resource.id |
Direkt aus dem Feld entity.file.id zugeordnet. |
entity.file.name |
target.resource.name |
Direkt aus dem Feld entity.file.name zugeordnet. |
entity.file.title |
target.resource.attribute.labels.value |
Direkt aus dem Feld entity.file.title zugeordnet, mit dem Schlüssel entity.file.title. |
entity.huddle.date_end |
about.resource.attribute.labels.value |
Direkt aus dem Feld entity.huddle.date_end zugeordnet, mit dem Schlüssel entity.huddle.date_end. |
entity.huddle.date_start |
about.resource.attribute.labels.value |
Direkt aus dem Feld entity.huddle.date_start zugeordnet, mit dem Schlüssel entity.huddle.date_start. |
entity.huddle.id |
about.resource.attribute.labels.value |
Direkt aus dem Feld entity.huddle.id zugeordnet, mit dem Schlüssel entity.huddle.id. |
entity.huddle.participants.0 |
about.resource.attribute.labels.value |
Direkt aus dem Feld entity.huddle.participants.0 zugeordnet, mit dem Schlüssel entity.huddle.participants.0. |
entity.huddle.participants.1 |
about.resource.attribute.labels.value |
Direkt aus dem Feld entity.huddle.participants.1 zugeordnet, mit dem Schlüssel entity.huddle.participants.1. |
entity.type |
target.resource.resource_subtype |
Direkt aus dem Feld entity.type zugeordnet. |
entity.user.email |
target.user.email_addresses |
Direkt aus dem Feld entity.user.email zugeordnet. |
entity.user.id |
target.user.product_object_id |
Direkt aus dem Feld entity.user.id zugeordnet. |
entity.user.name |
target.user.user_display_name |
Direkt aus dem Feld entity.user.name zugeordnet. |
entity.user.team |
target.user.group_identifiers |
Direkt aus dem Feld entity.user.team zugeordnet. |
entity.workflow.id |
target.resource.id |
Direkt aus dem Feld entity.workflow.id zugeordnet. |
entity.workflow.name |
target.resource.name |
Direkt aus dem Feld entity.workflow.name zugeordnet. |
id |
metadata.product_log_id |
Direkt aus dem Feld id zugeordnet. |
ip |
principal.ip |
Direkt aus dem Feld ip zugeordnet. Wird durch Logik basierend auf dem Feld action bestimmt. Der Standardwert ist USER_COMMUNICATION. Er ändert sich jedoch in andere Werte wie USER_CREATION, USER_LOGIN, USER_LOGOUT, USER_RESOURCE_ACCESS, USER_RESOURCE_UPDATE_PERMISSIONS oder USER_CHANGE_PERMISSIONS, je nach Wert von action. Fest codiert auf „SLACK_AUDIT“. Auf „Enterprise Grid“ festgelegt, wenn date_create vorhanden ist, andernfalls auf „Audit-Logs“, wenn user_id vorhanden ist. Fest codiert auf „Slack“. Fest codiert auf „REMOTE“. Auf „SSO“ festgelegt, wenn action „user_login“ oder „user_logout“ enthält. Andernfalls auf „MACHINE“ setzen. Nicht in den bereitgestellten Beispielen zugeordnet. Der Standardwert ist „ALLOW“, wird aber auf „BLOCK“ gesetzt, wenn action „user_login_failed“ ist. Auf „Slack“ setzen, wenn date_create vorhanden ist, andernfalls auf „SLACK“, wenn user_id vorhanden ist. |
user_agent |
network.http.user_agent |
Direkt aus dem Feld user_agent zugeordnet. |
user_id |
principal.user.product_object_id |
Direkt aus dem Feld user_id zugeordnet. |
username |
principal.user.product_object_id |
Direkt aus dem Feld username zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten