Auf dieser Seite wird die Verwendung das Benachrichtigungsfeature der Security Command Center API beschrieben, einschließlich der folgenden Beispiele:
NotificationConfig
erstellenNotificationConfig
abrufenNotificationConfig
aktualisierenNotificationConfig
löschenNotificationConfig
auflisten- Pub/Sub-Benachrichtigungen empfangen
Alternativ können Premium-Kunden von Security Command Center Continuous Exports für Pub/Sub im Security Command Center einrichten.
Hinweise
Um die Beispiele auf dieser Seite zu verwenden, müssen Sie die Anleitung zum Einrichten von Benachrichtigungen abschließen.
Zur Ausführung der folgenden Beispiele benötigen Sie eine IAM-Rolle (Identity and Access Management) mit den entsprechenden Berechtigungen:
NotificationConfig
erstellen: Bearbeiter von Konfigurationen für Benachrichtigungen des Sicherheitscenters (roles/securitycenter.notificationConfigEditor
)NotificationConfig
abrufen und auflisten: Betrachter für Konfigurationen für Benachrichtigungen im Sicherheitscenter (roles/securitycenter.notificationConfigViewer
) oder Bearbeiter von Konfigurationen für Benachrichtigungen im Sicherheitscenter (roles/securitycenter.notificationConfigEditor
)NotificationConfig
aktualisieren und löschen: Bearbeiter von Konfigurationen für Benachrichtigungen des Sicherheitscenters (roles/securitycenter.notificationConfigEditor
)
Wenn Sie einem Nutzer, der auf eine notificationConfig
zugreift, die entsprechenden Rollen zuweisen möchten, benötigen Sie eine der folgenden IAM-Rollen:
- Administrator der Organisation (
roles/resourcemanager.organizationAdmin
) - Ordner-IAM-Administrator (
roles/resourcemanager.folderIamAdmin
) - Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin
)
IAM-Rollen für Security Command Center können auf Organisations-, Ordner- oder Projektebene gewährt werden. Ob Sie Ergebnisse, Assets und Sicherheitsquellen ansehen, bearbeiten, erstellen oder aktualisieren können, hängt davon ab, auf welcher Ebene Sie Zugriff erhalten. Weitere Informationen zu Security Command Center-Rollen finden Sie unter Zugriffssteuerung.
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. In 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
NotificationConfig erstellen
Zum Erstellen einer NotificationConfig
benötigen Sie Folgendes:
- Ein vorhandenes Pub/Sub-Thema, an das Sie Benachrichtigungen senden möchten.
- Erforderliche IAM-Rollen für das Hauptkonto, das die
notificationConfig
erstellt.
Weitere Informationen finden Sie im Abschnitt Pub/Sub-Thema einrichten in der Anleitung Ergebnis-Benachrichtigungen einrichten.
Beachten Sie vor dem Erstellen einer 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. Das 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 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 Speicherort im Security Command Center, an dem eineNotificationConfig
erstellt werden soll. Wenn die Datenspeicherung nicht aktiviert ist, 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\"
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.
NotificationConfig abrufen
Zum Abrufen eines NotificationConfig
benötigen Sie eine IAM-Rolle mit der Berechtigung securitycenter.notification.get
.
gcloud
gcloud scc notifications describe NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
NOTIFICATION_NAME
: der Name der Benachrichtigungskonfiguration.PARENT_TYPE
die Ebene der Ressourcenhierarchie, auf der die Konfiguration angegeben ist. Verwenden Sieorganization
,folder
oderproject
.PARENT_ID
: die numerische ID der übergeordneten Ressource.LOCATION
: Wenn der Datenstandort aktiviert ist, der Security Command Center-Standort, von dem dieNotificationConfig
abgerufen werden soll. Ist der Datenstandort nicht aktiviert, verwenden Sie den Wertglobal
.
NotificationConfig aktualisieren
Zum Aktualisieren eines NotificationConfig
benötigen Sie eine IAM-Rolle mit der Berechtigung securitycenter.notification.update
.
Wenn Sie das Feld mithilfe einer Feldmaske aktualisieren, werden nur die von Ihnen angegebenen Felder aktualisiert. Wenn Sie keine Feldmaske verwenden, werden alle veränderlichen Felder in NotificationConfig
durch die neuen Werte ersetzt. Sie können das Pub/Sub-Thema und die Beschreibung mit einer Feldmaske aktualisieren.
Um dieses Beispiel abzuschließen, müssen Sie das neue Thema abonniert haben und Ihr Benachrichtigungsdienstkonto muss die Berechtigung pubsub.topics.setIamPolicy
für das Thema haben.
Nachdem Sie die erforderlichen Berechtigungen gewährt haben, aktualisieren Sie die NotificationConfig
-Beschreibung, das Pub/Sub-Thema und den Filter mit der Sprache Ihrer Wahl:
gcloud
gcloud scc notifications update NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION \ --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Ersetzen Sie Folgendes:
NOTIFICATION_NAME
: der Name der Benachrichtigungskonfiguration.PARENT_TYPE
die Ebene der Ressourcenhierarchie, auf der die Konfiguration angegeben ist. Verwenden Sieorganization
,folder
oderproject
.PARENT_ID
: die numerische ID der übergeordneten Ressource.LOCATION
: Wenn die Datenspeicherung aktiviert ist, der Standort im Security Command Center, an dem dieNotificationConfig
aktualisiert werden soll. Wenn die Datenspeicherung nicht aktiviert ist, verwenden Sie den Wertglobal
.NOTIFICATION_DESCRIPTION
: eine Beschreibung der Benachrichtigung mit maximal 1.024 Zeichen.PUBSUB_TOPIC
: das Pub/Sub-Thema, das Benachrichtigungen erhält. 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"
NotificationConfig löschen
Zum Löschen eines NotificationConfig
benötigen Sie eine IAM-Rolle mit der Berechtigung securitycenter.notification.delete
.
Wenn Sie einen NotificationConfig
löschen, bleibt die Rolle securitycenter.notificationServiceAgent
im Pub/Sub-Thema. Wenn Sie das Pub/Sub-Thema in keinem anderen NotificationConfig
verwenden, entfernen Sie die Rolle aus dem Thema. Weitere Informationen finden Sie unter Zugriffssteuerung.
Löschen Sie einen NotificationConfig
mit der Sprache Ihrer Wahl:
gcloud
gcloud scc notifications delete NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
NOTIFICATION_NAME
: der Name der Benachrichtigungskonfiguration.PARENT_TYPE
die Ebene der Ressourcenhierarchie, auf der die Konfiguration angegeben ist. Verwenden Sieorganization
,folder
oderproject
.PARENT_ID
: die numerische ID der übergeordneten Ressource.LOCATION
: Wenn die Datenspeicherung aktiviert ist, der Speicherort im Security Command Center, an dem dieNotificationConfig
gelöscht werden soll. Wenn die Datenspeicherung nicht aktiviert ist, verwenden Sie den Wertglobal
.
NotificationsConfigs auflisten
Sie benötigen eine IAM-Rolle mit der Berechtigung securitycenter.notification.list
, um NotificationConfigs
aufzulisten.
Alle Security Command Center API-Listen sind paginiert. Jede Antwort gibt eine Seite mit Ergebnissen und ein Token zurück, um die nächste Seite zurückzugeben. Der Standardwert von pageSize
ist 10. Sie können die Seitengröße auf mindestens 1 und maximal 1.000 festlegen.
Listen Sie NotificationConfigs
mit der gewünschten Sprache auf:
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
PARENT_TYPE
die Ebene der Ressourcenhierarchie, auf der die Konfiguration angegeben ist. Verwenden Sieorganizations
,folders
oderprojects
.PARENT_ID
: die numerische ID der übergeordneten Ressource.LOCATION
: Wenn der Datenstandort aktiviert ist, der Standort im Security Command Center, an demNotificationConfig
-Ressourcen aufgeführt werden sollen. Wenn der Datenstandort nicht aktiviert ist, verwenden Sie den Wertglobal
.
Pub/Sub-Benachrichtigungen erhalten
Dieser Abschnitt enthält eine Beispielbenachrichtigung und Beispiele, die zeigen, wie eine Pub/Sub-Nachricht in eine NotificationMessage
umgewandelt wird, die ein Ergebnis enthält.
Benachrichtigungen werden im JSON
-Format in Pub/Sub veröffentlicht.
Hier ein Beispiel für eine Benachrichtigung:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/CONFIG_ID",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"state": "ACTIVE",
"category": "TEST-CATEGORY",
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2019-07-26T07:32:37Z",
"createTime": "2019-07-29T18:45:27.243Z"
}
}
Konvertieren Sie eine Pub/Sub-Nachricht mit der Sprache Ihrer Wahl in einen NotificationMessage
:
gcloud
Die gcloud-CLI unterstützt nicht die Konvertierung einer Pub/Sub-Nachricht in eine NotificationMessage
. Mit der gcloud-CLI können Sie eine NotificationMessage
abrufen und JSON
direkt in Ihrem Terminal ausgeben:
# The subscription used to receive published messages from a topic
PUBSUB_SUBSCRIPTION="projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
gcloud pubsub subscriptions pull $PUBSUB_SUBSCRIPTION
Dabei gilt:
- PROJECT_ID durch Ihre Projekt-ID,
- SUBSCRIPTION_ID durch Ihre Abo-ID.