Logging in Google SecOps einbinden
In diesem Dokument wird beschrieben, wie Sie Cloud Logging in Google Security Operations einbinden.
Anwendungsfälle
Bei der Logging-Integration werden Google SecOps-Funktionen verwendet, um die folgenden Anwendungsfälle zu unterstützen:
Abrufen von forensischen Logs: Führen Sie erweiterte Abfragen aus, um bei einer Untersuchung bestimmte Sicherheitsereignisse in Ihrer Google Cloud Umgebung zu finden.
Automatisierte Suche nach Bedrohungen: Verwenden Sie Playbooks, um Logs regelmäßig nach bekannten Kompromittierungsindikatoren (IoCs) oder verdächtigen Mustern zu durchsuchen.
Hinweis
Bevor Sie die Logging-Integration in Google SecOps konfigurieren, müssen Sie die folgenden Voraussetzungen erfüllen:
Erstellen Sie ein Dienstkonto und weisen Sie ihm die erforderlichen Rollen zu.
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 durch die Übernahme der Identität von Dienstkonten verwendet. Daher müssen Sie keine Secrets speichern.
Option 2: JSON-Schlüssel für Dienstkonto: Bei dieser Methode wird eine statische, langlebige Secret-Schlüsseldatei verwendet. 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:
Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.
Klicken Sie auf HinzufügenDienstkonto erstellen.
Geben Sie einen Namen (z. B. „SecOps Logging Integration“) und eine Beschreibung ein und klicken Sie auf Erstellen und fortfahren.
Fügen Sie im Schritt Diesem Dienstkonto Zugriff auf das Projekt erteilen die Rolle Logbetrachter (
roles/logging.viewer) hinzu.Klicken Sie auf Fertig. Die E-Mail-Adresse dieses Dienstkontos wird während 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 ist die empfohlene Methode, da sie
kurzlebige, temporäre Zugriffstokens mithilfe der Identitätsübernahme des Dienstkontos.
Eindeutige Instanzidentität ermitteln
Die Berechtigung Ihrer Google SecOps-Instanz, Ihr Dienstkonto zu imitieren, ist der letzte Schritt für einen sicheren Zugriff.
Rufen Sie in Google SecOps Content Hub > Response Integrations auf.
Suchen Sie nach der Cloud Logging-Integration und wählen Sie sie aus. Geben Sie dann die E-Mail-Adresse Ihres Dienstkontos unter Workload Identity Email ein.
Geben Sie eine gültige Projekt-ID in Quota Project ID (Projekt-ID für Kontingent) ein.
Klicken Sie auf Speichern > Test. Der Test wird voraussichtlich fehlschlagen.
Klicken Sie rechts neben Test auf close_small und suchen Sie in der Fehlermeldung nach der Identitäts-E-Mail-Adresse, die mit
gke-init-python@...odersoar-python@...beginnt.Kopieren Sie diese eindeutige E‑Mail-Adresse.
Instanzidentität in Google Cloudautorisieren
Durch die Autorisierung der abgerufenen eindeutigen Identität wird die Identitätsübernahme des Dienstkontos ermöglicht, sodass die Plattform ohne statische Schlüssel in Ihrem Namen agieren kann.
Wechseln Sie in der Google Cloud Console zu IAM & Verwaltung > Dienstkonten.
Wählen Sie das Zieldienstkonto aus und rufen Sie Berechtigungen > Zugriff gewähren auf.
Fügen Sie die eindeutige E-Mail-Adresse in das Feld Neue Hauptkonten ein und weisen Sie die Rolle Ersteller von Dienstkonto-Tokens (
roles/iam.serviceAccountTokenCreator) zu.
Zugriff auf Kontingentprojekt gewähren
Für die Authentifizierung mit einer Workload Identity ist ein Quota Project ID erforderlich, um die API-Nutzung und die Abrechnung zu erfassen.
Rufen Sie in der Google Cloud Console IAM & Verwaltung > IAM auf und wählen Sie das Projekt aus, das für die Kontingent-Projekt-ID verwendet wird.
Suchen Sie nach Ihrem Dienstkonto und klicken Sie auf Hauptkonto bearbeiten.
Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) aus.Klicken Sie auf Speichern.
JSON-Schlüssel konfigurieren
Statische, langlebige Dateien mit geheimen Schlüsseln müssen manuell verwaltet werden. Diese Methode sollte nur verwendet werden, wenn keine Workload Identity-Anmeldedaten verfügbar sind.
Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung > Dienstkonten auf und wählen Sie Ihr Dienstkonto aus.
Klicken Sie auf dem Tab Schlüssel auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
Wählen Sie als Schlüsseltyp JSON aus und klicken Sie auf Erstellen.
Kopieren Sie den gesamten Inhalt der heruntergeladenen Datei und fügen Sie ihn bei der Konfiguration in
User's Service Accountein.
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. |
User's Service Account |
Optional. Der vollständige Inhalt der JSON-Datei für den Dienstkontoschlüssel. Verwenden Sie diesen Parameter nur, wenn Sie die Authentifizierung mit einem JSON-Schlüssel durchführen. |
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 Abrechnung verwendet wird. Dieser Parameter ist bei der Authentifizierung mit Workload Identity-Anmeldedaten erforderlich. |
Organization ID |
Optional. Die Organisations-ID, die zum Eingrenzen von Abfragen verwendet wird. |
Verify SSL |
Optional. Wenn diese Option ausgewählt ist, wird das SSL-Zertifikat bei der Verbindung zum Logging-Server validiert. Standardmäßig aktiviert. |
Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.
Bei Bedarf können Sie später Ä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 Ausstehende Aktionen über „Mein Arbeitsbereich“ bearbeiten und Manuelle Maßnahme ausführen.
Abfrage ausführen
Mit der Aktion Execute Query (Abfrage ausführen) können Sie benutzerdefinierte Abfragen im 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 Anfrage zum Suchen der Logs. |
Time Frame |
Optional Ein Zeitraum, aus dem die Ergebnisse abgerufen werden sollen. Wenn Sie Folgende Werte sind möglich:
Last Hour. |
Start Time |
Optional Die Startzeit zum Abrufen von Ergebnissen. Dieser Parameter ist erforderlich, wenn Sie für den Parameter Verwenden Sie zum Konfigurieren dieses Parameters das ISO 8601-Format. |
End Time |
Optional Die Endzeit zum Abrufen von Ergebnissen. Wenn Sie keinen Wert für diesen Parameter festlegen und die Option Verwenden Sie das ISO 8601-Format, um diesen Parameter zu konfigurieren. |
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:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle „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 Execute Query (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 gibt die folgenden Ausgabemeldungen zurück:
| Ausgabemeldung | Nachrichtenbeschreibung |
|---|---|
|
Die Aktion wurde erfolgreich ausgeführt. |
Error executing action "Execute Query". Reason:
ERROR_REASON |
Die Aktion ist fehlgeschlagen. Überprüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten. |
Scriptergebnis
In der folgenden Tabelle werden die Werte für die Ausgabe des Skriptergebnisses 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 bietet die folgenden Ausgaben:
| Ausgabetyp der Aktion | Verfügbarkeit |
|---|---|
| Anhang im Fall-Repository | Nicht verfügbar |
| Link zum Fall-Repository | Nicht verfügbar |
| Tabelle „Fall-Repository“ | Nicht verfügbar |
| Anreicherungstabelle | Nicht verfügbar |
| JSON-Ergebnis | Nicht verfügbar |
| Ausgabenachrichten | Verfügbar |
| Scriptergebnis | Verfügbar |
Ausgabenachrichten
Die Aktion Ping gibt die folgenden Ausgabenachrichten zurück:
| Ausgabemeldung | Nachrichtenbeschreibung |
|---|---|
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. Überprüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten. |
Scriptergebnis
In der folgenden Tabelle werden die Werte für die Ausgabe des Skriptergebnisses bei Verwendung der Aktion Ping beschrieben:
| Name des Scriptergebnisses | Wert |
|---|---|
is_success |
True oder False |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten