BigQuery in Google SecOps einbinden

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

Anwendungsfälle

Bei der BigQuery-Integration werden Google SecOps-Funktionen für die folgenden Anwendungsfälle verwendet:

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

  • Analyse des Nutzerverhaltens: Analysieren Sie in BigQuery gespeicherte Verlaufslogs, um anomale Nutzeraktivitäten zu erkennen und Insider-Bedrohungen und kompromittierte Konten zu ermitteln.

  • Analyse des Security Data Lake: Mit den Abfragefunktionen von BigQuery können Sie große Mengen an Sicherheitsdaten analysieren, die aus verschiedenen Quellen zusammengeführt wurden, um die Suche nach Bedrohungen zu verbessern.

  • Erweiterte ML-/KI-Analysen: Erstellen Sie benutzerdefinierte Modelle für die vorausschauende Abwehr und die automatisierte Risikobewertung mit 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 Voraussetzungen erfüllen:

  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 mithilfe der Identitätsübertragung von Dienstkonten verwendet.

    • Option 2: JSON-Schlüssel des Dienstkontos: Bei dieser Methode wird eine statische, langlebige Secret-Schlüsseldatei verwendet.

IAM-Rollen zuweisen

Wenn Sie Ihrem Dienstkonto die erforderlichen Berechtigungen erteilen, 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, innerhalb des Projekts auszuführen.

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

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

  4. Klicken Sie auf Speichern.

Dienstkonto erstellen

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

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf HinzufügenDienstkonto 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 mithilfe der Identitätsübernahme des Dienstkontos verwendet werden.

Eindeutige Instanzidentität ermitteln

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

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

  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 > Test. Der Test wird voraussichtlich fehlschlagen.

  4. Klicken Sie neben Test auf das Symbol close_small und suchen Sie nach der Identitäts-E-Mail-Adresse, die mit gke-init-python@... oder soar-python@... beginnt.

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

Instanzidentität in Google Cloudautorisieren

  1. Wechseln Sie in der Google Cloud Console zu IAM & 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 und weisen Sie die Rolle Ersteller von Dienstkonto-Tokens (roles/iam.serviceAccountTokenCreator) zu.

JSON-Schlüssel konfigurieren

Statische, langlebige Dateien mit geheimen Schlüsseln 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 die Seite IAM & 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 anzugeben.

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

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

  • Manuelle einzelne Parameter: Hier werden separate Felder verwendet, 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. Wird für die Workload Identity-Authentifizierung verwendet.

Service Account Json File Content

Optional.

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

Wenn Sie diesen Parameter konfigurieren, werden einzelne Anmeldedatenparameter von der Integration 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

Erforderlich.

Überprüft das SSL-Zertifikat für die Verbindung. Standardmäßig aktiviert.

Parameter für individuelle Anmeldedaten

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

Parameter Beschreibung
Account Type

Optional.

Der Wert im Feld type Ihres JSON-Schlüssels (in der Regel service_account).

Private Key ID

Optional.

Der Wert, der im Feld private_key_id Ihres JSON-Schlüssels gefunden wurde.

Private Key

Optional.

Der Wert, der im Feld private_key Ihres JSON-Schlüssels gefunden wurde.

Client Email

Optional.

Der Wert, der im Feld client_email Ihres JSON-Schlüssels gefunden wurde.

Client ID

Optional.

Der Wert, der im Feld client_id Ihres JSON-Schlüssels gefunden wurde.

Auth URI

Optional.

Der Wert, der im Feld auth_uri Ihres JSON-Schlüssels gefunden wurde.

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

Token URI

Optional.

Der Wert, der im Feld token_uri Ihres JSON-Schlüssels gefunden wurde.

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

Auth Provider X509 URL

Optional.

Der Wert, der im Feld auth_provider_x509_cert_url Ihres JSON-Schlüssels gefunden wurde.

Client X509 URL

Optional.

Der Wert, der im Feld client_x509_cert_url Ihres JSON-Schlüssels gefunden wurde.

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.

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 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 kann die folgenden Ausgabenachrichten zurückgeben:

Ausgabemeldung Nachrichtenbeschreibung
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.

Überprü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 Scriptergebnisses Wert
is_success True oder False

Benutzerdefinierte Abfrage ausführen

Mit der Aktion Benutzerdefinierte Abfrage ausführen können Sie benutzerdefinierte Abfragen in BigQuery ausfü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

Erforderlich.

Die auszuführende SQL-Abfrage.

Max Results To Return

Optional.

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

Der Standardwert ist 50.

Aktionsausgaben

Die Aktion Benutzerdefinierte Abfrage ausführen 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 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 Nachrichtenbeschreibung
Successfully executed query in Google BigQuery! Aktion erfolgreich.
Error executing action "Run Custom Query". Reason: ERROR_REASON

Aktion fehlgeschlagen.

Überprü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 Benutzerdefinierte Abfrage ausführen verwendet wird:

Name des Scriptergebnisses Wert
is_success True oder False

SQL-Abfrage ausführen

Mit der Aktion SQL-Abfrage ausführen können Sie Abfragen in BigQuery ausfü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

Erforderlich.

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

Query

Erforderlich.

Die auszuführende SQL-Abfrage.

Max Results To Return

Optional.

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

Der Standardwert ist 50.

Aktionsausgaben

Die Aktion SQL-Abfrage ausführen 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
JSON-Ergebnis

Im folgenden Beispiel wird die JSON-Ergebnisausgabe beschrieben, die bei Verwendung der Aktion SQL-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 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 Ausgabemeldungen zurückgeben:

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

Aktion fehlgeschlagen.

Überprü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 Scriptergebnisses Wert
is_success True oder False

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