Auf dieser Seite wird beschrieben, wie Sie neue und aktualisierte Ergebnisse in ein BigQuery-Dataset streamen können, indem Sie die Security Command Center-Exportfunktion für BigQuery verwenden. Vorhandene Ergebnisse werden nur dann an BigQuery gesendet, wenn sie aktualisiert werden.
BigQuery ist das vollständig verwaltete, kostengünstige Data Warehouse für Analysen im Petabyte-Bereich von Google Cloud. Damit können Sie große Datenmengen nahezu in Echtzeit analysieren. Sie können BigQuery verwenden, um Abfragen für neue und aktualisierte Ergebnisse auszuführen, Daten nach den benötigten Filtern zu filtern und benutzerdefinierte Berichte zu generieren. Weitere Informationen zu BigQuery finden Sie in der BigQuery-Dokumentation.
Übersicht
Wenn Sie dieses Feature aktivieren, werden neue Ergebnisse, die in das Security Command Center geschrieben werden, nahezu in Echtzeit in eine BigQuery-Tabelle exportiert. Anschließend können Sie die Daten in vorhandene Workflows einbinden und benutzerdefinierte Analysen erstellen. Sie können diese Funktion auf Organisations-, Ordner- und Projektebene aktivieren, um Ergebnisse entsprechend Ihren Anforderungen zu exportieren.
Dieses Feature ist die empfohlene Methode zum Exportieren von Security Command Center-Ergebnissen in BigQuery, da es vollständig verwaltet wird und keine manuellen Vorgänge oder das Schreiben von benutzerdefiniertem Code erfordert.
Dataset-Struktur
Dieses Feature fügt jedes neue Ergebnis und die nachfolgenden Aktualisierungen als neue Zeilen in die findings
-Tabelle ein. Diese ist geclustert nach source_id
, finding_id
und event_time
.
Wenn ein Ergebnis aktualisiert wird, erstellt dieses Feature mehrere Ergebnisdatensätze mit denselben source_id
- und finding_id
-Werten, aber mit unterschiedlichen event_time
-Werten. Mit dieser Dataset-Struktur können Sie sehen, wie sich der Zustand jedes Ergebnisses im Laufe der Zeit ändert.
Beachten Sie, dass doppelte Einträge in Ihrem Dataset vorhanden sein können. Zum Herausfiltern dieser Einträge können Sie die Klausel DISTINCT
verwenden, wie in der ersten Beispielabfrage gezeigt.
Jedes Dataset enthält die Tabelle findings
mit den folgenden Feldern:
Feld | Beschreibung |
---|---|
source_id |
Eine eindeutige Kennung, die Security Command Center der Quelle eines Ergebnisses zuweist. Beispielsweise haben alle Ergebnisse der Quelle „Cloud-Anomalieerkennung“ denselben source_id-Wert. Beispiel: |
finding_id | Eindeutige Kennung für das Ergebnis. Sie ist innerhalb einer Quelle für eine Organisation eindeutig. Sie ist alphanumerisch und besteht aus höchstens 32 Zeichen. |
event_time |
Der Zeitpunkt des Ereignisses oder der Zeitpunkt, zu dem das Ergebnis aktualisiert wurde. Wenn das Ergebnis beispielsweise eine offene Firewall darstellt, erfasst Beispiel: |
bulk_export_id |
Dieses Feld enthält keine Daten. |
finding |
Ein Datensatz von Bewertungsdaten wie Sicherheit, Risiko, Zustand oder Datenschutz, die in Security Command Center für Darstellung, Benachrichtigung, Analyse, Richtlinientests und Durchsetzung aufgenommen werden. Eine XSS-Sicherheitslücke (Cross-Site-Scripting) in einer App Engine-Anwendung ist beispielsweise ein Ergebnis.
Weitere Informationen zu den verschachtelten Feldern finden Sie in der API-Referenz zum Objekt
|
Ressource |
Informationen zur Google Cloud -Ressource, die diesem Ergebnis zugeordnet ist.
Weitere Informationen zu den verschachtelten Feldern finden Sie in der API-Referenz zum Objekt
|
Kosten
Für diese Funktion fallen BigQuery-Gebühren an. Weitere Informationen finden Sie unter BigQuery-Preise.
Hinweise
Führen Sie die folgenden Schritte aus, bevor Sie diese Funktion aktivieren.
Berechtigungen einrichten
Zum Durcharbeiten dieser Anleitung benötigen Sie die folgenden IAM-Rollen (Identity and Access Management):
Verwenden Sie für die Organisation, den Ordner oder das Projekt, aus dem Sie Ergebnisse exportieren möchten, eine der folgenden Optionen:
- Bearbeiter von Sicherheitscenter-BigQuery-Exporten
(
roles/securitycenter.bigQueryExportsEditor
). - Sicherheitscenter-Administrator
(
roles/securitycenter.admin
).
Weitere Informationen zu Security Command Center-Rollen finden Sie unter Zugriffssteuerung.
- Bearbeiter von Sicherheitscenter-BigQuery-Exporten
(
Im BigQuery-Dataset ist der BigQuery-Dateninhaber (
roles/bigquery.dataOwner
).
BigQuery-Dataset erstellen
BigQuery-Dataset erstellen Weitere Informationen finden Sie unter Datasets erstellen.
Datenstandort planen
Wenn Datenstandort für Security Command Center aktiviert ist, unterliegen die Konfigurationen, die Streaming-Exporte nach BigQuery definieren (BigQueryExport
-Ressourcen), der Datenstandortkontrolle und werden an einem von Ihnen ausgewählten Security Command Center-Standort gespeichert.
Wenn Sie Ergebnisse an einem Security Command Center-Standort nach BigQuery exportieren möchten, müssen Sie den BigQuery-Export am selben Security Command Center-Standort wie die Ergebnisse konfigurieren.
Da die in BigQuery-Exporten verwendeten Filter Daten enthalten können, die den Anforderungen an den Speicherort unterliegen, müssen Sie den richtigen Speicherort angeben, bevor Sie sie erstellen. Security Command Center schränkt nicht ein, an welchem Speicherort Sie Exporte erstellen.
BigQuery-Exporte werden nur an dem Ort gespeichert, an dem sie erstellt werden. Sie können nicht an anderen Orten aufgerufen oder bearbeitet werden.
Nachdem Sie einen BigQuery-Export erstellt haben, können Sie seinen Standort nicht mehr ändern. Wenn Sie den Standort ändern möchten, müssen Sie den BigQuery-Export löschen und am neuen Standort neu erstellen.
Informationen zur Verwendung von Security Command Center, wenn der Datenstandort aktiviert ist, finden Sie unter Regionale Endpunkte für Security Command Center.
Ergebnisse aus Security Command Center in BigQuery exportieren
Aktivieren Sie zum Exportieren der Ergebnisse zuerst die Security Command Center API.
Security Command Center API aktivieren
So aktivieren Sie das Security Command Center API:
Rufen Sie in der Google Cloud Console die Seite „API-Bibliothek“ auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktivieren möchten.
Geben Sie im Feld Suchen
Security Command Center
ein und klicken Sie dann in den Suchergebnissen auf Security Command Center.Klicken Sie auf der angezeigten API-Seite auf Aktivieren.
Die Security Command Center API ist für Ihr Projekt aktiviert. Als Nächstes erstellen Sie mit der gcloud CLI eine neue Exportkonfiguration nach BigQuery.
Perimeterzugriff in VPC Service Controls gewähren
Wenn Sie VPC Service Controls verwenden und Ihr BigQuery-Dataset Teil eines Projekts innerhalb eines Dienstperimeters ist, müssen Sie Zugriff auf Projekte gewähren, um Ergebnisse zu exportieren.
Wenn Sie Zugriff auf Projekte gewähren möchten, erstellen Sie Regeln für eingehenden und ausgehenden Traffic für die Identitäten und Projekte, aus denen Sie Ergebnisse exportieren. Die Regeln ermöglichen den Zugriff auf geschützte Ressourcen und lassen BigQuery prüfen, ob Nutzer die Berechtigung setIamPolicy
für das BigQuery-Dataset haben.
Vorbereitung für das Einrichten eines neuen Exports nach BigQuery
Console
-
Rufen Sie in der Google Cloud -Console die Seite VPC Service Controls auf.
- Wählen Sie Ihre Organisation oder das Projekt aus.
- Wenn Sie eine Organisation ausgewählt haben, klicken Sie auf Zugriffsrichtlinie auswählen und wählen Sie dann die Zugriffsrichtlinie aus, die mit dem Perimeter verknüpft ist, den Sie aktualisieren möchten.
-
Klicken Sie auf den Namen des Perimeters, den Sie aktualisieren möchten.
Um den Dienstperimeter zu finden, den Sie ändern müssen, können Sie Ihre Logs auf Einträge prüfen, die
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
-Verstöße enthalten. Prüfen Sie in diesen Einträgen das FeldservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
- Klicken Sie auf Perimeter bearbeiten.
- Klicken Sie auf Richtlinie für ausgehenden Traffic.
- Klicken Sie auf Regel für ausgehenden Traffic hinzufügen.
-
Legen Sie im Abschnitt VON die folgenden Details fest:
- Wählen Sie unter Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
-
Geben Sie die E‑Mail-Adresse des Prinzipal ein, mit dem die Security Command Center API aufgerufen wird.
- Wählen Sie das Hauptkonto aus oder drücken Sie die EINGABETASTE und klicken Sie dann auf Identitäten hinzufügen.
-
Legen Sie im Bereich TO die folgenden Details fest:
- Wählen Sie für Projekt die Option Alle Projekte aus.
- Wählen Sie unter Vorgänge oder IAM-Rollen die Option Vorgänge auswählen aus.
-
Klicken Sie auf Vorgänge hinzufügen und fügen Sie dann die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Richtlinie für eingehenden Traffic.
- Klicken Sie auf Regel für eingehenden Traffic hinzufügen.
-
Legen Sie im Abschnitt VON die folgenden Details fest:
- Wählen Sie unter Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
-
Geben Sie die E‑Mail-Adresse des Prinzipal ein, mit dem die Security Command Center API aufgerufen wird.
- Wählen Sie das Hauptkonto aus oder drücken Sie die EINGABETASTE und klicken Sie dann auf Identitäten hinzufügen.
- Wählen Sie für Quellen die Option Alle Quellen aus.
-
Legen Sie im Bereich TO die folgenden Details fest:
- Wählen Sie unter Projekt die Option Projekte auswählen aus.
- Klicken Sie auf Projekte hinzufügen und fügen Sie dann das Projekt hinzu, das das BigQuery-Dataset enthält.
- Wählen Sie unter Vorgänge oder IAM-Rollen die Option Vorgänge auswählen aus.
-
Klicken Sie auf Vorgänge hinzufügen und fügen Sie dann die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Speichern.
gcloud
-
Wenn noch kein Kontingentprojekt festgelegt ist, legen Sie es fest. Wählen Sie ein Projekt aus, für das die Access Context Manager API aktiviert ist.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Ersetzen Sie
QUOTA_PROJECT_ID
durch die ID des Projekts, das Sie für die Abrechnung und das Kontingent verwenden möchten. -
Erstellen Sie eine Datei mit dem Namen
egress-rule.yaml
und mit folgendem Inhalt:- egressFrom: identities: - PRINCIPAL_ADDRESS egressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_ADDRESS
durch die Adresse des Principals, der zum Aufrufen der Security Command Center API verwendet wird. -
Erstellen Sie eine Datei mit dem Namen
ingress-rule.yaml
und mit folgendem Inhalt:- ingressFrom: identities: - PRINCIPAL_ADDRESS sources: - accessLevel: '*' ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_ADDRESS
durch die Adresse des Principals, der zum Aufrufen der Security Command Center API verwendet wird. -
Fügen Sie dem Perimeter die Regel für ausgehenden Traffic hinzu:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-egress-policies=egress-rule.yaml
Ersetzen Sie Folgendes:
-
PERIMETER_NAME
: der Name des Perimeters. Zum Beispiel,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Um den Dienstperimeter zu finden, den Sie ändern müssen, können Sie Ihre Logs auf Einträge prüfen, die
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
-Verstöße enthalten. Prüfen Sie in diesen Einträgen das FeldservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
-
Fügen Sie dem Perimeter die Regel für eingehenden Traffic hinzu:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Ersetzen Sie Folgendes:
-
PERIMETER_NAME
: der Name des Perimeters. Zum Beispiel,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Um den Dienstperimeter zu finden, den Sie ändern müssen, können Sie Ihre Logs auf Einträge prüfen, die
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
-Verstöße enthalten. Prüfen Sie in diesen Einträgen das FeldservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
Weitere Informationen finden Sie unter Regeln für eingehenden und ausgehenden Traffic.
Neuen Export nach BigQuery einrichten
In diesem Schritt erstellen Sie eine Exportkonfiguration, um Ergebnisse in eine BigQuery-Instanz zu exportieren. Sie können Exportkonfigurationen auf Projekt-, Ordner- oder Organisationsebene erstellen. Wenn Sie beispielsweise Ergebnisse aus einem Projekt in ein BigQuery-Dataset exportieren möchten, erstellen Sie eine Exportkonfiguration auf Projektebene, um nur die Ergebnisse zu exportieren, die sich auf dieses Projekt beziehen. Optional können Sie Filter angeben, um nur bestimmte Ergebnisse zu exportieren.
Erstellen Sie Ihre Exportkonfigurationen auf der entsprechenden Ebene. Wenn Sie beispielsweise eine Exportkonfiguration in Projekt B erstellen, um Ergebnisse aus Projekt A zu exportieren, und Sie Filter wie resource.project_display_name: project-a-id
definieren, exportiert die Konfiguration keine Ergebnisse.
Sie können für Ihre Organisation maximal 500 Exportkonfigurationen in BigQuery erstellen. Sie können dasselbe Dataset für mehrere Exportkonfigurationen verwenden. Wenn Sie dasselbe Dataset verwenden, werden alle Aktualisierungen in derselben Ergebnistabelle vorgenommen.
Wenn Sie Ihre erste Exportkonfiguration erstellen, wird automatisch ein Dienstkonto für Sie angelegt. Dieses Dienstkonto ist erforderlich, um die Ergebnistabelle in einem Dataset zu erstellen oder zu aktualisieren und Ergebnisse in die Tabelle zu exportieren.
Es hat das Format service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
und erhält die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor
) auf BigQuery-Dataset-Ebene.
In der Google Cloud -Konsole haben einige BigQueryExport
-Ressourcen möglicherweise das Label Legacy. Das bedeutet, dass sie mit der v1 Security Command Center API erstellt wurden. Sie können diese BigQueryExport
-Ressourcen mit der Google Cloud -Konsole, der gcloud CLI, der Security Command Center API v1 oder den Clientbibliotheken für Security Command Center v1 verwalten.
Wenn Sie diese BigQueryExport
-Ressourcen mit der gcloud CLI verwalten möchten, dürfen Sie beim Ausführen des gcloud CLI-Befehls keinen Standort angeben.
gcloud
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktiviert haben.
Klicken Sie auf Cloud Shell aktivieren
.
Führen Sie den folgenden Befehl aus, um eine neue Exportkonfiguration zu erstellen:
gcloud scc bqexports create BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ersetzen Sie Folgendes:
BIGQUERY_EXPORT
durch einen Namen für diese Exportkonfiguration.DATASET_NAME
durch den Namen des BigQuery-Datasets, z. B.projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation oder Ihres Projekts. Sie müssen eine dieser Optionen festlegen. Bei Ordnern und Organisationen ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: Der Security Command Center-Standort, an dem eine Exportkonfiguration erstellt werden soll. Wenn die Datenresidenz aktiviert ist, verwenden Sieeu
,ksa
oderus
. Andernfalls verwenden Sie den Wertglobal
.DESCRIPTION
durch eine für Menschen lesbare Beschreibung der Exportkonfiguration. Diese Variable ist optional.FILTER
durch einen Ausdruck, der definiert, welche Ergebnisse in den Export einbezogen werden. Wenn Sie beispielsweise nach der XSS_SCRIPTING-Kategorie filtern möchten, geben Sie"category=\"XSS_SCRIPTING\"
ein. Diese Variable ist optional.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.
Exportkonfiguration für eine Organisation erstellen:
So erstellen Sie eine Exportkonfiguration für einen Ordner:
So erstellen Sie eine Exportkonfiguration für ein Projekt:
Java
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Die Ergebnisse sollten innerhalb von etwa 15 Minuten nach dem Erstellen der Exportkonfiguration in Ihrem BigQuery-Dataset angezeigt werden. Nachdem die BigQuery-Tabelle erstellt wurde, werden neue und aktualisierte Ergebnisse, die Ihrem Filter und Bereich entsprechen, nahezu in Echtzeit in der Tabelle angezeigt.
Informationen zum Ansehen der Ergebnisse finden Sie unter Ergebnisse prüfen.
Eingangsregel für den neuen Export nach BigQuery erstellen
Wenn Sie VPC Service Controls verwenden und Ihr BigQuery-Dataset Teil eines Projekts innerhalb eines Dienstperimeters ist, müssen Sie eine Ingress-Regel für einen neuen Export nach BigQuery erstellen.
Console
-
Öffnen Sie noch einmal den Dienstperimeter aus dem vorherigen Abschnitt.
- Klicken Sie auf Richtlinie für eingehenden Traffic.
- Klicken Sie auf Regel für eingehenden Traffic hinzufügen.
-
Legen Sie im Abschnitt VON die folgenden Details fest:
- Wählen Sie unter Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
-
Geben Sie die E-Mail-Adresse des Dienst-Agents für die BigQuery-Exportkonfiguration ein. Die Adresse des Dienst-Agents hat das folgende Format:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
Ersetzen Sie
ORGANIZATION_ID
durch Ihre Organisations-ID. - Wählen Sie den Service-Agent aus oder drücken Sie die EINGABETASTE und klicken Sie dann auf Identitäten hinzufügen.
- Wählen Sie für Quellen die Option Alle Quellen aus.
-
Legen Sie im Bereich TO die folgenden Details fest:
- Wählen Sie unter Projekt die Option Projekte auswählen aus.
- Klicken Sie auf Projekte hinzufügen und fügen Sie dann das Projekt hinzu, das das BigQuery-Dataset enthält.
- Wählen Sie unter Vorgänge oder IAM-Rollen die Option Vorgänge auswählen aus.
-
Klicken Sie auf Vorgänge hinzufügen und fügen Sie dann die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst bigquery.googleapis.com hinzu.
- Klicken Sie auf Speichern.
gcloud
-
Wenn noch kein Kontingentprojekt festgelegt ist, legen Sie es fest. Wählen Sie ein Projekt aus, für das die Access Context Manager API aktiviert ist.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Ersetzen Sie
QUOTA_PROJECT_ID
durch die ID des Projekts, das Sie für die Abrechnung und das Kontingent verwenden möchten. -
Erstellen Sie eine Datei mit dem Namen
ingress-rule.yaml
und mit folgendem Inhalt:- ingressFrom: identities: - serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com sources: - accessLevel: '*' ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
ORGANIZATION_ID
durch Ihre Organisations-ID. -
Fügen Sie dem Perimeter die Regel für eingehenden Traffic hinzu:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Ersetzen Sie Folgendes:
-
PERIMETER_NAME
: der Name des Perimeters. Zum Beispiel,accessPolicies/1234567890/servicePerimeters/example_perimeter
.Um den Dienstperimeter zu finden, den Sie ändern müssen, können Sie Ihre Logs auf Einträge prüfen, die
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
-Verstöße enthalten. Prüfen Sie in diesen Einträgen das FeldservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
-
Weitere Informationen finden Sie unter Regeln für eingehenden und ausgehenden Traffic.
Die ausgewählten Projekte, Nutzer und Dienstkonten können jetzt auf die geschützten Ressourcen zugreifen und Ergebnisse exportieren.
Wenn Sie alle Schritte in dieser Anleitung ausgeführt haben und Exporte ordnungsgemäß funktionieren, können Sie jetzt Folgendes löschen:
- Die Regel für eingehenden Traffic für das Hauptkonto
- Die Regel für ausgehenden Traffic für das Hauptkonto
Diese Regeln waren nur für die Konfiguration der Exportkonfiguration erforderlich. Damit Exportkonfigurationen weiterhin funktionieren, müssen Sie jedoch die Regel für eingehenden Traffic beibehalten, die Sie zuvor erstellt haben, damit Security Command Center Ergebnisse in Ihr BigQuery-Dataset hinter dem Dienstperimeter exportieren kann.
Details einer Exportkonfiguration aufrufen
gcloud
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktiviert haben.
Klicken Sie auf Cloud Shell aktivieren
.
Führen Sie den folgenden Befehl aus, um die Details der Exportkonfiguration zu prüfen:
gcloud scc bqexports get BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
BIGQUERY_EXPORT
durch den Namen dieser Exportkonfiguration.FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation oder Ihres Projekts. Sie müssen eine dieser Optionen festlegen. Bei Ordnern und Organisationen ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: Der Security Command Center-Standort, an dem eine Exportkonfiguration erstellt werden soll. Wenn die Datenresidenz aktiviert ist, verwenden Sieeu
,ksa
oderus
. Andernfalls verwenden Sie den Wertglobal
.Führen Sie beispielsweise den folgenden Befehl aus, um eine Exportkonfiguration mit dem Namen
my-bq-export
aus einer Organisation mit einer Organisations-ID abzurufen, die auf123
festgelegt ist:gcloud scc bqexports get my-bq-export \ --organization=123 \ --location=global
Exportkonfiguration aktualisieren
Bei Bedarf können Sie den Filter, das Dataset und die Beschreibung einer vorhandenen Exportkonfiguration ändern. Der Name der Exportkonfiguration kann nicht geändert werden.
gcloud
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktiviert haben.
Klicken Sie auf Cloud Shell aktivieren
.
Führen Sie den folgenden Befehl aus, um eine Exportkonfiguration zu aktualisieren:
gcloud scc bqexports update BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ersetzen Sie Folgendes:
BIGQUERY_EXPORT
durch den Namen der Exportkonfiguration, die Sie aktualisieren möchten.DATASET_NAME
durch den Namen des BigQuery-Datasets, z. B.projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation oder Ihres Projekts. Sie müssen eine dieser Optionen festlegen. Bei Ordnern und Organisationen ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: der Security Command Center-Standort, an dem die Exportkonfiguration aktualisiert werden soll. Wenn die Datenresidenz aktiviert ist, verwenden Sieeu
,ksa
oderus
. Andernfalls verwenden Sie den Wertglobal
.DESCRIPTION
durch eine für Menschen lesbare Beschreibung der Exportkonfiguration. Diese Variable ist optional.FILTER
durch einen Ausdruck, der definiert, welche Ergebnisse in den Export einbezogen werden. Wenn Sie beispielsweise nach der XSS_SCRIPTING-Kategorie filtern möchten, geben Sie"category=\"XSS_SCRIPTING\"
ein. Diese Variable ist optional.
Alle Exportkonfigurationen anzeigen
Sie können alle Exportkonfigurationen in Ihrer Organisation, in Ihrem Ordner oder in Ihrem Projekt ansehen.
gcloud
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktiviert haben.
Klicken Sie auf Cloud Shell aktivieren
.
Führen Sie den folgenden Befehl aus, um die Exportkonfigurationen aufzulisten:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Ersetzen Sie Folgendes:
FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation oder Ihres Projekts. Sie müssen eine dieser Optionen festlegen. Bei Ordnern und Organisationen ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.Wenn Sie eine Organisations-ID angeben, enthält die Liste alle Exportkonfigurationen, die in dieser Organisation definiert sind, einschließlich der Konfigurationen auf Ordner- und Projektebene. Wenn Sie eine Ordner-ID angeben, enthält die Liste alle Exportkonfigurationen, die auf Ordnerebene und in den Projekten in diesem Ordner definiert sind. Wenn Sie eine Projektnummer oder Projekt-ID angeben, enthält die Liste alle Exportkonfigurationen nur für dieses Projekt.
LOCATION
: Der Security Command Center-Standort, an dem Exportkonfigurationen aufgeführt werden sollen. Wenn die Datenresidenz aktiviert ist, verwenden Sieeu
,ksa
oderus
. Andernfalls verwenden Sie den Wertglobal
.LIMIT
durch die Anzahl der Exportkonfigurationen, die Sie anzeigen möchten. Diese Variable ist optional.PAGE_SIZE
durch einen Wert für die Seitengröße. Diese Variable ist optional.
Java
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Exportkonfiguration löschen
Wenn Sie eine Exportkonfiguration nicht mehr benötigen, können Sie sie löschen.
gcloud
Rufen Sie die Google Cloud Console auf.
Wählen Sie das Projekt aus, für das Sie die Security Command Center API aktiviert haben.
Klicken Sie auf Cloud Shell aktivieren
.
Führen Sie den folgenden Befehl aus, um eine Exportkonfiguration zu löschen:
gcloud scc bqexports delete BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
BIGQUERY_EXPORT
durch einen Namen für die Exportkonfiguration, die Sie löschen möchten.FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation oder Ihres Projekts. Sie müssen eine dieser Optionen festlegen. Bei Ordnern und Organisationen ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: Der Security Command Center-Standort, an dem die Exportkonfiguration gelöscht werden soll. Wenn die Datenresidenz aktiviert ist, verwenden Sieeu
,ksa
oderus
. Andernfalls verwenden Sie den Wertglobal
.Führen Sie beispielsweise den folgenden Befehl aus, um eine Exportkonfiguration mit dem Namen
my-bq-export
aus einer Organisation mit einer Organisations-ID zu löschen, die auf123
gesetzt ist:gcloud scc bqexports delete my-bq-export \ --organization=123 \ --location=global
Java
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Security Command Center Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Nachdem Sie die Exportkonfiguration gelöscht haben, können Sie die Daten aus Looker Studio entfernen. Weitere Informationen finden Sie unter Datenquelle entfernen, löschen und wiederherstellen.
Ergebnisse in BigQuery prüfen
Nachdem Sie eine Exportkonfiguration erstellt haben, werden neue Ergebnisse in das BigQuery-Dataset in dem von Ihnen angegebenen Projekt exportiert.
So prüfen Sie die Ergebnisse in BigQuery:
Wechseln Sie zum Projekt in BigQuery.
Wählen Sie ein Projekt aus.
Maximieren Sie im Bereich Explorer den Knoten für Ihr Projekt.
Erweitern Sie Ihr Dataset.
Klicken Sie auf die Tabelle Ergebnisse.
Klicken Sie im geöffneten Tab auf Vorschau. Ein Beispielsatz mit Daten wird angezeigt:
Nützliche Abfragen
Dieser Abschnitt enthält Beispielabfragen für die Analyse von Ergebnisdaten. Ersetzen Sie in den folgenden Beispielen DATASET
durch den Namen, der Ihrem Dataset zugewiesen wurde, und PROJECT_ID
durch den Projektnamen für Ihr Dataset.
Informationen zur Behebung von Fehlern finden Sie unter Fehlermeldungen.
Die Anzahl neuer Ergebnisse, die täglich erstellt und aktualisiert werden
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
Der neueste Ergebnisdatensatz für jedes Ergebnis
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
Aktive Ergebnisse, sortiert nach Zeit
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
Aktuelle Ergebnisse in einem Projekt
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
Ersetzen Sie PROJECT
durch den Projektnamen.
Aktuelle Ergebnisse in einem Ordner
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
Ersetzen Sie FOLDER
durch den Ordnernamen.
Aktuelle Ergebnisse des Scanners Logging Scanner
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
Aktuell aktive Ergebnisse vom Typ Persistence: IAM Anomalous Grant
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
Aktive Ergebnisse eines bestimmten Typs mit Cloud-Audit-Logs korrelieren
Diese Beispielabfrage hilft, anomale IAM-Erteilungsergebnisse aus Event Threat Detection mithilfe von Cloud-Audit-Logs zu untersuchen. Dazu wird die Sequenz der Administratoraktivitätsaktion während des Zeitfensters vor und auf die Ausführung der anomalen IAM-Zuweisungsaktion angezeigt. Die folgende Abfrage korreliert Administratoraktivitätslogs zwischen einer Stunde vor und einer Stunde nach dem Zeitstempel des Ergebnisses.
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
Die Ausgabe sieht etwa so aus:

Diagramme in Looker Studio erstellen
Mit Looker Studio können Sie interaktive Berichte und Dashboards erstellen.
Im Allgemeinen fallen Kosten für die BigQuery-Nutzung an, wenn Sie über Looker Studio auf BigQuery zugreifen. Weitere Informationen finden Sie unter BigQuery-Daten mit Looker Studio visualisieren.
So erstellen Sie ein Diagramm, das die Ergebnisdaten nach Schweregrad und Kategorie visualisiert:
- Öffnen Sie Looker Studio und melden Sie sich an.
- Wenn Sie dazu aufgefordert werden, geben Sie zusätzliche Informationen an und richten Sie andere Einstellungen ein. Lesen Sie die Nutzungsbedingungen und fahren Sie fort, wenn Sie zufrieden sind.
- Klicken Sie auf Leerer Bericht.
- Klicken Sie auf dem Tab Datenverbindung herstellen auf die Karte BigQuery.
- Autorisieren Sie Looker Studio für den Zugriff auf BigQuery-Projekte, wenn Sie dazu aufgefordert werden.
Stellen Sie eine Verbindung zu Ihren Ergebnisdaten her:
- Wählen Sie unter Projekt das Projekt für Ihr Dataset aus. Geben Sie alternativ auf dem Tab Meine Projekte Ihre Projekt-ID ein, um danach zu suchen.
- Klicken Sie unter Dataset auf den Namen Ihres Datasets.
- Klicken Sie unter Tabelle auf Ergebnisse.
- Klicken Sie auf Add.
- Klicken Sie im Dialogfeld auf Zum Bericht hinzufügen.
Nachdem der Bericht hinzugefügt wurde, klicken Sie auf Diagramm hinzufügen.
Klicken Sie auf Gestapeltes Säulendiagramm und dann auf den Bereich, in dem Sie das Diagramm platzieren möchten.
Legen Sie im Bereich Diagramm > Balken auf dem Tab Daten die folgenden Felder fest:
- Wählen Sie im Feld Dimension die Option finding.severity aus.
- Wählen Sie im Feld Aufschlüsselungsdimension die Option finding.category aus.
Der Bericht wird so aktualisiert, dass er mehrere Spalten mit nach Schweregrad und Kategorie aufgeschlüsselten Ergebnissen enthält.