Auf dieser Seite wird beschrieben, wie Sie neue und aktualisierte Ergebnisse mit der Exportfunktion von Security Command Center für BigQuery in ein BigQuery-Dataset streamen. Vorhandene Ergebnisse werden nicht an BigQuery, es sei denn, sie werden aktualisiert.
BigQuery ist die vollständig verwaltete und vollständig verwaltete Kostengünstiges Data Warehouse für Analysen, mit dem Sie umfangreiche Analysen große Datenmengen nahezu in Echtzeit. Mit BigQuery können Sie Abfragen von neuen und aktualisierten Ergebnissen durchführen, Daten nach Bedarf filtern und Benutzerdefinierte Berichte zu erstellen. Um mehr über BigQuery zu erfahren, lesen Sie die BigQuery-Dokumentation.
Übersicht
Wenn Sie diese Funktion aktivieren, werden neue Ergebnisse Security Command Center werden nahezu echt in eine BigQuery-Tabelle exportiert, . Sie können die Daten dann in vorhandene Workflows einbinden und benutzerdefinierte Analysen. 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 diese Funktion mehrere Ergebnisdatensätze mit
dieselben source_id
- und finding_id
-Werte, aber mit unterschiedlichem event_time
Werte. Mit dieser Dataset-Struktur können Sie sehen, wie sich der Status jedes Ergebnisses ändert
im Laufe der Zeit.
Beachten Sie, dass doppelte Einträge in Ihrem Dataset vorhanden sein können. Um sie zu parsen,
die DISTINCT
-Klausel verwenden, wie in der
erste Beispielabfrage.
Jedes Dataset enthält eine findings
-Tabelle mit den folgenden Feldern:
Feld | Beschreibung |
---|---|
source_id |
Eine eindeutige Kennung, die Security Command Center der Quelle eines Ergebnisses zuweist. Beispielsweise haben alle Ergebnisse aus der Quelle der Cloud-Anomalieerkennung "source_id" an. Beispiel: |
finding_id | Eindeutige Kennung für das Ergebnis. Sie ist innerhalb eines Quelle für eine Organisation. Sie ist alphanumerisch und besteht aus höchstens 32 Zeichen. |
event_time |
Die Zeit, zu der das Ereignis aufgetreten ist, oder die Zeit, zu der eine Aktualisierung des Ergebnisses erfolgt ist. Wenn das Ergebnis z. B. eine offene
Firewall, dann erfasst Beispiel: |
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. Beispiel: Cross-Site-Scripting (XSS) in einer App Engine-Umgebung ist eine Erkenntnis.
Weitere Informationen zu den verschachtelten Feldern finden Sie in der API-Referenz zum Objekt |
Ressource |
Informationen zur Google Cloud-Ressource, die die mit diesem Ergebnis verknüpft sind.
Weitere Informationen zu den verschachtelten Feldern finden Sie in der API-Referenz
für die
|
Kosten
Für diese Funktion fallen BigQuery-Gebühren an. Weitere Informationen finden Sie unter BigQuery-Preise.
Hinweis
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):
In der Organisation, dem Ordner oder dem Projekt, in das Sie die Ergebnisse exportieren möchten „from“ mit einem der folgenden Werte:
- 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
(
Für das BigQuery-Dataset BigQuery-Dateninhaber (
roles/bigquery.dataOwner
).
BigQuery-Dataset erstellen
BigQuery-Dataset erstellen Weitere Informationen finden Sie unter Datasets erstellen.
Datenstandort planen
Wenn der Datenstandort für
Security Command Center, die Konfigurationen, die Streamingexporte in
Für BigQuery (BigQueryExport
Ressourcen) gelten
Datenstandortkontrolle und werden in einem
Speicherort von Security Command Center
die Sie auswählen.
So exportieren Sie Ergebnisse an einem Security Command Center-Speicherort nach BigQuery: müssen Sie den BigQuery-Export in derselben Security Command Center-Standort als Ergebnisse.
Da die Filter, die in BigQuery-Exporten verwendet werden, Daten enthalten können, die den Steuerregeln für Personen mit Wohnsitz in der EU unterliegen, müssen Sie vor dem Erstellen den richtigen Standort angeben. Security Command Center schränkt nicht ein, Standort, an dem Sie Exporte erstellen.
BigQuery-Exporte werden nur an dem Ort gespeichert, an dem sie erstellt und können an anderen Orten nicht angezeigt oder bearbeitet werden.
Nachdem Sie einen BigQuery-Export erstellt haben, können Sie seinen Speicherort nicht mehr ändern. Wenn Sie den Speicherort ändern möchten, müssen Sie den BigQuery-Export löschen und am neuen Speicherort neu erstellen.
Wenn Sie einen BigQuery-Export mit API-Aufrufen abrufen möchten, müssen Sie den Speicherort im vollständigen Ressourcennamen der bigQueryExport
angeben.
Beispiel:
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/bigQueryExports/my-export-01}
Um einen BigQuery-Export mithilfe der Methode
gcloud CLI verwenden, müssen Sie den Standort entweder im vollständigen
Ressourcennamen der Konfiguration oder mithilfe des Flags --locations
. Beispiel:
gcloud scc scc bqexports get myBigQueryExport organizations/123 \
--location=locations/us
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 verwenden Sie gcloud CLI verwenden, um eine neue Exportkonfiguration zu erstellen, BigQuery
Perimeterzugriff in VPC Service Controls gewähren
Wenn Sie VPC Service Controls verwenden und Ihr Das BigQuery-Dataset ist Teil eines Projekts innerhalb eines Dienstperimeters. muss Zugriff auf Projekte gewähren, um Ergebnisse exportieren zu können.
Wenn Sie Zugriff auf Projekte gewähren möchten, erstellen Sie Regeln für eingehenden und ausgehenden Traffic für die Hauptpersonen und Projekte, aus denen Sie Ergebnisse exportieren. Die Regeln ermöglichen den Zugriff auf geschützte Ressourcen und ermöglichen es BigQuery, zu prüfen, ob Nutzer die Berechtigung setIamPolicy
für das BigQuery-Dataset haben.
Bevor Sie einen neuen Export nach BigQuery einrichten
Rufen Sie in der Google Cloud Console die Seite „VPC Service Controls“ auf.
Wählen Sie gegebenenfalls Ihre Organisation aus.
Klicken Sie auf den Namen des Dienstperimeters, den Sie ändern möchten.
Den zu ändernden Dienstperimeter finden Sie in Ihren Logs. für Einträge, die
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Verstöße zeigen. Prüfen Sie in diesen Einträgen das FeldservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Klicken Sie auf Perimeter bearbeiten.
Klicken Sie im Navigationsmenü auf Richtlinie für eingehenden Traffic.
Verwenden Sie die folgenden Parameter, um Regeln für eingehenden Traffic für Nutzer oder Dienstkonten zu konfigurieren:
- FROM-Attribute des API-Clients:
- Wählen Sie im Menü Identitäten die Option Ausgewählte Identitäten aus.
- Wählen Sie im Menü Quelle die Option Alle Quellen aus.
- Klicken Sie auf Auswählen und geben Sie dann den Nutzer ein, mit dem die Security Command Center API aufgerufen wird.
- TO-Attribute von Google Cloud-Diensten/-Ressourcen:
- Wählen Sie im Menü Projekt die Option Ausgewählte Projekte aus.
- Klicken Sie auf Auswählen und geben Sie dann das Projekt ein, das die BigQuery-Dataset
- Wählen Sie im Menü Dienste die Option Ausgewählte Dienste aus. Wählen Sie dann BigQuery API aus.
- Wählen Sie im Menü Methoden die Option Alle Aktionen aus.
- FROM-Attribute des API-Clients:
Klicken Sie auf Speichern.
Klicken Sie im Navigationsmenü auf Richtlinie für ausgehenden Traffic.
Klicken Sie auf Add Rule (Regel hinzufügen).
Geben Sie folgende Parameter ein, um Regeln für ausgehenden Traffic für Nutzer- oder Dienstkonten zu konfigurieren:
- FROM-Attribute des API-Clients:
- Wählen Sie im Menü Identitäten die Option Ausgewählte Identitäten aus.
- Klicken Sie auf Auswählen und geben Sie dann das Hauptkonto ein, das zum Aufrufen der Security Command Center API.
- TO-Attribute von Google Cloud-Diensten/-Ressourcen:
- Wählen Sie im Menü Projekt die Option Alle Projekte aus.
- Wählen Sie im Menü Dienste die Option Ausgewählte Dienste und dann BigQuery API aus.
- Wählen Sie im Menü Methoden die Option Alle Aktionen aus.
- FROM-Attribute des API-Clients:
Klicken Sie auf Speichern.
Neuen Export nach BigQuery einrichten
In diesem Schritt erstellen Sie eine Exportkonfiguration, um Ergebnisse in eine BigQuery-Instanz. Sie können Exportkonfigurationen auf der Projekt-, Ordner- oder Organisationsebene. 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 bestimmte Ergebnisse zu exportieren .
Erstellen Sie Ihre Exportkonfigurationen auf der entsprechenden Ebene. Für
Wenn Sie beispielsweise eine Exportkonfiguration in Projekt B erstellen, um Ergebnisse zu exportieren,
aus Projekt A und Sie definieren Filter wie
resource.project_display_name: project-a-id
, die Konfiguration wird nicht exportiert
alle 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 ein Dienstkonto
automatisch für Sie erstellt. Dieses Dienstkonto ist erforderlich, um die Ergebnistabelle in einem Dataset zu erstellen oder zu aktualisieren und Ergebnisse in die Tabelle zu exportieren.
Sie hat die Form
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
und
erhält die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor
) am
BigQuery-Dataset-Ebene.
gcloud
Öffnen Sie die Google Cloud Console.
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 BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ersetzen Sie Folgendes:
BIG_QUERY_EXPORT
durch einen Namen für diesen Export Konfiguration.DATASET_NAME
durch den Namen des BigQuery-Dataset, 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. Für Ordner und Organisationen, ist der Name die Ordner-ID oder die Organisations-ID. Für Projekte enthält, ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: Wenn die Datenspeicherung aktiviert ist, geben Sie den Speicherort im Security Command Center an, an dem der BigQuery-Export erstellt werden soll. Die Die BigQuery-Exportkonfiguration wird an diesem Speicherort gespeichert. Nur Ergebnisse aus diesem Speicherort werden in den Export aufgenommen.Wenn der Datenstandort nicht aktiviert ist, wird durch Angabe des Flags
--location
erstellt, den BigQuery-Export mit der Security Command Center API v2 und ist der einzige gültige Wert für das Flagglobal
.DESCRIPTION
mit einer für Menschen lesbaren Beschreibung der Exportkonfiguration. Diese Variable ist optional.FILTER
durch einen Ausdruck, der definiert, welche Ergebnisse in den Export aufzunehmen. Wenn Sie beispielsweise nach der XSS_SCRIPTING-Kategorie filtern möchten, geben Sie"category=\"XSS_SCRIPTING\"
ein. Diese Variable ist optional.
Java
Richten Sie zur Authentifizierung bei Security Command Center die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten
Im folgenden Beispiel wird die v1 API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie der Ressource /locations/LOCATION
hinzu, um Ergebnisse zu erhalten
Name nach /sources/SOURCE_ID
, wobei SOURCE_ID
ist die ID des
Security Command Center-Dienst
die das Fundament erhalten haben.
Python
Richten Sie zur Authentifizierung bei Security Command Center die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird die v1-API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie der Ressource /locations/LOCATION
hinzu, um Ergebnisse zu erhalten
Name nach /sources/SOURCE_ID
, wobei SOURCE_ID
ist die ID des
Security Command Center-Dienst
die das Fundament erhalten haben.
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.
Ingress-Regel für den neuen Export nach BigQuery erstellen
Wenn Sie VPC Service Controls verwenden und Ihr Das BigQuery-Dataset ist Teil eines Projekts innerhalb eines Dienstperimeters. muss für einen neuen Export nach BigQuery eine Regel für eingehenden Traffic erstellen.
Öffnen Sie den Dienstperimeter von Richten Sie einen neuen Export nach BigQuery ein.
Klicken Sie auf Richtlinie für eingehenden Traffic.
Klicken Sie auf Add Rule (Regel hinzufügen).
Geben Sie die folgenden Parameter ein, um die Regel für eingehenden Traffic für die Exportkonfigurationen zu konfigurieren:
- FROM-Attribute des API-Clients:
- Wählen Sie im Drop-down-Menü Quelle die Option Alle Quellen aus.
- Wählen Sie im Drop-down-Menü Identitäten die Option Ausgewählte Identitäten aus.
- Klicken Sie auf Auswählen und geben Sie den Namen des Dienstkontos für die BigQuery-Exportkonfiguration ein:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
.
- TO-Attribute von GCP-Diensten/-Ressourcen:
- Wählen Sie im Drop-down-Menü Projekt die Option Ausgewählte Projekte aus.
- Klicken Sie auf Auswählen und wählen Sie das Projekt aus, das den BigQuery-Dataset
- Wählen Sie im Drop-down-Menü Services die Option Ausgewählte Services aus. Wählen Sie dann BigQuery API aus.
- Wählen Sie im Drop-down-Menü Methoden die Option Alle Aktionen aus.
- FROM-Attribute des API-Clients:
Klicken Sie im Navigationsmenü auf Speichern.
Die ausgewählten Projekte, Nutzer und Dienstkonten können jetzt auf die geschützten und die Ergebnisse exportieren.
Wenn Sie alle Schritte in dieser Anleitung befolgt haben und die Exporte funktionieren können Sie Folgendes löschen:
- Die Regel für eingehenden Traffic für das Hauptkonto
- Die Ausgangsregel für das Hauptkonto
Diese Regeln wurden nur zum Konfigurieren der Exportkonfiguration benötigt. Damit Exportkonfigurationen jedoch weiterhin funktionieren, müssen Sie die zuvor erstellte Regel für eingehenden Traffic beibehalten, damit Security Command Center Ergebnisse in Ihr BigQuery-Dataset hinter dem Dienstperimeter exportieren kann.
Details einer Exportkonfiguration aufrufen
gcloud
Öffnen Sie die Google Cloud Console.
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 BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
BIG_QUERY_EXPORT
durch den Namen dieses Exports Konfiguration.FOLDER_ID
,ORGANIZATION_ID
oderPROJECT_ID
durch den Namen Ihres Ordners, Ihrer Organisation, oder ein Projekt erstellen. 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
: erforderlich, wenn entweder der Datenstandort aktiviert ist oder die RessourceBigQueryExport
wurde mit der API V2 erstellt.Wenn der Datenstandort aktiviert ist, geben Sie den Security Command Center-Speicherort in dem der Export gespeichert wird.
Wenn der Datenstandort nicht aktiviert ist, fügen Sie
/locations/LOCATION
nur, wenn dieBigQueryExport
Ressource wurde mit der Security Command Center API Version 2 erstellt, in der ist der einzige gültige Standortglobal
.Für den Abruf einer Exportkonfiguration mit dem Namen
my-bq-export
aus einer Organisation mit der Organisations-ID123
, führen Sie Folgendes aus:gcloud scc bqexports get my-bq-export \ --organization=123
Java
Richten Sie die Standardeinstellung der Anwendung ein, um sich bei Security Command Center zu authentifizieren Anmeldedaten. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird die v1 API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie der Ressource /locations/LOCATION
hinzu, um Ergebnisse zu erhalten
Name nach /sources/SOURCE_ID
, wobei SOURCE_ID
ist die ID des
Security Command Center-Dienst
die das Fundament erhalten haben.
Python
Richten Sie die Standardeinstellung der Anwendung ein, um sich bei Security Command Center zu authentifizieren Anmeldedaten. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird die v1 API verwendet. So ändern Sie die Einstellungen:
im Beispiel für v2, ersetzen Sie v1
durch v2
und fügen Sie
/locations/LOCATION
für den Ressourcennamen.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie der Ressource /locations/LOCATION
hinzu, um Ergebnisse zu erhalten
Name nach /sources/SOURCE_ID
, wobei SOURCE_ID
ist die ID des
Security Command Center-Dienst
die das Fundament erhalten haben.
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
Öffnen Sie die Google Cloud Console.
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 BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ersetzen Sie Folgendes:
BIG_QUERY_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
: erforderlich, wenn entweder der Datenstandort gleich ist aktiviert oder die RessourceBigQueryExport
mit der API V2 erstellt wurde.Wenn der Datenstandort aktiviert ist, geben Sie den Security Command Center-Speicherort an, an dem der Export gespeichert wird.
Wenn der Datenstandort nicht aktiviert ist, geben Sie
/locations/LOCATION
in den vollständigen Namen ein oder geben Sie das Flag--location
nur an, wenn dieBigQueryExport
-Ressource mit der Security Command Center API v2 erstellt wurde. In diesem Fall istglobal
der einzige gültige Speicherort.DESCRIPTION
durch eine menschenlesbare Beschreibung des 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.
Java
Richten Sie zur Authentifizierung bei Security Command Center die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten
Im folgenden Beispiel wird die v1-API verwendet. So ändern Sie die Einstellungen:
im Beispiel für v2, ersetzen Sie v1
durch v2
und fügen Sie
/locations/LOCATION
für den Ressourcennamen.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie bei Ergebnissen dem Ressourcennamen nach /sources/SOURCE_ID
die Zeichenfolge /locations/LOCATION
hinzu. Dabei ist SOURCE_ID
die ID des Security Command Center-Dienstes, der das Ergebnis ausgegeben hat.
Python
Richten Sie die Standardeinstellung der Anwendung ein, um sich bei Security Command Center zu authentifizieren Anmeldedaten. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten
Im folgenden Beispiel wird die v1 API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie bei Ergebnissen dem Ressourcennamen nach /sources/SOURCE_ID
die Zeichenfolge /locations/LOCATION
hinzu. Dabei ist SOURCE_ID
die ID des Security Command Center-Dienstes, der das Ergebnis ausgegeben hat.
Alle Exportkonfigurationen anzeigen
Sie können alle Exportkonfigurationen in Ihrer Organisation, in Ihrem Ordner oder in Ihrem Projekt anzeigen.
gcloud
Öffnen Sie die Google Cloud Console.
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 ein Projekt erstellen. Sie müssen eine dieser Optionen festlegen. Für Ordner 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 Exporte Konfigurationen, die in dieser Organisation definiert wurden, einschließlich jener im Ordner und auf Projektebene. Wenn Sie eine Ordner-ID angeben, enthält die Liste alle Konfigurationen exportieren, die auf Ordnerebene und in den Projekten definiert wurden in diesem Ordner. Wenn Sie eine Projektnummer oder Projekt-ID angeben, enthält die Liste alle Exportkonfigurationen nur für dieses Projekt.
LOCATION
: erforderlich, wenn entweder der Datenstandort aktiviert ist oder dieBigQueryExport
-Ressourcen wurden mit der v2-API erstellt.Wenn der Datenstandort aktiviert ist, geben Sie den Security Command Center-Speicherort in dem die Exporte gespeichert werden.
Wenn der Datenstandort nicht aktiviert ist, werden mit dem Flag
--location
nur dieBigQueryExport
-Ressourcen aufgelistet, die mit der Security Command Center API v2 erstellt wurden. Der einzige gültige Speicherort ist dannglobal
.LIMIT
durch die Anzahl der Exportkonfigurationen, die Sie anzeigen möchten. Diese Variable ist optional.PAGE_SIZE
mit einem Wert der Seitengröße. Diese Variable ist optional.
Java
Richten Sie zur Authentifizierung bei Security Command Center die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird die v1-API verwendet. So ändern Sie die Einstellungen:
im Beispiel für v2, ersetzen Sie v1
durch v2
und fügen Sie
/locations/LOCATION
für den Ressourcennamen.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie der Ressource /locations/LOCATION
hinzu, um Ergebnisse zu erhalten
Name nach /sources/SOURCE_ID
, wobei SOURCE_ID
ist die ID des
Security Command Center-Dienst
die das Fundament erhalten haben.
Python
Richten Sie zur Authentifizierung bei Security Command Center die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird die v1-API verwendet. So ändern Sie die Einstellungen:
im Beispiel für v2, ersetzen Sie v1
durch v2
und fügen Sie
/locations/LOCATION
für den Ressourcennamen.
Für die meisten Ressourcen fügen Sie /locations/LOCATION
zum
Ressourcenname nach /PARENT/PARENT_ID
, wobei
PARENT
ist der organizations
, folders
,
oder projects
.
Fügen Sie bei Ergebnissen dem Ressourcennamen nach /sources/SOURCE_ID
die Zeichenfolge /locations/LOCATION
hinzu. Dabei ist SOURCE_ID
die ID des Security Command Center-Dienstes, der das Ergebnis ausgegeben hat.
Exportkonfiguration löschen
Wenn Sie eine Exportkonfiguration nicht mehr benötigen, können Sie sie löschen.
gcloud
Öffnen Sie die Google Cloud Console.
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 BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
BIG_QUERY_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 ein Projekt erstellen. Sie müssen eine dieser Optionen festlegen. Für Ordner und Organisationen, ist der Name die Ordner-ID oder die Organisations-ID. Bei Projekten ist der Name die Projektnummer oder die Projekt-ID.LOCATION
: Erforderlich, wenn entweder die Datenspeicherung aktiviert ist oder dieBigQueryExport
-Ressource mit der v2 API erstellt wurde.Wenn der Datenstandort aktiviert ist, geben Sie den Security Command Center-Speicherort an, an dem der Export gespeichert wird.
Wenn die Datenspeicherorte nicht aktiviert sind, geben Sie
/locations/LOCATION
nur an, wenn dieBigQueryExport
-Ressource mit der Security Command Center API v2 erstellt wurde. In diesem Fall istglobal
der einzige gültige Standort.So löschen Sie beispielsweise eine Exportkonfiguration mit dem Namen
my-bq-export
. Führen Sie für eine Organisation mit der Organisations-ID123
folgenden Befehl aus:gcloud scc bqexports delete my-bq-export \ --organization=123
Java
Richten Sie die Standardeinstellung der Anwendung ein, um sich bei Security Command Center zu authentifizieren Anmeldedaten. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten
Im folgenden Beispiel wird die v1 API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Fügen Sie bei den meisten Ressourcen dem Ressourcennamen nach /PARENT/PARENT_ID
die Zahl /locations/LOCATION
hinzu. Dabei steht PARENT
für organizations
, folders
oder projects
.
Fügen Sie bei Ergebnissen dem Ressourcennamen nach /sources/SOURCE_ID
die Zeichenfolge /locations/LOCATION
hinzu. Dabei ist SOURCE_ID
die ID des Security Command Center-Dienstes, der das Ergebnis ausgegeben hat.
Python
Richten Sie die Standardeinstellung der Anwendung ein, um sich bei Security Command Center zu authentifizieren Anmeldedaten. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten
Im folgenden Beispiel wird die v1-API verwendet. Wenn Sie das Beispiel für Version 2 anpassen möchten, ersetzen Sie v1
durch v2
und fügen Sie dem Ressourcennamen /locations/LOCATION
hinzu.
Fügen Sie bei den meisten Ressourcen dem Ressourcennamen nach /PARENT/PARENT_ID
die Zahl /locations/LOCATION
hinzu. Dabei steht PARENT
für organizations
, folders
oder projects
.
Fügen Sie bei Ergebnissen dem Ressourcennamen nach /sources/SOURCE_ID
die Zeichenfolge /locations/LOCATION
hinzu. Dabei ist SOURCE_ID
die ID des Security Command Center-Dienstes, der das Ergebnis ausgegeben hat.
Nachdem Sie die Exportkonfiguration gelöscht haben, können Sie die Daten aus Looker Studio 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.
Wenn Sie sich nicht im richtigen Projekt befinden, gehen Sie so vor:
- Klicken Sie in der Symbolleiste auf die Projektauswahl .
- Wählen Sie neben Auswählen aus Ihre Organisation aus.
- Wählen Sie in der Projektliste Ihr 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 Ihrem Dataset zugewiesenen Namen 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 in 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.
- Wenn Sie dazu aufgefordert werden, gewähren Sie Looker Studio Zugriff auf BigQuery-Projekte
Stellen Sie eine Verbindung zu Ihren Ergebnisdaten her:
- Wählen Sie unter Projekt das Projekt für Ihr Dataset aus. Oder in der 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, den Sie platziere es.
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.
Nächste Schritte
Hier erfahren Sie, wie Sie Eine Abfrage in BigQuery ausführen