BigQuery in Google SecOps einbinden

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

Anwendungsfälle

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

  • Anreicherung mit Threat Intelligence: Sicherheitswarnungen werden automatisch mit Threat Intelligence-Daten angereichert, die in BigQuery gespeichert sind, um den Schweregrad und die Glaubwürdigkeit potenzieller Bedrohungen zu bewerten.

  • Analyse des Nutzerverhaltens: Identifizieren Sie ungewöhnliche Nutzeraktivitäten, indem Sie in BigQuery gespeicherte historische Logs analysieren, um Insider-Bedrohungen und gehackte Konten zu erkennen.

  • Analyse von Sicherheits-Data-Lakes: Verwenden Sie die Abfragefunktionen von BigQuery, um große Mengen an Sicherheitsdaten zu analysieren, die aus verschiedenen Quellen zusammengefasst wurden, um die Bedrohungssuche zu verbessern.

  • Erweiterte ML-/KI-Analysen: Erstellen Sie benutzerdefinierte Modelle für die vorausschauende Abwehr und die automatisierte Risikobewertung mithilfe von historischen Sicherheitsdaten und BigQuery ML.

  • Langfristige Datenaufbewahrung: Archivieren Sie Daten zu behobenen Vorfällen in BigQuery, um sie kostengünstig langfristig zu speichern und Compliance- und forensische Audits zu unterstützen.

Hinweis

Bevor Sie die BigQuery-Integration in Google SecOps konfigurieren, müssen Sie die folgenden erforderlichen Schritte ausführen:

  1. Weisen Sie Ihrem Dienstkonto die erforderlichen IAM-Rollen (Identity and Access Management) zu.

  2. Erstellen Sie ein Dienstkonto.

  3. 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 verwendet, die die Identität des Dienstkontos übernehmen.

    • Option 2: JSON-Schlüssel für Dienstkonto: Diese Methode basiert auf einer statischen, langlebigen Secret-Schlüsseldatei.

IAM-Rollen zuweisen

Wenn Sie Ihrem Dienstkonto die erforderlichen Berechtigungen gewähren, kann die Integration Jobs ausführen und auf Ihre Daten zugreifen. Die folgenden Standardrollen werden von Google Cloud verwaltet und automatisch aktualisiert, wenn sich die API-Anforderungen ändern. So weisen Sie Ihrem Dienstkonto diese Rollen zu:

  1. Rufen Sie in der Google Cloud Console IAM auf.

    IAM aufrufen

  2. Suchen Sie in der Liste der Hauptkonten nach Ihrem Dienstkonto und klicken Sie auf Hauptkonto bearbeiten (Bearbeiten).

  3. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Folgendes aus:

    • BigQuery-Nutzer (roles/bigquery.user): Ermöglicht der Integration, Jobs, einschließlich Abfragen, im Projekt auszuführen.

    • BigQuery-Datenbetrachter (roles/bigquery.dataViewer): Ermöglicht der Integration, Daten und Metadaten aus Datasets und Tabellen zu lesen.

    • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer): Dies ist erforderlich, wenn Sie Quota Project ID in den Integrationseinstellungen konfigurieren.

  4. Klicken Sie auf Speichern.

Dienstkonto erstellen

  1. Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf.

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf addDienstkonto erstellen.

  3. Geben Sie einen Namen 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 im vorherigen Schritt ermittelten Rollen hinzu.

  5. Klicken Sie auf Fertig. Notieren Sie sich die E-Mail-Adresse des Dienstkontos.

Workload Identity-Anmeldedaten konfigurieren

Workload Identity ist der empfohlene Ansatz, da hier kurzlebige Zugriffstokens mit Identitätsübernahme des Dienstkontos verwendet werden.

Eindeutige Instanzidentität identifizieren

Zum Herstellen einer Verbindung müssen Sie Ihrer Google SecOps-Instanz die Berechtigung erteilen, die Identität Ihres Dienstkontos zu übernehmen.

  1. Rufen Sie in Google SecOps Content Hub > Antwortintegrationen auf.

  2. Wählen Sie die BigQuery-Integration aus und geben Sie die E-Mail-Adresse Ihres Dienstkontos in das Feld Workload Identity Email ein.

  3. Klicken Sie auf Speichern > Testen. Der Test schlägt erwartungsgemäß fehl.

  4. Klicken Sie neben Test auf den Button close_small und suchen Sie die Identitäts-E-Mail, die mit gke-init-python@... oder soar-python@... beginnt.

  5. Kopieren Sie diese eindeutige E‑Mail-Adresse.

Instanzidentität in Google Cloudautorisieren

  1. Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf.

    Zur Seite „Dienstkonten“

  2. Wählen Sie das Zieldienstkonto aus und rufen Sie Berechtigungen > Zugriff gewähren auf.

  3. 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.

JSON-Schlüssel konfigurieren

Statische, langlebige Secret-Schlüsseldateien müssen manuell rotiert werden. Verwenden Sie diese Methode nur, wenn die Workload Identity-Authentifizierung nicht verfügbar ist.

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

    Zur Seite „Dienstkonten“

  2. Rufen Sie den Tab Schlüssel auf und klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.

  3. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Datei wird automatisch auf Ihren Computer heruntergeladen.

Manuelle individuelle Parameter konfigurieren

Wenn Sie die Anmeldedaten manuell eingeben möchten, lassen Sie die heruntergeladene JSON-Schlüsseldatei in einem Texteditor geöffnet, um die einzelnen Werte zu kopieren, die in den Integrationseinstellungen erforderlich sind.

Integrationsparameter

Wenn Sie eine Verbindung zwischen Google SecOps und BigQuery herstellen möchten, müssen Sie die folgenden Parameter konfigurieren. Die Integration unterstützt drei verschiedene Authentifizierungspfade. Wählen Sie eine der folgenden Methoden aus, um Anmeldedaten bereitzustellen.

  • Workload Identity: Verwendet Workload Identity Email und Quota Project ID.

  • JSON-Datei des Dienstkontos: Verwendet Service Account Json File Content, um den gesamten Schlüssel auf einmal bereitzustellen.

  • Manuelle einzelne Parameter: Verwendet separate Felder, die manuell aus einem JSON-Schlüssel kopiert wurden.

Parameter Beschreibung
API Root

Optional.

Der API-Stamm der BigQuery-Instanz (z. B. https://bigquery.googleapis.com).

Workload Identity Email

Optional.

Die Client-E-Mail-Adresse Ihres Dienstkontos. Verwenden Sie diese Option für die Workload Identity-Authentifizierung.

Service Account Json File Content

Optional.

Der vollständige Inhalt der JSON-Datei des Dienstkontoschlüssels.

Wenn Sie diesen Parameter konfigurieren, werden die einzelnen Parameter für Anmeldedaten ignoriert.

Quota Project ID

Optional.

Die Projekt-ID, die für die API-Nutzung und Abrechnung verwendet wird. Dieser Parameter ist erforderlich, wenn Sie die Workload Identity-Authentifizierung verwenden.

Project ID

Optional.

Die Projekt-ID, die in BigQuery als Ziel verwendet werden soll.

Verify SSL

Pflichtangabe.

Validiert das SSL-Zertifikat für die Verbindung. Standardmäßig aktiviert.

Parameter für einzelne Anmeldedaten

Verwenden Sie die folgenden Parameter nur, wenn Sie Anmeldedaten manuell eingeben, anstatt den vollständigen Inhalt der JSON-Datei oder eine Workload Identity zu verwenden.

Parameter Beschreibung
Account Type

Optional.

Der Wert im Feld type Ihres JSON-Schlüssels (normalerweise service_account).

Private Key ID

Optional.

Der Wert im Feld private_key_id Ihres JSON-Schlüssels.

Private Key

Optional.

Der Wert im Feld private_key Ihres JSON-Schlüssels.

Client Email

Optional.

Der Wert im Feld client_email Ihres JSON-Schlüssels.

Client ID

Optional.

Der Wert im Feld client_id Ihres JSON-Schlüssels.

Auth URI

Optional.

Der Wert im Feld auth_uri Ihres JSON-Schlüssels.

Der Standardwert ist https://accounts.google.com/o/oauth2/auth.

Token URI

Optional.

Der Wert im Feld token_uri Ihres JSON-Schlüssels.

Der Standardwert ist https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Optional.

Der Wert im Feld auth_provider_x509_cert_url Ihres JSON-Schlüssels.

Client X509 URL

Optional.

Der Wert im Feld client_x509_cert_url Ihres JSON-Schlüssels.

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 im Workdesk reagieren und Manuelle Aktion in einem Fall ausführen.

Ping

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

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

Aktionseingaben

Keine.

Aktionsausgaben

Die Aktion Ping liefert die folgenden Ausgaben:

Aktionsausgabetyp Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link zum Fall-Repository Nicht verfügbar
Tabelle mit Fall-Repository Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Nicht verfügbar
Ausgabenachrichten Verfügbar
Scriptergebnis Verfügbar
Ausgabenachrichten

Die Aktion Ping kann die folgenden Ausgabenachrichten zurückgeben:

Ausgabemeldung Beschreibung der Nachricht
Successfully connected to the Google BigQuery server with the provided connection parameters! Aktion erfolgreich.
Failed to connect to the Google BigQuery server! Error is ERROR_REASON

Aktion fehlgeschlagen.

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

Scriptergebnis

In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses bei Verwendung der Aktion Ping aufgeführt:

Name des Skriptergebnisses Wert
is_success True oder False

Benutzerdefinierte Abfrage ausführen

Verwenden Sie die Aktion Benutzerdefinierte Abfrage ausführen, um benutzerdefinierte Abfragen in BigQuery auszuführen.

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

Aktionseingaben

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

Parameter Beschreibung
Query

Pflichtangabe.

Die auszuführende SQL-Abfrage.

Max Results To Return

Optional.

Die Anzahl der Ergebnisse, die für jede Antwort zurückgegeben werden sollen.

Der Standardwert ist 50.

Aktionsausgaben

Die Aktion Benutzerdefinierte Abfrage ausführen liefert die folgenden Ausgaben:

Aktionsausgabetyp Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link zum Fall-Repository Nicht verfügbar
Tabelle mit Fall-Repository Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Verfügbar
Ausgabenachrichten Verfügbar
Scriptergebnis Verfügbar
JSON-Ergebnis

Das folgende Beispiel zeigt die JSON-Ergebnisausgabe, die bei Verwendung der Aktion Benutzerdefinierte Abfrage ausführen empfangen wird:

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
Ausgabenachrichten

Die Aktion Benutzerdefinierte Abfrage ausführen kann die folgenden Ausgabenachrichten zurückgeben:

Ausgabemeldung Beschreibung der Nachricht
Successfully executed query in Google BigQuery! Aktion erfolgreich.
Error executing action "Run Custom Query". Reason: ERROR_REASON

Aktion fehlgeschlagen.

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

Scriptergebnis

In der folgenden Tabelle sind die Werte für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion Benutzerdefinierte Abfrage ausführen verwendet wird:

Name des Skriptergebnisses Wert
is_success True oder False

SQL-Abfrage ausführen

Verwenden Sie die Aktion SQL-Abfrage ausführen, um Abfragen in BigQuery auszuführen.

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

Aktionseingaben

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

Parameter Beschreibung
Dataset Name

Pflichtangabe.

Der Name des Datasets, das beim Ausführen von Abfragen verwendet werden soll.

Query

Pflichtangabe.

Die auszuführende SQL-Abfrage.

Max Results To Return

Optional.

Die Anzahl der Ergebnisse, die für jede Antwort zurückgegeben werden sollen.

Der Standardwert ist 50.

Aktionsausgaben

Die Aktion SQL-Abfrage ausführen liefert die folgenden Ausgaben:

Aktionsausgabetyp Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link zum Fall-Repository Nicht verfügbar
Tabelle mit Fall-Repository Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Nicht verfügbar
Ausgabenachrichten Verfügbar
Scriptergebnis Verfügbar
JSON-Ergebnis

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

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
Ausgabenachrichten

Die Aktion SQL-Abfrage ausführen kann die folgenden Ausgabenachrichten zurückgeben:

Ausgabemeldung Beschreibung der Nachricht
Successfully executed query in the BigQuery dataset DATASET_NAME. Aktion erfolgreich.
Error executing action "Run SQL Query". Reason: ERROR_REASON

Aktion fehlgeschlagen.

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

Scriptergebnis

In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion SQL-Abfrage ausführen verwendet wird:

Name des Skriptergebnisses Wert
is_success True oder False

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