Sie können Echtzeitbenachrichtigungen zu Ressourcen- und Richtlinienänderungen erhalten, indem Sie einen Feed erstellen und abonnieren.
Beim Erstellen des Feeds können Sie angeben, dass Sie Änderungen an unterstützten Ressourcentypen, IAM-Richtlinien, Zugriffsrichtlinien und Organisationsrichtlinien in einer Organisation, einem Ordner oder einem Projekt überwachen möchten. Darüber hinaus können Sie Ihrem Feed Bedingungen hinzufügen, damit Sie nur Benachrichtigungen für bestimmte Änderungen an einem Inhalt erhalten.
Nachdem Sie einen Feed erstellt haben, erhalten Sie Benachrichtigungen über Pub/Sub, wenn sich die angegebenen Assets ändern. Die erste im Pub/Sub-Thema veröffentlichte Nachricht ist eine Begrüßungsnachricht im Format eines Strings. Alle nachfolgenden Nachrichten haben das Format eines TemporalAsset.
Hier ist eine Beispiel-Pub/Sub-Nachricht für den Inhaltstyp RESOURCE.
{
"asset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
LATEST_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-30T00:00:00.000000Z"
},
"priorAsset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
PREVIOUS_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-29T00:00:00.000000Z"
},
"priorAssetState":"PRESENT",
"window":{
"startTime":"2024-01-30T00:00:00.000000Z"
}
}
Weitere Informationen zu Pub/Sub oder zum Einrichten von Abos finden Sie in der Pub/Sub-Dokumentation.
Hinweise
Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie Cloud Asset Inventory-Befehle ausführen.
Prüfen Sie, ob Ihr Konto die richtige Rolle zum Aufrufen der Cloud Asset Inventory API hat. Informationen zu den einzelnen Berechtigungen für die einzelnen Anruftypen finden Sie unter Berechtigungen.
Erstellen Sie ein Pub/Sub-Thema, falls noch nicht geschehen.
Beschränkungen
Es kann bis zu zehn Minuten dauern, bis Feederstellung, -aktualisierung oder -löschung wirksam wird.
Das Projekt, in dem ein Feed erstellt wird, muss den Feed überdauern. Das liegt daran, dass sich das Dienstkonto, das zum Veröffentlichen im Pub/Sub-Zielthema verwendet wird, in diesem Projekt befindet. Ein Feed funktioniert nicht mehr und wird gelöscht, sobald das Projekt endgültig gelöscht wird.
Sie können bis zu 200 Feeds für ein übergeordnetes Element erstellen. Diese Beschränkung gilt nur für Feeds, die unmittelbar nach einem übergeordneten Element angewendet werden, und berücksichtigt nicht die Feeds der untergeordneten Elemente. Wenn Sie beispielsweise zehn Projekte in einer Organisation haben, kann jedes Projekt bis zu 200 Feeds enthalten und die Organisation kann ebenfalls bis zu 200 Feeds haben.
Feeds erstellen
gcloud
gcloud asset feeds create FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --condition-title="CONDITION_TITLE" \ --condition-description="CONDITION_DESCRIPTION" \ --condition-expression="CONDITION_EXPRESSION"
Geben Sie folgende Werte an:
-
SCOPE: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID, wobeiPROJECT_IDdie ID des Projekts ist, in dem der Feed erstellt werden soll. -
folder=FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners ist, in dem der Feed erstellt werden soll.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID, wobeiORGANIZATION_IDdie ID der Organisation ist, in der der Feed erstellt werden soll.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
FEED_ID: Eine eindeutige Kennung für den Asset-Feed.-
BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet, der Berechtigungen zum Verwalten Ihres Pub/Sub-Themas hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts -
TOPIC_PROJECT_ID: Die ID des Projekts, in dem sich das Pub/Sub-Thema befindet. -
TOPIC_ID: Die ID des Pub/Sub-Themas, in dem Benachrichtigungen veröffentlicht werden sollen. - Mindestens eine der folgenden Asset-Definitionen:
ASSET_NAME_#: Optional. Eine durch Kommas getrennte Liste mit vollständigen Asset-Namen.ASSET_TYPE_#: Optional. Eine durch Kommas getrennte Liste von durchsuchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird einINVALID_ARGUMENT-Fehler zurückgegeben. Wenn--asset-typesnicht angegeben ist, werden alle Asset-Typen zurückgegeben.
CONTENT_TYPE: Optional. Der Inhaltstyp der Metadaten, die Sie abrufen möchten. Wenn--content-typenicht angegeben ist, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, der Zeitpunkt der letzten Aktualisierung der Assets und die Projekte, Ordner und Organisationen, zu denen sie gehören.-
RELATIONSHIP_TYPE_#: Optional. Erfordert Zugriff auf die Security Command Center Premium- oder Enterprise-Stufe oder Gemini Cloud Assist. Eine durch Kommas getrennte Liste der Asset-Beziehungstypen, die Sie abrufen möchten. Dazu müssen SieCONTENT_TYPEaufRELATIONSHIPsetzen. - Wenn Sie eine optionale Feedbedingung hinzufügen, geben Sie die folgenden Details in Ihrem Befehl an:
CONDITION_TITLE: Ein Titel, der der Feedbedingung zugewiesen werden soll.-
CONDITION_DESCRIPTION: Eine Beschreibung, die der Feed-Bedingung zugewiesen werden soll. CONDITION_EXPRESSION: Der Bedingungsausdruck, der auf den Feed angewendet werden soll.
Eine vollständige Liste der Optionen finden Sie in der Referenz zur gcloud CLI.
Beispiel
Führen Sie den folgenden Befehl aus, um einen Feed im Pub/Sub-Thema my-topic zu erstellen, der Sie benachrichtigt, wenn Änderungen an den folgenden Ressourcen im Projekt my-project vorgenommen werden.
- Der
my-bucketCloud Storage-Bucket - Beliebige BigQuery-Tabelle
gcloud asset feeds create my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --asset-names=//storage.googleapis.com/my-bucket \ --asset-types=bigquery.googleapis.com/Table \ --content-type=resource
Beispielantwort
assetNames:
- //storage.googleapis.com/my-bucket
assetTypes:
- bigquery.googleapis.com/Table
condition: {}
contentType: RESOURCE
feedOutputConfig:
pubsubDestination:
topic: projects/my-project/topics/my-topic
name: projects/000000000000/feeds/my-feed
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
JSON-Text der Anfrage:
{ "feedId": "FEED_ID", "feed": { "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/TOPIC_PROJECT_ID/topics/TOPIC_ID" } }, "condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CONDITION_EXPRESSION" } } }
Geben Sie folgende Werte an:
-
SCOPE_PATH: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID, wobeiPROJECT_IDdie ID des Projekts ist, in dem der Feed erstellt werden soll. -
projects/PROJECT_NUMBER, wobeiPROJECT_NUMBERdie Nummer des Projekts ist, in dem der Feed erstellt werden soll.Google Cloud Projektnummer finden
Google Cloud Console
So finden Sie die Projektnummer eines Google Cloud -Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach Ihrem Projektnamen. Der Projektname, die Projektnummer und die Projekt-ID werden in der Nähe der Überschrift Willkommen angezeigt.
Es werden bis zu 4.000 Ressourcen angezeigt. Wenn Sie das gewünschte Projekt nicht sehen, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste nach dem Namen des Projekts.
gcloud-CLI
Sie können eine Google Cloud Projektnummer mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners ist, in dem der Feed erstellt werden soll.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, wobeiORGANIZATION_IDdie ID der Organisation ist, in der der Feed erstellt werden soll.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab
-
-