Auf dieser Seite wird erläutert, wie Sie mit der Security Command Center API Ergebnisbenachrichtigungen für Pub/Sub aktivieren.
Sie können Benachrichtigungen so konfigurieren, dass neue Ergebnisse und Ergebnisaktualisierungen nahezu in Echtzeit automatisch an ein Pub/Sub-Thema gesendet werden. Sie können diese Benachrichtigungen verwenden, um automatisierte Aktionen auszulösen, z. B. das Aufrufen von Cloud Run-Funktionen für Antworten, Anreicherung oder Fehlerbehebung. Beispiellösungen finden Sie im Open-Source-Repository von Security Command Center unter Cloud Run Functions-Code.
Wenn Sie die Einrichtung lieber über die Google Cloud Console als über die API vornehmen möchten, lesen Sie den Abschnitt Kontinuierliche Exporte. Kontinuierliche Exporte bieten dieselben Funktionen wie API-Benachrichtigungen.
Alternativ können Sie Ergebnisse zur Analyse nach BigQuery exportieren.
Hinweis
Bevor Sie Benachrichtigungen zu Ergebnissen aktivieren, müssen Sie bestimmte IAM-Rollen (Identity and Access Management) und -Berechtigungen erhalten, die Security Command Center API aktivieren und sich mit den Einschränkungen des Datenstandorts vertraut machen.
Erforderliche Rollen
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 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.
Security Command Center API aktivieren
So aktivieren Sie die Security Command Center API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten.
Informationen zum Zuweisen von Rollen
gcloud services enable securitycenter.googleapis.com
Datenstandort und Benachrichtigungen
Wenn Datenstandort für Security Command Center aktiviert ist, unterliegen die Konfigurationen, die kontinuierliche Exporte nach Pub/Sub definieren (notificationConfig-Ressourcen), der Datenstandortkontrolle und werden an Ihrem Security Command Center-Standort gespeichert.
Wenn Sie Ergebnisse in einem Security Command Center-Standort nach Pub/Sub exportieren möchten, müssen Sie den kontinuierlichen Export am selben Security Command Center-Standort wie die Ergebnisse konfigurieren.
Da die in kontinuierlichen Exporten verwendeten Filter Daten enthalten können, die den Datenstandortkontrollen unterliegen, müssen Sie den richtigen Standort angeben, bevor Sie sie erstellen. Security Command Center schränkt nicht ein, an welchem Speicherort Sie Exporte erstellen.
Kontinuierliche Exporte werden nur an dem Standort gespeichert, an dem sie erstellt werden. Sie können nicht an anderen Standorten aufgerufen 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.
Informationen zur Verwendung von Security Command Center, wenn der Datenstandort aktiviert ist, finden Sie unter Regionale Endpunkte für Security Command Center.
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:
Zur 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.
Optional: Führen Sie den folgenden Befehl aus, um ein neues Pub/Sub-Thema zu erstellen:
gcloud pubsub topics create TOPIC_IDErsetzen Sie
TOPIC_IDdurch einen Themennamen.Erstellen Sie ein Abo für das Thema:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_IDErsetzen 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 zuweisen
Zum Erstellen eines NotificationConfig 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:
Zur 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.
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
Bevor Sie ein NotificationConfig erstellen, beachten Sie, dass jede Organisation nur 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 ein NotificationConfig erstellen, geben Sie ein übergeordnetes Element für das 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üssen, müssen Sie die numerische ID der übergeordneten Organisation, des Ordners oder des Projekts angeben, wenn Sie darauf verweisen.
So erstellen Sie die 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. 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,folderoderproject.PARENT_ID: Die ID der übergeordneten Organisation, des übergeordneten Ordners oder des übergeordneten Projekts im Formatorganizations/123,folders/456oderprojects/789.LOCATION: Der Security Command Center-Standort, an dem Benachrichtigungen der Security Command Center API eingerichtet und konfiguriert werden sollen. Wenn die Datenlokalisierung aktiviert ist, verwenden Sieeu,saoderus. Andernfalls 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, den Sie definieren, um auszuwählen, welche Ergebnisse an Pub/Sub gesendet werden. Beispiel:state=\"ACTIVE\"
Terraform
So erstellen Sie ein NotificationConfig für eine Organisation:
So erstellen Sie eine NotificationConfig für einen Ordner:
So erstellen Sie ein 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 automatisch die Rolle securitycenter.notificationServiceAgent in der IAM-Richtlinie für PUBSUB_TOPIC, wenn die Benachrichtigungskonfiguration erstellt wird. 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 Identitäten 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
Dienstperimeter aufrufen
-
Wechseln Sie in der Google Cloud Console zur Seite VPC Service Controls.
- Wählen Sie Ihre Organisation aus.
-
Wählen Sie in der Drop-down-Liste die Zugriffsrichtlinie aus, die den Dienstperimeter enthält, auf den Sie Zugriff gewähren möchten.
Die mit der Zugriffsrichtlinie verknüpften Dienstperimeter werden in der Liste angezeigt.
-
Klicken Sie auf den Namen des Dienstperimeters, 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 Bearbeiten.
Regel für ausgehenden Traffic hinzufügen
- 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äten > Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
- Geben Sie die E-Mail-Adresse ein, mit der das Prinzipal identifiziert wird, das zum Aufrufen der Security Command Center API verwendet 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 unter Ressourcen > Projekte 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.
Regel für eingehenden Traffic hinzufügen
- 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äten > Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
- Geben Sie die E-Mail-Adresse ein, mit der das Prinzipal identifiziert wird, das zum Aufrufen der Security Command Center API verwendet 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 unter Ressourcen > Projekte 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
-
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_IDdurch 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.yamlund mit folgendem Inhalt:- egressFrom: identities: - PRINCIPAL_ID egressTo: operations: - serviceName: pubsub.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_IDdurch die Kennung des Hauptkontos, das zum Aufrufen der Security Command Center API verwendet wird. -
Erstellen Sie eine Datei mit dem Namen
ingress-rule.yamlund mit folgendem Inhalt:- ingressFrom: identities: - PRINCIPAL_ID sources: - accessLevel: '*' ingressTo: operations: - serviceName: pubsub.googleapis.com methodSelectors: - method: '*' resources: - '*'
Ersetzen Sie
PRINCIPAL_IDdurch die Kennung des Hauptkontos, das 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. 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. 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
Dienstperimeter aufrufen
-
Öffnen Sie noch einmal den Dienstperimeter aus dem vorherigen Abschnitt.
Regel für eingehenden Traffic hinzufügen
- 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äten > Identität die Option Identitäten und Gruppen auswählen aus.
- Klicken Sie auf Identitäten hinzufügen.
Geben Sie die E‑Mail-Adresse ein, die den
NotificationConfig-Dienst-Agent identifiziert. Diese Adresse hat das folgende Format:service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
Ersetzen Sie
ORGANIZATION_IDdurch Ihre Organisations-ID.- Wählen Sie den Dienst-Agent 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 unter Ressourcen > Projekte 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
-
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_IDdurch 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.yamlund 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_IDdurch 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. 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
- Informationen zum Aktivieren von Echtzeit-Chatbenachrichtigungen
- Informationen zum Verwalten der Notifications API
- Weitere Informationen zum Filtern von Benachrichtigungen