Auf dieser Seite wird erläutert, wie Sie Security Command Center API-Benachrichtigungen aktivieren.
Benachrichtigungen senden Ergebnisse und Ergebnisaktualisierungen innerhalb von Minuten an ein Pub/Sub-Thema. Security Command Center API-Benachrichtigungen enthalten alle Ergebnisinformationen, die im Security Command Center in derGoogle Cloud -Konsole angezeigt werden.
Sie können Security Command Center-Benachrichtigungen in Pub/Sub direkt mit Cloud Run-Funktionen verbinden. Beispielfunktionen, die beim Antworten, bei der Anreicherung und der Problembehebung helfen, finden Sie im Open-Source-Repository von Security Command Center unter Cloud Run-Funktionscode. Das Repository enthält Lösungen, die Sie bei der Durchführung automatisierter Aktionen zu Sicherheitsergebnissen unterstützen.
Alternativ können Sie Ergebnisse nach BigQuery exportieren oder kontinuierliche Exporte für Pub/Sub in der Google Cloud -Konsole einrichten.
Hinweise
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Einrichten und Konfigurieren von Security Command Center API-Benachrichtigungen benötigen:
-
Sicherheitscenter-Administrator (
roles/securitycenter.admin
) für die Organisation oder das Projekt, in dem das Security Command Center aktiviert ist -
Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin
) für das Projekt, in dem Sie das Pub/Sub-Thema erstellen
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
Sicherheitscenter-Administrator (
-
Enable the Security Command Center API:
gcloud services enable securitycenter.googleapis.com
Datenstandort und Benachrichtigungen
Wenn der Datenstandort für Security Command Center aktiviert ist, unterliegen die Konfigurationen, die Continuous Exports für Pub/Sub-notificationConfig
-Ressourcen definieren, der Datenstandortsteuerung und werden an Ihrem Security Command Center-Speicherort gespeichert.
Wenn Sie Ergebnisse an einem Security Command Center-Speicherort nach Pub/Sub exportieren möchten, müssen Sie den kontinuierlichen Export an demselben Security Command Center-Speicherort wie die Ergebnisse konfigurieren.
Da die Filter, die in kontinuierlichen 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. Im Security Command Center ist nicht festgelegt, an welchem Speicherort Sie Exporte erstellen.
Kontinuierliche Exporte werden nur an dem Ort gespeichert, an dem sie erstellt wurden. Sie können an anderen Orten nicht angezeigt oder bearbeitet werden.
Nachdem Sie einen kontinuierlichen Export erstellt haben, können Sie seinen Speicherort nicht mehr ändern. Wenn Sie den Speicherort ändern möchten, müssen Sie den kontinuierlichen Export löschen und am neuen Speicherort neu erstellen.
Wenn Sie einen fortlaufenden Export mit API-Aufrufen abrufen möchten, müssen Sie den Speicherort im vollständigen Ressourcennamen der notificationConfig
angeben. Beispiel:
GET https://securitycenter.googleapis.com/v2/organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01
Wenn Sie einen kontinuierlichen Export mit der gcloud CLI abrufen möchten, müssen Sie den Speicherort mit dem Flag --location
angeben. Beispiel:
gcloud scc notifications describe myContinuousExport --organization=123 \ --location=us
Pub-/Sub-Thema einrichten
In dieser Aufgabe erstellen und abonnieren Sie das Pub/Sub-Thema, an das Sie Benachrichtigungen senden möchten.
Schritt 1: Pub/Sub einrichten
So richten Sie ein Pub/Sub-Thema ein und abonnieren es:
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.
Optional: Führen Sie den folgenden Befehl aus, um ein neues Pub/Sub-Thema zu erstellen:
gcloud pubsub topics create TOPIC_ID
Ersetzen Sie
TOPIC_ID
durch einen Themennamen.Erstellen Sie ein Abo für das Thema:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Ersetzen Sie Folgendes:
SUBSCRIPTION_ID
: die Abo-IDTOPIC_ID
: die Themen-ID
Weitere Informationen zum Einrichten von Pub/Sub finden Sie unter Themen und Abos verwalten.
Schritt 2: Rolle für Pub/Sub-Thema gewähren
Um eine NotificationConfig
zu erstellen, benötigen Sie die Rolle „Pub/Sub-Administrator“ (roles/pubsub.admin
) für das Pub/Sub-Thema, für das Sie ein Abo erstellt haben.
So weisen Sie diese Rolle zu:
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.
Weisen Sie Ihrem Google-Konto die erforderliche Rolle für das Pub/Sub-Thema zu:
gcloud pubsub topics add-iam-policy-binding \ projects/PUBSUB_PROJECT/topics/TOPIC_ID \ --member="user:GOOGLE_ACCOUNT" \ --role="roles/pubsub.admin"
Ersetzen Sie Folgendes:
PUBSUB_PROJECT
: das Google Cloud Projekt, das Ihr Pub/Sub-Thema enthältTOPIC_ID
: die Themen-IDGOOGLE_ACCOUNT
: die E-Mail-Adresse für Ihr Google-Konto
NotificationConfig erstellen
Beachten Sie vor dem Erstellen eines NotificationConfig
, dass jede Organisation maximal eine begrenzte Anzahl von NotificationConfig
-Dateien haben kann. Weitere Informationen finden Sie unter Kontingente und Limits.
Das Feld NotificationConfig
enthält ein Feld filter
, das Benachrichtigungen auf nützliche Ereignisse beschränkt. In diesem Feld werden alle Filter akzeptiert, die in der Methode findings.list
der Security Command Center API verfügbar sind.
Wenn Sie eine NotificationConfig
erstellen, geben Sie ein übergeordnetes Element für die NotificationConfig
aus der Google Cloud -Ressourcenhierarchie an, entweder eine Organisation, einen Ordner oder ein Projekt. Wenn Sie die NotificationConfig
später abrufen, aktualisieren oder löschen möchten, müssen Sie bei der Verlinkung die numerische ID der übergeordneten Organisation, des übergeordneten Ordners oder des übergeordneten Projekts angeben.
In der Google Cloud Console haben einige NotificationConfig
-Ressourcen möglicherweise das Label Legacy, was bedeutet, dass sie mit der Security Command Center API v1 erstellt wurden. Sie können diese NotificationConfig
-Ressourcen mit der Google Cloud Console, der gcloud CLI, der Security Command Center API v1 oder den Clientbibliotheken v1 für das Security Command Center verwalten.
Wenn Sie diese NotificationConfig
-Ressourcen mit der gcloud CLI verwalten möchten, müssen Sie beim Ausführen des gcloud CLI-Befehls keinen Speicherort angeben.
So erstellen Sie NotificationConfig
mit der gewünschten Programmiersprache oder Plattform:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Ersetzen Sie Folgendes:
NOTIFICATION_NAME
: der Name der Benachrichtigung. Der Name muss zwischen 1 und 128 Zeichen lang sein und darf nur alphanumerische Zeichen, Unterstriche oder Bindestriche enthalten.PARENT
: Der Bereich in der Ressourcenhierarchie, auf den sich die Benachrichtigung bezieht,organization
,folder
oderproject
.PARENT_ID
: Die ID der übergeordneten Organisation, des übergeordneten Ordners oder des übergeordneten Projekts im Formatorganizations/123
,folders/456
oderprojects/789
.LOCATION
: Wenn die Datenspeicherung aktiviert ist, der Standort des Security Command Center, in dem die Daten gespeichert werden sollen. Ist die Datenspeicherung nicht aktiviert, verwenden Sie den Wertglobal
.NOTIFICATION_DESCRIPTION
: eine Beschreibung der Benachrichtigung mit maximal 1.024 Zeichen.PUBSUB_TOPIC
: Das Pub/Sub-Thema, das Benachrichtigungen empfängt. Das Format istprojects/PROJECT_ID/topics/TOPIC
.FILTER
: Der Ausdruck, mit dem Sie auswählen, welche Ergebnisse an Pub/Sub gesendet werden. Beispiel:state=\"ACTIVE\"
Terraform
So erstellst du eine NotificationConfig
für eine Organisation:
So erstellen Sie einen NotificationConfig
für einen Ordner:
So erstellen Sie eine NotificationConfig
für ein Projekt:
Go
Java
Node.js
Python
Benachrichtigungen werden jetzt in dem von Ihnen angegebenen Pub/Sub-Thema veröffentlicht.
Für die Veröffentlichung von Benachrichtigungen wird ein Dienstkonto in der Form service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
erstellt.
Dieses Dienstkonto wird beim Erstellen der ersten NotificationConfig
erstellt und erhält beim Erstellen der Benachrichtigungskonfiguration automatisch die Rolle securitycenter.notificationServiceAgent
in der IAM-Richtlinie für PUBSUB_TOPIC. Diese Dienstkontorolle ist erforderlich, damit Benachrichtigungen funktionieren.
Perimeterzugriff in VPC Service Controls gewähren
Wenn Sie VPC Service Controls verwenden und Ihr Pub/Sub-Thema Teil eines Projekts innerhalb eines Dienstperimeters ist, müssen Sie Zugriff auf Projekte gewähren, um Benachrichtigungen erstellen zu können.
Wenn Sie Zugriff auf Projekte gewähren möchten, erstellen Sie Regeln für eingehenden und ausgehenden Traffic für die Hauptbenutzer und Projekte, die zum Erstellen von Benachrichtigungen verwendet werden. Die Regeln erlauben den Zugriff auf geschützte Ressourcen und ermöglichen Pub/Sub zu prüfen, ob Nutzer die Berechtigung setIamPolicy
für das Pub/Sub-Thema haben.
Vor dem Erstellen einer NotificationConfig
Führen Sie die folgenden Schritte aus, bevor Sie die Schritte unter NotificationConfig erstellen ausführen:
Console
-
Google Cloud Rufen Sie in der 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 FROM 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 Hauptberechtigten 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 Abschnitt AN 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 die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst pubsub.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst pubsub.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 FROM 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 Hauptberechtigten 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 Abschnitt AN 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 das Projekt hinzu, das das Pub/Sub-Thema 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 die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst pubsub.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst pubsub.googleapis.com hinzu.
- Klicken Sie auf Speichern.
gcloud
-
Legen Sie ein Kontingentprojekt fest, falls noch nicht geschehen. 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: pubsub.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_ADDRESS
durch die Adresse des Hauptberechtigten, der für den Aufruf 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: pubsub.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_ADDRESS
durch die Adresse des Hauptberechtigten, der für den Aufruf 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 Perimeter. 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 die Regel für eingehenden Traffic dem Perimeter hinzu:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Ersetzen Sie Folgendes:
-
PERIMETER_NAME
: der Name des Perimeter. 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.
Regel für eingehenden Traffic für die NotificationConfig erstellen
Wenn Sie eine Regel für eingehenden Traffic für eine NotificationConfig
erstellen möchten, folgen Sie der Anleitung unter NotificationConfig erstellen und führen Sie dann die folgenden Schritte aus.
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 FROM 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
NotificationConfig
-Kundenservicemitarbeiters 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 Kundenservicemitarbeiter 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 Abschnitt AN 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 das Projekt hinzu, das das Pub/Sub-Thema 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 die folgenden Vorgänge hinzu:
- Fügen Sie den Dienst pubsub.googleapis.com hinzu.
- Klicken Sie auf Alle Methoden.
- Klicken Sie auf Alle Methoden hinzufügen.
- Fügen Sie den Dienst pubsub.googleapis.com hinzu.
- Klicken Sie auf Speichern.
gcloud
-
Legen Sie ein Kontingentprojekt fest, falls noch nicht geschehen. 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: pubsub.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
ORGANIZATION_ID
durch Ihre Organisations-ID. -
Fügen Sie die Regel für eingehenden Traffic dem Perimeter hinzu:
gcloud access-context-manager perimeters update PERIMETER_NAME \ --set-ingress-policies=ingress-rule.yaml
Ersetzen Sie Folgendes:
-
PERIMETER_NAME
: der Name des Perimeter. 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 Benachrichtigungen erstellen.
Wenn Sie alle Schritte in dieser Anleitung ausgeführt haben und Benachrichtigungen 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 NotificationConfig
erforderlich. Damit Benachrichtigungen weiterhin funktionieren, müssen Sie jedoch die Regel für eingehenden Traffic für die NotificationConfig
beibehalten, damit sie Benachrichtigungen in Ihrem Pub/Sub-Thema hinter dem Dienstperimeter veröffentlichen kann.
Nächste Schritte
- Weitere Informationen zum Aktivieren von E-Mail- und Chatbenachrichtigungen in Echtzeit
- Weitere Informationen zum Verwalten der Benachrichtigungen API
- Weitere Informationen zum Filtern von Benachrichtigungen