Sie können in Echtzeit Benachrichtigungen über Ressourcen- und Richtlinienänderungen erhalten, indem Sie Erstellen und Abonnieren eines Feeds.
Beim Erstellen des Feeds können Sie angeben, dass Sie Änderungen der Ressourcentypen, IAM-Richtlinien, Zugriffsrichtlinien und Organisationsrichtlinien in einer Organisation, einem Ordner oder einem Projekt. 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 über Pub/Sub Benachrichtigungen, wenn sich die angegebenen Assets ändern. Die erste im Pub/Sub-Thema veröffentlichte Nachricht ist eine Begrüßungsnachricht im Format eines Strings und alle folgenden Nachrichten haben das Format einer TemporalAsset an.
Hier ist ein Beispiel für eine 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
Die Cloud Asset Inventory API in dem Projekt aktivieren, in dem Sie Cloud Asset Inventory-Befehle ausführen aus.
Stellen Sie sicher, dass Ihr Konto über die richtige Rolle zum Aufrufen der Cloud Asset Inventory API. 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 10 Minuten dauern, bis ein Feed erstellt, aktualisiert oder gelöscht wird. in Kraft treten.
Das Projekt, in dem ein Feed erstellt wird, muss den Feed überdauern. Das liegt daran, das Dienstkonto für die Veröffentlichung im Pub/Sub-Zielthema die sich in diesem Projekt befinden. Ein Feed funktioniert nicht mehr und wird gelöscht, sobald das Projekt endgültig gelöscht wird.
Pro übergeordnetem Element können bis zu 200 Feeds erstellt werden. Dieses Limit gilt nur für Feeds direkt auf ein übergeordnetes Element folgt und zählt nicht die Feeds seiner 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_ID
der Wert ID des Projekts, in dem der Feed erstellt werden soll. -
folder=FOLDER_ID
, wobeiFOLDER_ID
der Wert ID des Ordners, in dem der Feed erstellt werden soll.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
ist die ID der Organisation, in der der Feed erstellt werden soll.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- 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 Asset-Feed-ID.-
BILLING_PROJECT_ID
: Optional. Die Projekt-ID, in der sich der Standard-Cloud Asset Inventory-Dienst-Agent befindet, der Berechtigungen zum Verwalten Ihres Pub/Sub-Themas hat. Weitere Informationen zum Einrichten 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, für das Benachrichtigungen zu veröffentlichen. - 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 durchsuchbare Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck nicht mit bei jedem unterstützten Asset-Typ, wird der FehlerINVALID_ARGUMENT
zurückgegeben. Wann?--asset-types
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.
CONTENT_TYPE
: Optional. Der Inhaltstyp der Metadaten, die Sie abrufen möchten. Wenn--content-type
nicht angegeben ist, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, das Datum der letzten Aktualisierung der Assets und zu welchen Projekten, Ordnern und Organisationen sie gehören.-
RELATIONSHIP_TYPE_#
: Optional. Nur für Abonnenten der Premium- und Enterprise-Stufen von Security Command Center verfügbar. Eine durch Kommas getrennte Liste von Arten der Asset-Beziehungen die Sie abrufen möchten. Sie müssenCONTENT_TYPE
festlegen aufRELATIONSHIP
dafür. - Wenn Sie eine optionale Feedbedingung hinzufügen, machen Sie folgende Angaben:
in Ihrem Befehl verwenden:
CONDITION_TITLE
: Ein Titel, der der Feedbedingung zugewiesen werden soll.-
CONDITION_DESCRIPTION
: Eine Beschreibung, die dem Feed zugewiesen werden soll . CONDITION_EXPRESSION
: Der Bedingungsausdruck, der auf den Feed angewendet werden soll.
Eine vollständige Liste aller 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 benachrichtigt, wenn Änderungen an den folgenden Ressourcen im Projekt my-project
vorgenommen werden.
- Der Cloud Storage-Bucket
my-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 anfordern:
{ "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_ID
der Wert ID des Projekts, in dem der Feed erstellt werden soll. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, in dem der Feed erstellt werden soll.Google Cloud-Projektnummer ermitteln
Google Cloud Console
So finden Sie die Nummer eines Google Cloud-Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem 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 finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit 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_ID
die ID des Ordners ist, in dem der Feed erstellt werden soll.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Gehen Sie dazu wie folgt vor: Führen Sie den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, wobeiORGANIZATION_ID
die ID der Organisation ist, in der der Feed erstellt werden soll.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, in der sich der Standard-Cloud Asset Inventory-Dienst-Agent befindet, der Berechtigungen zum Verwalten Ihres Pub/Sub-Themas hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts FEED_ID
: Eine eindeutige Asset-Feed-ID.- Mindestens eine der folgenden Asset-Definitionen:
ASSET_NAME_#
: Optional. Ein Array mit vollständigen Asset-Namen.ASSET_TYPE_#
: Optional. Ein Array mit durchsuchbare 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. Wann?assetTypes
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.
CONTENT_TYPE
: Optional. Die Inhaltstyp der Metadaten, die Sie abrufen möchten. IstcontentType
nicht angegeben, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, wann der letzte Aufruf Assets aktualisiert wurden und zu welchen Projekten, Ordnern und Organisationen sie gehören.-
RELATIONSHIP_TYPE_#
: Optional. Nur für Abonnenten der Premium- und Enterprise-Stufen von Security Command Center verfügbar. Eine durch Kommas getrennte Liste der Asset-Beziehungstypen, die abgerufen werden sollen. Sie müssenCONTENT_TYPE
festlegen aufRELATIONSHIP
dafür. -
TOPIC_PROJECT_ID
: Die ID des Projekts, in dem der Pub/Sub-Thema wurde gefunden. -
TOPIC_ID
: die ID des Pub/Sub-Themas, für das Benachrichtigungen zu veröffentlichen. - Wenn Sie eine optionale Feedbedingung hinzufügen, fügen Sie dem Befehl die folgenden Details hinzu:
CONDITION_TITLE
: Ein Titel, der der Feedbedingung zugewiesen werden soll.-
CONDITION_DESCRIPTION
: Eine Beschreibung, die dem Feed zugewiesen werden soll . CONDITION_EXPRESSION
: Der Bedingungsausdruck, der auf den Feed.
Weitere Informationen zu allen Optionen finden Sie in der REST-Referenz.
Befehlsbeispiele
Führen Sie einen der folgenden Befehle aus, um einen Feed in my-topic
Pub/Sub zu erstellen.
Thema, das benachrichtigt, wenn Änderungen an den folgenden Ressourcen im
my-project
-Projekt
- Der Cloud Storage-Bucket
my-bucket
- Eine beliebige BigQuery-Tabelle
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
Beispielantwort
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Feeds abrufen
gcloud
gcloud asset feeds describe FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE
: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem sich der Feed befindet. -
folder=FOLDER_ID
, wobeiFOLDER_ID
der Wert ID des Ordners, in dem sich der Feed befindet.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
ist die ID der Organisation, in der sich der Feed befindet.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, die vom Der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet sich darin, der Berechtigungen zum Verwalten Ihres Pub/Sub-Thema. Weitere Informationen zum Einrichten des Abrechnungsprojekts FEED_ID
: Eine eindeutige Asset-Feed-ID.
In der Referenz zur gcloud CLI finden Sie alle Optionen.
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:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem sich der Feed befindet. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
ist die Nummer des Projekts, in dem sich der Feed befindet.Google Cloud-Projektnummer ermitteln
Google Cloud Console
So finden Sie die Nummer eines Google Cloud-Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem 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 finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit 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_ID
die ID des Ordners ist, in dem sich der Feed befindet.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Gehen Sie dazu wie folgt vor: Führen Sie den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, wobeiORGANIZATION_ID
die ID der Organisation ist, zu der der Feed gehört.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienstagent befindet, der Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und ‑Tabellen hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts FEED_ID
: Eine eindeutige Asset-Feed-ID.
Weitere Informationen finden Sie in der REST-Referenz. Optionen.
Beispiele für Befehle
Führen Sie einen der folgenden Befehle aus, um einen bestimmten Feed abzurufen.
curl (Linux, macOS oder Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
Beispielantwort
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Feeds auflisten
Wenn Sie alle Feeds für ein Projekt, einen Ordner oder eine Organisation auflisten möchten, erstellen Sie einen der für alle weiteren Anträge.
gcloud
gcloud asset feeds list \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE
: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID
, wobeiPROJECT_ID
die ID des Projekts ist, in dem sich die Feeds befinden. -
folder=FOLDER_ID
, wobeiFOLDER_ID
der Wert ID des Ordners, in dem sich die Feeds befinden.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
ist die ID der Organisation, in der sich die Feeds befinden.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, in der sich der Standard-Cloud Asset Inventory-Dienst-Agent befindet, der Berechtigungen zum Verwalten Ihres Pub/Sub-Themas hat. Weitere Informationen zum Einrichten des Abrechnungsprojekts
In der Referenz zur gcloud CLI finden Sie alle Optionen.
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:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem sich die Feeds befinden. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
die Nummer des Projekts ist, in dem sich die Feeds befinden.Google Cloud-Projektnummer ermitteln
Google Cloud Console
So finden Sie die Nummer eines Google Cloud-Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem 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, gehe zu Seite Ressourcen verwalten und die Liste nach dem Projektnamen.
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_ID
die ID des Ordners ist, in dem sich die Feeds befinden.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
die ID der Organisation ist, zu der die Feeds gehören.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienstagent befindet, der Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und ‑Tabellen hat. Weitere Informationen zum Einrichten des Abrechnungsprojekts
Weitere Informationen finden Sie in der REST-Referenz. Optionen.
Beispiele für Befehle
Führen Sie einen der folgenden Befehle aus, um alle Feeds im my-project
-Projekt aufzulisten.
curl (Linux, macOS oder Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
Beispielantwort
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Feeds aktualisieren
Sie können die Attribute eines vorhandenen Feeds folgendermaßen aktualisieren:
Bestimmte Asset-Namen hinzufügen oder entfernen oder alle Asset-Namen aus dem Feed.
Bestimmte Asset-Typen hinzufügen und entfernen oder alle aus dem Feed löschen
Bedingungen überschreiben oder aus dem Feed löschen
gcloud
gcloud asset feeds update FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --clear-asset-names \ --add-asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --remove-asset-names=ASSET_NAME_3,ASSET_NAME_4,... \ --clear-asset-types \ --add-asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --remove-asset-types=ASSET_TYPE_3,ASSET_TYPE_4,... \ --clear-content-type \ --content-type=CONTENT_TYPE \ --clear-relationship-types \ --remove-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --add-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --clear-condition-title \ --condition-title="CONDITION_TITLE" \ --clear-condition-description \ --condition-description="CONDITION_DESCRIPTION" \ --clear-condition-expression --condition-expression="CONDITION_EXPRESSION"
Geben Sie folgende Werte an:
-
SCOPE
: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem der Feed aktualisiert werden soll. -
folder=FOLDER_ID
, wobeiFOLDER_ID
die ID des Ordners ist, in dem der Feed aktualisiert werden soll.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Gehen Sie dazu wie folgt vor: Führen Sie den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, wobeiORGANIZATION_ID
ist die ID der Organisation, in der der Feed aktualisiert werden soll.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- 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 Asset-Feed-ID.-
BILLING_PROJECT_ID
: Optional. Die Projekt-ID, in der sich der Standard-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, für das Benachrichtigungen zu veröffentlichen. - 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 suchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck nicht mit bei jedem unterstützten Asset-Typ, wird der FehlerINVALID_ARGUMENT
zurückgegeben. Wann?--asset-types
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.
CONTENT_TYPE
: Optional. Der Inhaltstyp der Metadaten, die Sie abrufen möchten. Wann?--content-type
nicht angegeben ist, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, wann der letzte Aufruf Assets aktualisiert wurden und zu welchen Projekten, Ordnern und Organisationen sie gehören.-
RELATIONSHIP_TYPE_#
: Optional. Nur verfügbar für Security Command Center Premium- und Enterprise-Stufe Abonnenten. Eine durch Kommas getrennte Liste der Asset-Beziehungstypen, die abgerufen werden sollen. Sie müssenCONTENT_TYPE
festlegen aufRELATIONSHIP
dafür. - Wenn Sie eine optionale Feedbedingung hinzufügen, fügen Sie dem Befehl die folgenden Details hinzu:
CONDITION_TITLE
: Ein Titel, der der Feedbedingung zugewiesen werden soll.-
CONDITION_DESCRIPTION
: Eine Beschreibung, die dem Feed zugewiesen werden soll . CONDITION_EXPRESSION
: Der Bedingungsausdruck, der auf den Feed angewendet werden soll.
Eine vollständige Liste aller Optionen finden Sie in der Referenz zur gcloud CLI.
Beispiel
Führen Sie den folgenden Befehl aus, um das Pub/Sub-Thema my-topic
im Projekt my-project
zu aktualisieren. Mit dieser Anfrage werden alle Asset-Namen aus dem Monitoring entfernt und der Asset-Typ gkemulticloud.googleapis.com/AttachedCluster
hinzugefügt.
gcloud asset feeds update my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --clear-asset-names \ --add-asset-types=gkemulticloud.googleapis.com/AttachedCluster
Beispielantwort
assetTypes: - bigquery.googleapis.com/Table - gkemulticloud.googleapis.com/AttachedCluster condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
Um die Attribute eines Feeds zu aktualisieren, müssen Sie das Attribut angeben.
im update_mask
und dem Wert dieses Attributs.
REST
HTTP-Methode und URL:
PATCH https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
JSON-Text anfordern:
{ "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" }, "update_mask": { "paths": [ "feed_output_config.pubsub_destination.topic", ATTRIBUTE_PATH_1, ATTRIBUTE_PATH_2, ... ] } }
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem der Feed aktualisiert werden soll. -
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
ist die Nummer des Projekts, in dem der Feed aktualisiert werden soll.Google Cloud-Projektnummer ermitteln
Google Cloud Console
So finden Sie die Nummer eines Google Cloud-Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem 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, gehe zu Seite Ressourcen verwalten und die Liste nach dem Projektnamen.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, wobeiFOLDER_ID
der Wert ID des Ordners, in dem der Feed aktualisiert werden soll.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
ist die ID der Organisation, in der der Feed aktualisiert werden soll.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, die vom Der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet sich darin, der Berechtigungen zum Verwalten Ihres Pub/Sub-Thema. Weitere Informationen zum Festlegen des Abrechnungsprojekts FEED_ID
: Eine eindeutige Asset-Feed-ID.- Mindestens eine der folgenden Asset-Definitionen:
ASSET_NAME_#
: Optional. Ein Array mit vollständigen Asset-Namen.ASSET_TYPE_#
: Optional. Ein Array mit durchsuchbare Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck nicht mit bei jedem unterstützten Asset-Typ, wird der FehlerINVALID_ARGUMENT
zurückgegeben. WennassetTypes
nicht angegeben ist, werden alle Asset-Typen zurückgegeben.
CONTENT_TYPE
: Optional. Die Inhaltstyp der Metadaten, die Sie abrufen möchten. IstcontentType
nicht angegeben, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, wann der letzte Aufruf Assets aktualisiert wurden und zu welchen Projekten, Ordnern und Organisationen sie gehören.-
RELATIONSHIP_TYPE_#
: Optional. Nur verfügbar für Security Command Center Premium- und Enterprise-Stufe Abonnenten. Eine durch Kommas getrennte Liste von Arten der Asset-Beziehungen die Sie abrufen möchten. Sie müssenCONTENT_TYPE
aufRELATIONSHIP
setzen, damit das funktioniert. -
TOPIC_PROJECT_ID
: Die ID des Projekts, in dem der Pub/Sub-Thema wurde gefunden. -
TOPIC_ID
: Die ID des Pub/Sub-Themas, in dem Benachrichtigungen veröffentlicht werden sollen. - Wenn Sie eine optionale Feedbedingung hinzufügen, machen Sie folgende Angaben:
in Ihrem Befehl verwenden:
CONDITION_TITLE
: Ein Titel, der der Feedbedingung zugewiesen werden soll.-
CONDITION_DESCRIPTION
: Eine Beschreibung, die dem Feed zugewiesen werden soll . CONDITION_EXPRESSION
: Der Bedingungsausdruck, der auf den Feed.
Weitere Informationen zu allen Optionen finden Sie in der REST-Referenz.
Befehlsbeispiele
Führen Sie einen der folgenden Befehle aus, um das Pub/Sub-Thema my-topic
im Projekt my-project
zu aktualisieren. Mit dieser Anfrage werden alle Asset-Namen aus dem Monitoring entfernt und der Asset-Typ gkemulticloud.googleapis.com/AttachedCluster
hinzugefügt.
curl (Linux, macOS oder Cloud Shell)
curl -X PATCH \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } } "@ Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
Beispielantwort
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetTypes": [ "bigquery.googleapis.com/Table", "gkemulticloud.googleapis.com/AttachedCluster" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Feeds löschen
Wenn Sie nicht mehr über Asset-Änderungen benachrichtigt werden möchten, können Sie einen Feed mit einer der folgenden Anfragen löschen.
gcloud
gcloud asset feeds delete FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE
: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID
, wobeiPROJECT_ID
der Wert ID des Projekts, in dem sich der Feed befindet. -
folder=FOLDER_ID
, wobeiFOLDER_ID
der Wert ID des Ordners, in dem sich der Feed befindet.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.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_ID
ist die ID der Organisation, in der sich der Feed befindet.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, die vom Der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet sich darin, der Berechtigungen zum Verwalten Ihres Pub/Sub-Thema. Weitere Informationen zum Einrichten des Abrechnungsprojekts
In der Referenz zur gcloud CLI finden Sie alle Optionen.
Beispielantwort
Bei einem erfolgreichen Löschvorgang wird keine Antwort zurückgegeben.
REST
HTTP-Methode und URL:
DELETE https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Geben Sie folgende Werte an:
-
SCOPE_PATH
: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_NUMBER
, wobeiPROJECT_NUMBER
ist die Nummer des Projekts, in dem sich der Feed befindet.Google Cloud-Projektnummer ermitteln
Google Cloud Console
So finden Sie die Nummer eines Google Cloud-Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem 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 finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit 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_ID
die ID des Ordners ist, in dem sich der Feed befindet.ID eines Google Cloud-Ordners ermitteln
Google Cloud Console
So finden Sie die ID eines Google Cloud-Ordners:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Wechsler.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen Ihres 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 die Ordnernamen. Entfernen Sie das Flag
--format
, um weitere Informationen zum Ordner gefunden.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Gehen Sie dazu wie folgt vor: Führen Sie den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, wobeiORGANIZATION_ID
die ID der Organisation ist, zu der der Feed gehört.ID einer Google Cloud-Organisation ermitteln
Google Cloud Console
So ermitteln Sie die ID einer Google Cloud-Organisation:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
- 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))"
-
-
-
BILLING_PROJECT_ID
: Die Projekt-ID, in der sich der Standard-Cloud Asset Inventory-Dienst-Agent befindet, der Berechtigungen zum Verwalten Ihres Pub/Sub-Themas hat. Weitere Informationen zum Einrichten des Abrechnungsprojekts
Weitere Informationen zu allen Optionen finden Sie in der REST-Referenz.
Beispiele für Befehle
Führen Sie einen der folgenden Befehle aus, um einen bestimmten Feed zu löschen.
curl (Linux, macOS oder Cloud Shell)
curl -X DELETE \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed" | Select-Object -Expand Content
Beispielantwort
{}
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie hier.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Feedbedingungen
Wenn Sie nur bestimmte Arten von Änderungen für ein bestimmtes Asset sehen möchten, können Sie eine Bedingung hinzufügen in Ihrem Feed. Bedingungen sind geschrieben in Common Expression Language (CEL):
Bedingungen werden nur eingeschränkt unterstützt. In einigen Fällen ist das Erstellen oder Aktualisieren von Feeds mit Bedingungen zu einer Verzögerung führen.
Beschränkungen
Bedingungsausdrücke haben eine Längenbeschränkung von 3.000 Zeichen.
Die meisten Variablennamen in Bedingungsausdrücken sind in Kleinbuchstaben mit Unterstrichen zwischen den einzelnen Wörtern dargestellt. Beispiel:
example_variable
.Einzige Ausnahme sind die Variablennamen der Unterfelder von
data
im Objekt Resource. Sie haben kein Worttrennzeichen und das erste Zeichen jedes Wortes nach der Groß- und Kleinschreibung. Beispiel:exampleVariable
Einige Validierungen für Bedingungsausdrücke werden während der Erstellung oder Aktualisierung des Feeds durchgeführt. Solche Validierungen sind jedoch nicht umfassend, insbesondere für Bedingungen in
temporal_asset.asset.resource.data
das einen dynamischen Typ hat. Filtern Sie Ihren Feed nach Möglichkeit mithilfe der die entsprechenden gcloud CLI- oder REST API-Parameter verwenden.Wenn während der Auswertung Fehler auftreten, werden keine Benachrichtigungen gesendet. Der Fehler werden protokolliert.
Bei dynamischen Typen in
temporal_asset.asset.resource.data
lösen Bedingungen für fehlende Felder Laufzeitfehler aus und die Benachrichtigung wird nicht veröffentlicht. Für die Bedingungtemporal_asset.asset.resource.data.name != "my_name"
, wenn das Feldname
gleich fehlt, schlägt die Bewertung fehl und Sie erhalten keine Benachrichtigungen. Funktioniert die Bedingung nur bei bestimmten Feldern, fügen Sie der Bedingung eine Existenzprüfung hinzu, um sicherzustellen, dass sie ordnungsgemäß evaluiert wird.Statische Enum-Typen können entweder als vollständig qualifizierte Pfadnamen oder als rohe Ganzzahlen dargestellt werden. Die folgenden Ausdrücke sind beispielsweise für
prior_asset_state
gültig:temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
und
temporal_asset.prior_asset_state == 3
Dynamische Enum-Typen in
temporal_asset.asset.resource.data
werden als Rohstrings dargestellt. Der folgende Ausdruck ist beispielsweise für den Asset-Typ gültigcloudresourcemanager.googleapis.com/Project
:temporal_asset.asset.resource.data.lifecycleState == "ACTIVE"
Bedingungsausdruck mit CEL erstellen
In einer Feedbedingung wird Common Expression Language (CEL) verwendet, um auf Grundlage von Attributdaten boolesche Entscheidungen zu treffen. Einen Bedingungsausdruck
besteht aus einer oder mehreren Anweisungen, die mit logischen Operatoren verbunden sind. Jedes
-Anweisung gibt eine attributbasierte Steuerungsregel wieder, die für die
TemporalAsset
, um zu ermitteln, ob eine Benachrichtigung gesendet wird.
Die folgenden CEL-Features sind für Feedbedingungen am wichtigsten:
Variablen: In Bedingungen wird ein bestimmtes Attribut mithilfe von Variablen ausgedrückt, z. B.:
temporal_asset.deleted
(Boolean
) odertemporal_asset.asset.name
(String
) Diese Variablen werden basierend auf dem Kontext unter Laufzeit.Operatoren: Jeder Datentyp, z. B.
String
, unterstützt eine Reihe von Operatoren, die zum Erstellen eines logischen Ausdrucks verwendet werden können. Meist werden Operatoren verwendet, um den Wert einer Variablen mit einem Literalwert wietemporal_asset.asset.name == "//cloudresourcemanager.googleapis.com/projects/12345"
zu vergleichen. Wenn der Eingabewert vontemporal_asset.asset.name
in diesem Beispiel//cloudresourcemanager.googleapis.com/projects/12345
ist, wird der Ausdruck alstrue
ausgewertet.Funktionen: Eine Funktion ist ein zusammengesetzter Operator für Datentypen, die komplexere Vorgänge unterstützen. In Bedingungsausdrücken gibt es vordefinierte Funktionen, die in Verbindung mit bestimmten Datentypen genutzt werden können. Beispiel:
temporal_asset.asset.name.contains("keyword")
verwendet eine Funktion namenscontains
, um zu prüfen, ob der Wert vontemporal_asset.asset.name
Folgendes enthält:"keyword"
. Wenn ja, wirdtrue
zurückgegeben.Logische Operatoren: Bedingungen unterstützen logische Operatoren, die verwendet werden können. , um komplexe logische Ausdrücke aus grundlegenden Ausdrucksanweisungen zu erstellen:
&&
(AND) und||
(OR). Diese logischen Operatoren ermöglichen die Verwendung mehrerer Eingabevariablen in einem Bedingungsausdruck. Beispiel: Intemporal_asset.deleted && temporal_asset.window.start_time.getFullYear() > 2020
werden zwei einfache Anweisungen verknüpft, die beide erfüllt sein müssen, damit die Auswertung insgesamttrue
ergibt.
Weitere Informationen zu den CEL-Funktionen finden Sie in der Sprachdefinition.
Bedingungsvariablen verwenden
Mithilfe von Bedingungsvariablen können Sie Bedingungen für verschiedene Attribute erstellen. Unterstützte Bedingungsvariablen sind:
- temporal_asset: Die letzte Asset-Änderung im TemporalAsset-Format. Wenn die Bedingung als „true“ ausgewertet wird, wird
TemporalAsset
an das konfigurierte Ziel gesendet.
Beispiele für Bedingungsausdrücke
Der folgende Bedingungsausdruck sendet Benachrichtigungen zu Erstellungsereignissen:
temporal_asset.deleted == false &&
temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
Der folgende Bedingungsausdruck sendet Benachrichtigungen für Ressourcen, die sich in den Ordnern 12345
und 23456
befinden:
"folders/12345" in temporal_asset.asset.ancestors ||
"folders/23456" in temporal_asset.asset.ancestors
Mit dem folgenden Bedingungsausdruck werden Benachrichtigungen gesendet, wenn neue zulässige Regeln vorhanden sind
werden Firewalls hinzugefügt, vorausgesetzt, der Asset-Typ ist bereits auf
compute.googleapis.com/Firewall
im Feed:
size(temporal_asset.asset.resource.data.allowed) >
size(temporal_asset.prior_asset.resource.data.allowed)
Der folgende Bedingungsausdruck sendet Benachrichtigungen für VM-Instanzen mit dem Maschinentyp n1-standard-1
, unter der Annahme, dass der Asset-Typ im Feed bereits auf compute.googleapis.com/Instance
gesetzt ist:
temporal_asset.asset.resource.data.machineType.endsWith('/machineTypes/n1-standard-1')
Der folgende Bedingungsausdruck sendet Benachrichtigungen für Storage-Buckets mit beliebigen IAM-Richtlinien für allUsers
, unter der Annahme, dass der Asset-Typ auf storage.googleapis.com/Bucket
und der Inhaltstyp auf IAM_POLICY
festgelegt ist:
temporal_asset.asset.iam_policy.bindings.exists(b, b.members.exists(m, m == "allUsers"))
Mit dem folgenden Bedingungsausdruck wird eine Benachrichtigung gesendet, wenn ein Storage-Bucket mit dem Schlüssel test
im Label gelöscht wird:
temporal_asset.deleted == true && temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.PRESENT && "test" in temporal_asset.prior_asset.resource.data.labels
Fehlerbehebung
Wenn Sie keine Benachrichtigungen zu Aktualisierungen für Ressourcen oder IAM-Richtlinien erhalten, können Sie mit den folgenden Schritten versuchen, das Problem zu beheben:
Die Metadaten der Inhalte müssen geändert werden. Der Echtzeitfeed sendet nur Aktualisierungen, wenn sich die Metadaten der unterstützten Ressourcentypen geändert haben. Vorgänge wie das Hochladen einer neuen Datei in den Cloud Storage-Bucket löst keine Metadatenänderung aus.
Ihre Assets müssen mit einem der im Feed angegebenen Asset-Namen oder ‑Typen übereinstimmen.
Wenn Sie ein Projekt löschen, haben Sie 30 Tage Zeit, den Vorgang rückgängig zu machen. Aus diesem Grund wird das Feld
deleted
in den Asset-Metadaten wird erst dann festgelegt, wenn das Projekt endgültig gelöscht wurde. Wenn Sie Projekte überwachen möchten, die noch gelöscht werden sollen, können Sie stattdessen eine Bedingung für das FeldlifecycleState
des Projekts festlegen. Für Beispiel:temporal_asset.asset.resource.data.lifecycleState == "DELETE_REQUESTED"
Prüfen Sie die Logs auf Fehler beim Veröffentlichen von Updates. zu Ihrem Thema.
Cloud Logging
Wenn Echtzeitfeeds keine Ressourcen oder Aktualisierungen von IAM-Richtlinien über Pub/Sub senden, protokolliert Cloud Asset Inventory den Fehlerstatus und die Meldung in Logging. Die Protokollierung ist standardmäßig aktiviert und gehört zu Google Cloud Observability. Weitere Informationen zu den Preisen für Google Cloud Observability
Echtzeit-Feedlogs ansehen
Das Echtzeit-Feedprotokoll wird durch ein Pub/Sub-Thema indexiert. Alle anzeigen Protokolle:
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Klicken Sie auf die Liste Ressource, die sich neben dem Feld Alle Felder durchsuchen befindet. .
Suchen Sie nach
Cloud Pub/Sub Topic
und klicken Sie dann auf den Ressourcentyp Cloud Pub/Sub-Thema.Klicken Sie auf die Themen-ID, die Sie aufrufen möchten.
Klicken Sie auf Anwenden.
Für Logfelder wird eine UTF-8-Codierung erzwungen. Zeichen, bei denen es sich nicht um UTF-8-Zeichen handelt, werden durch Fragezeichen ersetzt.
Log-Daten
Echtzeitfeed-Logeinträge enthalten folgende Arten von Informationen:
Allgemeine Informationen, die in Google Cloud-Logs angezeigt werden, wie Wichtigkeit, Projekt-ID, Projektnummer und Zeitstempel.
Felder im Echtzeit-Feed-Protokoll in
jsonPayload
, die Asset-Name und Feed enthalten Ausgabekonfiguration und Fehlerstatus beim Veröffentlichen von Ressourcen oder IAM Richtlinienaktualisierungen.
Die folgende Tabelle zeigt, welche Art von Informationen die einzelnen Felder enthalten.
Feld | Typ und Beschreibung |
---|---|
name |
Vollständiger Name des Feeds. Das Format ist eines der folgenden:
|
asset_name |
Vollständiger Name des Assets, um Aktualisierungen zu erhalten. Beispiel:
Weitere Informationen finden Sie unter Ressourcennamen . |
condition |
Feedbedingung, die bestimmt, ob eine Asset-Aktualisierung veröffentlicht werden soll. |
error_status |
Status, wenn Asset-Updates nicht in einem Feed veröffentlicht werden können. |
feed_output_config |
Konfiguration der Feedausgabe, die definiert, wo die Asset-Aktualisierungen veröffentlicht werden. |