Logging in Google SecOps einbinden

In diesem Dokument wird beschrieben, wie Sie Cloud Logging in Google Security Operations einbinden.

Anwendungsfälle

Die Logging -Integration verwendet Google SecOps-Funktionen, um die folgenden Anwendungsfälle zu unterstützen:

  • Forensische Log-Abrufe: Führen Sie erweiterte Abfragen aus, um bei einer Untersuchung bestimmte Sicherheits ereignisse in Ihrer Google Cloud Umgebung zu finden.

  • Automatisierte Bedrohungsanalyse: Verwenden Sie Playbooks, um Logs regelmäßig nach bekannten Kompromittierungsindikatoren (Indicators of Compromise, IoCs) oder verdächtigen Mustern zu durchsuchen.

Hinweis

Bevor Sie die Logging -Integration in Google SecOps konfigurieren, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein Dienstkonto und weisen Sie ihm die erforderlichen Rollen zu.

  2. Wählen Sie eine der folgenden Authentifizierungsmethoden aus und konfigurieren Sie sie:

    • Option 1: Workload Identity (empfohlen): Bei dieser Methode werden kurzlebige, temporäre Zugriffstokens über die Dienstkonto Identitätsübernahme verwendet, sodass Sie keine Secrets speichern müssen.

    • Option 2: JSON-Schlüssel des Dienstkontos: Diese Methode basiert auf einer statischen, langlebigen Secret-Schlüsseldatei. Verwenden Sie diese Methode nur, wenn die Workload Identity-Authentifizierung in Ihrer Umgebung nicht verfügbar ist.

Dienstkonto erstellen

So erstellen Sie ein Dienstkonto für die Integration:

  1. Wechseln Sie in der Google Cloud Console zu IAM und Verwaltung > Dienstkonten.

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf Dienstkonto erstellen.

  3. Geben Sie einen Namen (z. B. „SecOps Logging Integration“) und eine Beschreibung ein und klicken Sie auf Erstellen und fortfahren.

  4. Fügen Sie im Schritt Diesem Dienstkonto Zugriff auf das Projekt erteilen die Rolle Logbetrachter (roles/logging.viewer) hinzu.

  5. Klicken Sie auf Fertig. Die E‑Mail-Adresse dieses Dienstkontos wird bei der Konfiguration verwendet.

Workload Identity-Anmeldedaten konfigurieren

Wählen Sie diese Methode oder die JSON-Schlüsselmethode aus, um die Integration zu authentifizieren. Die Verwendung einer Workload Identity wird empfohlen, da dabei

kurzlebige, temporäre Zugriffstokens über die Identitätsübernahme des Dienstkontos verwendet werden.

Eindeutige Instanz-ID ermitteln

Der letzte Schritt, um den Zugriff zu sichern, besteht darin, Ihrer Google SecOps-Instanz die Berechtigung zu erteilen, die Identität Ihres Dienstkontos zu übernehmen.

  1. Wechseln Sie in Google SecOps zu Content Hub > Response Integrations.

  2. Suchen Sie nach der Integration Cloud Logging und wählen Sie sie aus. Geben Sie dann die E‑Mail-Adresse Ihres Dienstkontos unter Workload Identity Email ein.

  3. Geben Sie unter Quota Project ID eine gültige Projekt-ID ein.

  4. Klicken Sie auf Speichern > Testen. Der Test sollte fehlschlagen.

  5. Klicken Sie neben Testen auf die Schaltfläche „Schließen“ close_small und suchen Sie nach der E‑Mail-Adresse der Identität, die mit gke-init-python@... oder soar-python@... beginnt.

    Kopieren Sie diese eindeutige E‑Mail-Adresse und fügen Sie sie bei der Konfiguration der Integration in das Feld Workload Identity Email ein.

Instanz-ID in autorisieren Google Cloud

Durch die Autorisierung der abgerufenen eindeutigen ID wird die Identitätsübernahme des Dienstkontos aktiviert. So kann die Plattform in Ihrem Namen agieren, ohne dass statische Schlüssel erforderlich sind.

  1. Wechseln Sie in der Google Cloud Console zu IAM und Verwaltung > Dienstkonten.

    Zur Seite „Dienstkonten“

  2. Wählen Sie das Zieldienstkonto aus und gehen Sie zu Berechtigungen > Zugriff gewähren.

  3. Fügen Sie die eindeutige E‑Mail-Adresse in das Feld Neue Hauptkonten ein.

  4. Weisen Sie die Rolle Service Account Token Creator (roles/iam.serviceAccountTokenCreator) zu.

Zugriff auf das Kontingentprojekt gewähren

Für die Authentifizierung mit einer Workload Identity ist eine Quota Project ID erforderlich, um die API-Nutzung und die Abrechnung zu verfolgen.

  1. Wechseln Sie in der Google Cloud Console zu IAM und Verwaltung > IAM und wählen Sie das Projekt aus, das für die Kontingentprojekt-ID verwendet wird.

    IAM aufrufen

  2. Suchen Sie Ihr Dienstkonto und klicken Sie auf Hauptkonto bearbeiten.

  3. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) aus.

  4. Klicken Sie auf Speichern.

JSON-Schlüssel konfigurieren

Statische, langlebige Secret-Schlüsseldateien müssen manuell verwaltet werden. Diese Methode sollte nur verwendet werden, wenn keine Workload Identity-Anmeldedaten verfügbar sind.

  1. Wechseln Sie in der Google Cloud Console zu IAM und Verwaltung > Dienstkonten und wählen Sie Ihr Dienstkonto aus.

    Zur Seite „Dienstkonten“

  2. Wechseln Sie zum Tab Schlüssel und klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.

  3. Wählen Sie JSON als Schlüsseltyp aus und klicken Sie auf Erstellen.

  4. Kopieren Sie den gesamten Inhalt der heruntergeladenen Datei und fügen Sie ihn bei der Konfiguration in das Feld User's Service Account ein.

Integrationsparameter

Für die Logging -Integration sind die folgenden Parameter erforderlich:

Parameter Beschreibung
API Root

Optional.

Die Basis-URL für die Cloud Logging API (z. B. https://logging.googleapis.com).

User's Service Account

Optional.

Der vollständige Inhalt der JSON-Schlüsseldatei des Dienstkontos.

Verwenden Sie diesen Parameter nur, wenn Sie sich mit einem JSON-Schlüssel authentifizieren.

Workload Identity Email

Optional.

Die Client-E‑Mail-Adresse Ihres Dienstkontos.

Verwenden Sie diesen Parameter nur, wenn Sie sich mit Workload Identity Anmeldedaten authentifizieren.

Project ID

Optional.

Die Projekt-ID, die in der Integration verwendet werden soll.

Wenn kein Wert angegeben ist, ruft die Integration die ID aus den Anmeldedaten des Dienstkontos ab.

Quota Project ID

Optional.

Die Projekt-ID, die für die API-Nutzung und die Abrechnung verwendet wird.

Dieser Parameter ist obligatorisch, wenn Sie sich mit Workload Identity Anmeldedaten authentifizieren.

Organization ID

Optional.

Die Organisations-ID, die zum Festlegen des Umfangs von Abfragen verwendet wird.

Verify SSL

Optional.

Wenn diese Option ausgewählt ist, validiert die Integration das SSL-Zertifikat, wenn eine Verbindung zum Logging-Server hergestellt wird.

Standardmäßig aktiviert.

Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.

Sie können später bei Bedarf Änderungen vornehmen. Nachdem Sie eine Integrationsinstanz konfiguriert haben, können Sie sie in Playbooks verwenden. Weitere Informationen zum Konfigurieren und Unterstützen mehrerer Instanzen finden Sie unter Mehrere Instanzen unterstützen.

Aktionen

Weitere Informationen zu Aktionen finden Sie unter Auf ausstehende Aktionen in „Mein Arbeitsbereich“ reagieren und Manuelle Maßnahme ausführen.

Abfrage ausführen

Mit der Aktion Abfrage ausführen können Sie benutzerdefinierte Abfragen in Logging ausführen.

Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.

Aktionseingaben

Für die Aktion Abfrage ausführen sind die folgenden Parameter erforderlich:

Parameter Beschreibung
Project ID Optional

Die Projekt-ID, die in der Integration verwendet werden soll.

Wenn Sie keinen Wert für diesen Parameter festlegen, ruft die Integration die Projekt-ID aus Ihrem Google Cloud Dienstkonto ab.

Organization ID Optional

Die Organisations-ID, die in der Integration verwendet werden soll.

Wenn Sie keinen Wert für diesen Parameter festlegen, ruft die Integration die Projekt-ID aus Ihrem Google Cloud Dienstkonto ab.

Query Erforderlich

Eine Abfrage zum Suchen der Logs.

Time Frame Optional

Ein Zeitraum, aus dem die Ergebnisse abgerufen werden sollen.

Wenn Sie Custom auswählen, konfigurieren Sie auch den Start Time Parameter.

Die möglichen Werte sind:

  • Last Hour
  • Last 6 Hours
  • Last 24 Hours
  • Last Week
  • Last Month
  • Custom
Der Standardwert ist Last Hour.
Start Time Optional

Die Startzeit, ab der Ergebnisse abgerufen werden sollen.

Dieser Parameter ist erforderlich, wenn Sie die Custom Option für den Time Frame Parameter ausgewählt haben.

Konfigurieren Sie diesen Parameter im ISO 8601-Format.

End Time Optional

Die Endzeit, bis zu der Ergebnisse abgerufen werden sollen.

Wenn Sie keinen Wert für diesen Parameter festlegen und die Custom Option für den Time Frame Parameter auswählen, verwendet die Aktion die aktuelle Zeit als Endzeit.

Konfigurieren Sie diesen Parameter im ISO 8601-Format.

Max Results To Return Optional

Die maximale Anzahl von zurückzugebenden Ergebnissen.

Der Standardwert ist 50.

Aktionsausgaben

Die Aktion Abfrage ausführen liefert die folgenden Ausgaben:

Typ der Aktionsausgabe Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link im Fall-Repository Nicht verfügbar
Tabelle im Fall-Repository Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Verfügbar
Ausgabenachrichten Verfügbar
Scriptergebnis Verfügbar
JSON-Ergebnis

Im folgenden Beispiel wird die JSON-Ergebnisausgabe beschrieben, die bei Verwendung der Aktion Abfrage ausführen empfangen wird:

[{
    "protoPayload": {
        "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
        "authenticationInfo": {
            "principalEmail": "system:clouddns"
        },
        "authorizationInfo": [
            {
                "granted": true,
                "permission": "io.k8s.coordination.v1.leases.update",
                "resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
            }
        ],
        "methodName": "io.k8s.coordination.v1.leases.update",
        "requestMetadata": {
            "callerIp": "192.0.2.6",
            "callerSuppliedUserAgent": "clouddns-leader-election"
        },
        "resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
        "serviceName": "k8s.io",
        "status": {
            "code": 0
        }
    },
    "insertId": "ID",
    "resource": {
        "type": "k8s_cluster",
        "labels": {
            "cluster_name": "CLUSTER_NAME",
            "project_id": "PROJECT_ID",
            "location": "us-central1"
        }
    },
    "timestamp": "2024-09-18T09:46:38.647428Z",
    "labels": {
        "authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
        "authorization.k8s.io/decision": "allow"
    },
    "logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
    "operation": {
        "id": "ID",
        "producer": "k8s.io",
        "first": true,
        "last": true
    },
    "receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
Ausgabenachrichten

Die Aktion Abfrage ausführen liefert die folgenden Ausgabenachrichten:

Ausgabenachricht Beschreibung der Nachricht

Successfully executed query "QUERY" in Cloud Logging.

No results were found for the provided query.

Die Aktion wurde erfolgreich ausgeführt.
Error executing action "Execute Query". Reason: ERROR_REASON

Die Aktion ist fehlgeschlagen.

Prüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten.

Scriptergebnis

In der folgenden Tabelle werden die Werte für die Scriptergebnisausgabe bei Verwendung der Aktion Abfrage ausführen beschrieben:

Name des Scriptergebnisses Wert
is_success True oder False

Ping

Verwenden Sie die Aktion Ping , um die Verbindung zu Logging zu testen.

Diese Aktion wird nicht für Google SecOps-Entitäten ausgeführt.

Aktionseingaben

Keine.

Aktionsausgaben

Die Aktion Ping liefert die folgenden Ausgaben:

Typ der Aktionsausgabe Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link im Fall-Repository Nicht verfügbar
Tabelle im Fall-Repository Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Nicht verfügbar
Ausgabenachrichten Verfügbar
Scriptergebnis Verfügbar
Ausgabenachrichten

Die Aktion Ping liefert die folgenden Ausgabenachrichten:

Ausgabenachricht Beschreibung der Nachricht
Successfully connected to the Cloud Logging server with the provided connection parameters! Die Aktion wurde erfolgreich ausgeführt.
Failed to connect to the Cloud Logging server! Error is ERROR_REASON

Die Aktion ist fehlgeschlagen.

Prüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten.

Scriptergebnis

In der folgenden Tabelle werden die Werte für die Scriptergebnisausgabe bei Verwendung der Aktion Ping beschrieben:

Name des Scriptergebnisses Wert
is_success True oder False

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