Mit der Cloud Asset API können Sie eine benutzerdefinierte Abfragesprache verwenden, um Ressourcenmetadaten für ein Projekt, einen Ordner oder eine Organisation abzufragen.
Hinweise
Aktivieren Sie die Cloud Asset API für Ihr Projekt.
Gewähren Sie dem Nutzer- oder Dienstkonto, von dem die Anfrage stammt, die Berechtigung
cloudasset.assets.searchAllResources
. Diese Berechtigung ist in den grundlegenden und vordefinierten Rollen enthalten, die inRoles
aufgeführt sind.
Suchressourcen
Console
Führen Sie die folgenden Schritte aus, um alle Ressourcen zu durchsuchen.
Rufen Sie in der Google Cloud Console die Seite Asset-Inventar auf.
Um den Umfang der Suche festzulegen, öffnen Sie das Listenfeld "Projekte" in der Menüleiste und wählen Sie die abzufragende Organisation, den Ordner oder das Projekt aus.
Wählen Sie den Tab Ressource aus.
Geben Sie zum Suchen nach Ressourcen den Abfragetext in die Filterleiste ein. Wenn Sie das Textfeld auswählen, wird eine Liste der durchsuchbaren Felder angezeigt. Die Ressourcensuche unterstützt mehrere Felder. Weitere Informationen zur Abfragesyntax
Suchergebnisse können auch nach den vordefinierten Filtern Asset-Typ, Projekt und Ort im Bereich Ergebnisse filtern gefiltert werden.
Die mit der Abfrage übereinstimmenden Ressourcen werden in der Tabelle Ergebnis aufgeführt.
Wenn Sie die Abfrage als Google Cloud CLI-Befehl ansehen möchten, wählen Sie View query aus.
Wählen Sie zum Exportieren der Ergebnisse CSV-Datei herunterladen aus.
gcloud
Sie können SearchAllResources
mit dem Befehl gcloud asset search-all-resources
aufrufen. Sie müssen die Google Cloud CLI 302.0.0 oder höher ausführen. Sie können Ihre Version mit dem Befehl gcloud version
prüfen.
gcloud asset search-all-resources \
--scope=SCOPE \
--query=QUERY \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by=ORDER_BY \
--read-mask=READ_MASK
Geben Sie folgende Werte an:
SCOPE
: erforderlich. Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein. Die Suche ist auf die Google Cloud-Ressourcen in diesem Bereich beschränkt. Dem Aufrufer muss die Berechtigungcloudasset.assets.searchAllResources
für den ausgewählten Bereich gewährt werden. Wenn keine Angabe erfolgt, wird das konfigurierte Projektattribut verwendet.Zulässige Werte:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud-Projektnummer ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:
-
Rufen Sie in der Google Cloud Console die Seite Dashboard auf.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Wählen Sie Ihre Organisation im Feld Auswählen aus aus und suchen Sie dann nach dem Namen Ihres Projekts.
- Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird auf der Karte Projektinformationen angezeigt.
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
Google Cloud-Ordner-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene 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 kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option
--format
, um weitere Informationen zu den gefundenen Ordnern zu sehen.Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud-Organisations-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
QUERY
: Optional. Die Abfrageanweisung. Weitere Informationen finden Sie unter Abfragesyntax. Wenn nicht angegeben oder leer, werden alle Ressourcen im angegebenenscope
durchsucht.Beispiele:
name:Important
, um Google Cloud-Ressourcen zu finden, deren Name das WortImportant
enthält.name=Important
, um die Google Cloud-Ressource zu finden, deren Name exaktImportant
lautet.displayName:Impor*
, um Google Cloud-Ressourcen zu finden, deren AnzeigenameImpor
als Präfix eines Wortes enthält.location:us-west*
, um Google Cloud-Ressourcen zu finden, deren Standort zwei Wörter mit den Präfixenus
undwest
enthält.labels:prod
, um Google Cloud-Ressourcen mit einem Label zu finden, bei dem entweder der Schlüssel oder der Wert das Wortprod
enthält.labels.env:prod
, um Google Cloud-Ressourcen mit einem Label zu finden, wobei der Schlüsselenv
ist und der Wert das Wortprod
enthält.labels.env:*
, um Google Cloud-Ressourcen mit einem Label zu finden, bei dem der Schlüsselenv
ist.tagKeys:env
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, bei denenTagKey.namespacedName
env
enthält.tagKeyIds=tagKeys/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, wobeiTagKey.name
genautagKeys/123
ist.tagValues:prod*
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, wobeiTagValue.namespacedName
ein Wort mit dem Präfixprod
enthält.tagValueIds=tagValues/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, wobeiTagValue.name
genautagValues/123
ist.effectiveTagKeys:env
, um Google Cloud-Ressourcen zu finden, die direkt angehängt sind oder Tags übernehmen, bei denenTagKey.namespacedName
env
enthält.effectiveTagKeyIds=tagKeys/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagKey.name
genautagKeys/123
ist.effectiveTagValues:prod*
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagValue.namespacedName
ein Wort mit dem Präfixprod
enthält.effectiveTagValueIds=tagValues/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagValue.name
genautagValues/123
ist.kmsKeys:key
, um Google Cloud-Ressourcen zu finden, die mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsselt sind, deren Name das Wortkey
enthält.relationships:instance-group-1
, um Google Cloud-Ressourcen zu finden, die Beziehungen zuinstance-group-1
im zugehörigen Ressourcennamen haben.relationships:INSTANCE_TO_INSTANCEGROUP
, um Compute Engine-Instanzen zu finden, die Beziehungen vom TypINSTANCE_TO_INSTANCEGROUP
haben.relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
, um Compute Engine-Instanzen zu finden, die Beziehungen zuinstance-group-1
im Ressourcennamen der Compute Engine-Instanzgruppe für den BeziehungstypINSTANCE_TO_INSTANCEGROUP
haben.state:ACTIVE
, um Google Cloud-Ressourcen zu finden, deren StatusACTIVE
als Wort enthält.NOT state:ACTIVE
, um Google Cloud-Ressourcen zu finden, deren Status nichtACTIVE
als Wort enthält.createTime<1609459200
odercreateTime<2021-01-01
odercreateTime<"2021-01-01T00:00:00"
, um Google Cloud-Ressourcen zu finden, die vor dem2021-01-01 00:00:00 UTC
erstellt wurden.1609459200
ist der Epochenzeitstempel in Sekunden von2021-01-01 00:00:00 UTC
.updateTime>1609459200
oderupdateTime>2021-01-01
oderupdateTime>"2021-01-01T00:00:00"
, um Google Cloud-Ressourcen zu finden, die nach dem2021-01-01 00:00:00 UTC
aktualisiert wurden.1609459200
ist der Epochenzeitstempel in Sekunden von2021-01-01 00:00:00 UTC
.project:12345
, um Google Cloud-Ressourcen zu finden, die zu einem Google Cloud-Projekt mit der Nummer12345
gehören.folders:(123 or 456)
, um Google Cloud-Ressourcen zu finden, die zu einem Google Cloud-Ordner mit der Nummer123
oder456
gehören.organization:123
, um Google Cloud-Ressourcen zu finden, die zu einer Google Cloud-Organisation mit der Nummer123
gehören.parentFullResourceName:ImportantName
, um Cloud-Ressourcen zu suchen, deren NameImportantName
enthält.parentAssetType:Project
, um Google Cloud-Ressourcen zu finden, deren übergeordneter Asset-TypProject
enthält.Important
, um Google Cloud-Ressourcen zu finden, die in einem der durchsuchbaren Felder das WortImportant
enthalten.Impor*
, um Google Cloud-Ressourcen zu finden, dieImpor
als Präfix eines Wortes in einem der durchsuchbaren Felder enthalten.Important location:(us-west1 OR global)
, um Google Cloud-Ressourcen zu finden, die in einem der durchsuchbaren Felder das WortImportant
enthalten und sich auch in der Regionus-west1
oder am Standortglobal
befinden.
ASSET_TYPE
: Optional. Eine Liste der Asset-Typen, nach denen in dieser Anfrage gesucht wird. Wenn das Feld leer ist, werden alle suchbaren Asset-Typen durchsucht. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Assettyp übereinstimmt, wird der FehlerINVALID_ARGUMENT
zurückgegeben.ORDER_BY
: Optional. Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angeben. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem FeldnamenDESC
ein, um die absteigende Reihenfolge anzugeben. Redundante Leerzeichen werden ignoriert. Beispiel:"location DESC, name"
. Nur einzelne primitive Felder in der Antwort können sortiert werden:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
Alle anderen Felder wie wiederkehrende Felder (z. B.
networkTags
,kmsKeys
), Zuordnungsfelder (z. B.labels
) und Strukturfelder (z. B.additionalAttributes
) werden nicht unterstützt.READ_MASK
: Optional. Eine durch Kommas getrennte Liste von Feldern, die angeben, welche Felder in den Ergebnissen zurückgegeben werden sollen. Wenn nicht angegeben, werden alle Felder außerversionedResources
zurückgegeben. Wenn nur"*"
angegeben ist, werden alle Felder zurückgegeben. Beispiele:"name,location"
,"name,versionedResources"
,"*"
.Die folgenden Felder werden standardmäßig zurückgegeben, wenn
--read-mask
nicht angegeben ist:name
assetType
project
folders
organization
displayName
description
location
labels
tags
networkTags
kmsKeys
createTime
updateTime
state
additionalAttributes
parentFullResourceName
parentAssetType
Einige sehr große Felder wie
versionedResources
,attachedResources
undeffectiveTags
werden nicht standardmäßig zurückgegeben. Sie können sie aber im Parameter--read-mask
angeben, wenn Sie sie einschließen möchten. Wenn"*"
angegeben ist, werden alle verfügbaren Felder zurückgegeben. Beispiele:"name,location,effectiveTags"
,"name,versionedResources"
,"*"
.
Im Folgenden finden Sie einige Beispiele für gcloud
-Befehle:
Hier finden Sie alle Ressourcen in
organizations/123456
, derenname
das Wortmycompany
enthält:gcloud asset search-all-resources \ --scope=organizations/123456 \ --query="name:mycompany"
Hier finden Sie alle Ressourcen in
organizations/123456
, derenname
das Wortmycompany
enthält, einschließlich der vollständigen Metadaten:gcloud asset search-all-resources \ --scope=organizations/123456 \ --query="name:mycompany" \ --read-mask="name,versionedResources"
REST
Sie können SearchAllResources
mit einem gültigen OAuth-Token für ein Projekt aufrufen. Zum Aufrufen der Methode SearchAllResources
über Cloud Shell oder einer beliebigen Konsole, in der der Befehl gcloud
verfügbar ist:
Wenn Sie den OAuth-Zustimmungsbildschirm Ihres Projekts nicht konfiguriert haben, müssen Sie dies tun. Für den OAuth-Zustimmungsbildschirm sind eine E-Mail-Adresse und ein Produktname erforderlich.
Rufen Sie die Seite OAuth-Zustimmungsbildschirm für Ihr Projekt auf.
Geben Sie den Namen der Anwendung ein, der angezeigt werden soll.
Wählen Sie unter Support-E-Mail-Adresse die E-Mail-Adresse aus, die Sie als öffentlicher Kontakt anzeigen möchten. Dies muss Ihre E-Mail-Adresse oder eine Google-Gruppe sein, deren Inhaber Sie sind.
Fügen Sie nach Belieben weitere Details hinzu.
Klicken Sie auf Speichern.
Erstellen Sie ein OAuth-Token für Ihr Projekt. Weitere Informationen findest du unter OAuth 2.0 einrichten.
Rufen Sie die Seite OAuth-Client-ID erstellen auf.
Wählen Sie Desktop-App als Anwendungstyp aus.
Klicken Sie auf Erstellen.
Laden Sie die Datei
client_secret.json
herunter.Öffnen Sie die Seite Anmeldedaten.
Klicken Sie rechts neben Ihrer neuen Client-ID auf
JSON herunterladen.Speichern Sie die Datei an einem sicheren Speicherort, auf den nur Ihre Anwendung zugreifen kann.
Melden Sie sich mit der JSON-Datei mit dem folgenden Befehl an.
gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
Mit diesem Befehl werden Sie aufgefordert, einen Link zu öffnen. Achten Sie darauf, dass auf der Seite der Anwendungsname angezeigt wird, den Sie auf Ihrem OAuth-Zustimmungsbildschirm festgelegt haben.
Sie können jetzt Ressourcen mit
curl
-Befehlen abfragen.curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": PAGE_SIZE, "query": "QUERY", "readMask": "READ_MASK" }' \ https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
Geben Sie folgende Werte an:
ASSET_TYPE
: Optional. Eine Liste der Asset-Typen, nach denen in dieser Anfrage gesucht wird. Wenn das Feld leer ist, werden alle suchbaren Asset-Typen durchsucht. Reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird der FehlerINVALID_ARGUMENT
zurückgegeben.ORDER_BY
: Optional. Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angeben. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem Feldnamen" DESC"
ein, um die absteigende Reihenfolge anzugeben. Redundante Leerzeichen werden ignoriert. Beispiel:"location DESC, name"
. Nur einzelne einfache Felder in der Antwort können sortiert werden:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
Alle anderen Felder wie wiederkehrende Felder (z. B.
networkTags
,kmsKeys
), Zuordnungsfelder (z. B.labels
) und Strukturfelder (z. B.additionalAttributes
) werden nicht unterstützt.PAGE_SIZE
: Optional. Die Anzahl der Ergebnisse, die pro Seite zurückgegeben werden sollen. Der Maximalwert beträgt 500. Wenn der Wert auf0
oder ein negativer Wert festgelegt ist, wird ein geeigneter Standardwert ausgewählt.nextPageToken
wird zurückgegeben, um nachfolgende Ergebnisse abzurufen.QUERY
: Optional. Die Abfrageanweisung. Weitere Informationen finden Sie unter Abfragesyntax. Wenn nicht angegeben oder leer, werden alle Ressourcen im angegebenenscope
durchsucht.Beispiele:
name:Important
, um Google Cloud-Ressourcen zu suchen, deren Name das Wort "Important" enthält.name=Important
, um die Google Cloud-Ressource zu suchen, deren Name genau "Important" ist.displayName:Impor*
, um Google Cloud-Ressourcen zu suchen, deren Anzeigename "Impor" als Präfix eines beliebigen Worts enthält.location:us-west*
, um Google Cloud-Ressourcen zu suchen, deren Standort sowohl "us" als auch "west" als Präfixe enthält.labels:prod
, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel oder Wert das Wort "prod" enthält.labels.env:prod
, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist und dessen Wert das Wort "prod" enthält.labels.env:*
, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist.tagKeys:env
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, bei denenTagKey.namespacedName
das Wort „env“ enthält.tagKeyIds=tagKeys/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, wobeiTagKey.name
genau „tagKeys/123“ ist.tagValues:prod*
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, bei denenTagValue.namespacedName
ein Wort mit dem Präfix „prod“ enthält.tagValueIds=tagValues/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind, wobeiTagValue.name
genau „tagValues/123“ ist.effectiveTagKeys:env
, um Google Cloud-Ressourcen zu finden, die direkt angehängt sind oder Tags übernehmen, bei denenTagKey.namespacedName
env
enthält.effectiveTagKeyIds=tagKeys/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagKey.name
genautagKeys/123
ist.effectiveTagValues:prod*
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagValue.namespacedName
ein Wort mit dem Präfixprod
enthält.effectiveTagValueIds=tagValues/123
, um Google Cloud-Ressourcen zu finden, die direkt an Tags angehängt sind oder diese übernehmen, wobeiTagValue.name
genautagValues/123
ist.kmsKey:key
, um Google Cloud-Ressourcen zu finden, die mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt sind, dessen Namekey
als Wort enthält. Dieses Feld ist veraltet. Verwenden Sie das FeldkmsKeys
, um Cloud KMS-Schlüsselinformationen abzurufen.kmsKeys:key
, um Google Cloud-Ressourcen zu finden, die mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsselt sind, deren Name das Wort „Schlüssel“ enthält.relationships:instance-group-1
, um Google Cloud-Ressourcen zu finden, die Beziehungen zuinstance-group-1
im zugehörigen Ressourcennamen haben.relationships:INSTANCE_TO_INSTANCEGROUP
, um Compute Engine-Instanzen mit Beziehungen vom TypINSTANCE_TO_INSTANCEGROUP
zu finden.relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
, um Compute Engine-Instanzen zu finden, die Beziehungen zuinstance-group-1
im Ressourcennamen der Compute Engine-Instanzgruppe für den BeziehungstypINSTANCE_TO_INSTANCEGROUP
haben.state:ACTIVE
, um Google Cloud-Ressourcen zu suchen, deren Status "ACTIVE" als Wort enthält.NOT state:ACTIVE
, um Google Cloud-Ressourcen zu finden, deren Status nicht „ACTIVE“ als Wort enthält.createTime<1609459200
odercreateTime<2021-01-01
odercreateTime<"2021-01-01T00:00:00"
, um Google Cloud-Ressourcen zu finden, die vor dem2021-01-01 00:00:00 UTC
erstellt wurden.1609459200
ist der Epochenzeitstempel in Sekunden von2021-01-01 00:00:00 UTC
.updateTime>1609459200
oderupdateTime>2021-01-01
oderupdateTime>"2021-01-01T00:00:00"
, um Google Cloud-Ressourcen zu finden, die nach dem2021-01-01 00:00:00 UTC
aktualisiert wurden.1609459200
ist der Epochenzeitstempel in Sekunden von2021-01-01 00:00:00 UTC
.project:12345
, um Google Cloud-Ressourcen zu suchen, die zu einem Google Cloud-Projekt mit der Nummer 12345 gehören.folders:(123 or 456)
, um Google Cloud-Ressourcen zu suchen, die zu einem Google Cloud-Ordner mit den Nummern 123 oder 456 gehören.organization:123
, um Google Cloud-Ressourcen zu suchen, die zu einer Google Cloud-Organisation mit der Nummer 123 gehören.parentFullResourceName:ImportantName
, um Cloud-Ressourcen zu suchen, deren NameImportantName
enthält.parentAssetType:Project
, um Google Cloud-Ressourcen zu finden, deren Asset-Typ des übergeordneten ElementsProject
enthält.Important
, um Google Cloud-Ressourcen zu suchen, die in einem der Suchfelder das Wort "Important" enthalten.Impor*
, um Google Cloud-Ressourcen zu suchen, die in einem der Suchfelder "Import" als Präfix eines beliebigen Wortes enthalten.Important location:(us-west1 OR global)
, um Google Cloud-Ressourcen zu finden, die in einem der durchsuchbaren Felder das WortImportant
enthalten und sich auch in der Regionus-west1
oder am Standortglobal
befinden.
READ_MASK
: Optional. Eine durch Kommas getrennte Liste von Feldern, die angeben, welche Felder in den Ergebnissen zurückgegeben werden sollen. Wenn nicht angegeben, werden alle Felder außerversionedResources
zurückgegeben. Wenn nur"*"
angegeben ist, werden alle Felder zurückgegeben. Beispiele:"name,location"
,"name,versionedResources"
,"*"
.Die folgenden Felder werden standardmäßig zurückgegeben, wenn
read_mask
nicht angegeben ist:name
assetType
project
folders
organization
displayName
description
location
labels
tags
networkTags
kmsKeys
createTime
updateTime
state
additionalAttributes
parentFullResourceName
parentAssetType
Einige sehr große Felder wie
versionedResources
,attachedResources
undeffectiveTags
werden nicht standardmäßig zurückgegeben. Sie können sie jedoch im Parameterread_mask
angeben, wenn Sie sie einschließen möchten. Wenn"*"
angegeben ist, werden alle verfügbaren Felder zurückgegeben. Beispiele:"name,location,effectiveTags"
,"name,versionedResources"
,"*"
.SCOPE
: Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein. Die Suche ist auf die Google Cloud-Ressourcen in diesem Bereich beschränkt. Dem Aufrufer muss die Berechtigungcloudasset.assets.searchAllResources
für den ausgewählten Bereich gewährt werden. Wenn keine Angabe erfolgt, wird das konfigurierte Projektattribut verwendet.Zulässige Werte:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud-Projektnummer ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:
-
Rufen Sie in der Google Cloud Console die Seite Dashboard auf.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Wählen Sie Ihre Organisation im Feld Auswählen aus aus und suchen Sie dann nach dem Namen Ihres Projekts.
- Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird auf der Karte Projektinformationen angezeigt.
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
Google Cloud-Ordner-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene 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 kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option
--format
, um weitere Informationen zu den gefundenen Ordnern zu sehen.Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud-Organisations-ID ermitteln
Console
Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:
-
Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Auswahlfeld.
- Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Clientbibliothek und API-Referenz
SearchAllResources
So erstellen Sie eine Abfrage
Weitere Informationen zur Abfragesprache finden Sie unter Abfragesyntax.
Unter Ressourcenbeispiele suchen finden Sie weitere Informationen zu den Beispielabfragen für verschiedene reale Anwendungsfälle.
Google Cloud-Ressourcen nach Feldern mit Ressourcenmetadaten abfragen
Zum Suchen nach Ressourcenmetadaten haben Abfrageausdrücke folgende Formate:
Text Genau passend:
FIELD=QUERY
Teilweise Übereinstimmung mit Text:
FIELD:QUERY
Numerische Übereinstimmung: Vergleichsoperatoren (
=
,>
,>=
,<
,<=
)FIELDcomparison operatorQUERY
Ein FIELD
mit suchbaren Ressourcenmetadaten kann Folgendes sein:
name: Der vollständige Ressourcenname der Ressource. Hinweis: Nicht alle Asset-Typen sind suchbar. Weitere Informationen finden Sie in der Liste der suchbaren Typen.
displayName::Der Anzeigename auf der Benutzeroberfläche.
description:Die Textbeschreibung der Ressource in einem oder mehreren Absätzen.
location:Der Standort der Ressource. Der Standort kann
global
, regional (z. B.us-east1
) oder zonal (z. B.us-west1-b
) sein.labels:Mit dieser Ressource verknüpfte Labels. Labels können mit Labelschlüsseln, Labelwerten oder beidem übereinstimmen. Siehe Google Cloud Platform-Ressourcen mit Labels versehen und gruppieren.
labels.[key]:: Labelwert, der durch den Labelschlüssel identifiziert wird, der dieser Ressource zugeordnet ist. Beispiel:
labels.env:prod
In Labelschlüsseln sind nur Bindestriche (-
), Unterstriche (_
), Kleinbuchstaben und Ziffern zulässig. Schlüssel müssen mit einem Kleinbuchstaben beginnen. Internationale Zeichen sind zulässig. Weitere Informationen zu den Anforderungen für LabelstagKeys::
TagKey.namespacedName
der Tags, die direkt an diese Ressource angehängt sind.tagKeyIds:
TagKey.name
der Tags, die direkt an diese Ressource angehängt sind.tagValues::
TagValue.namespacedName
der Tags, die direkt an diese Ressource angehängt sind.tagValueIds:
TagValue.name
der Tags, die direkt an diese Ressource angehängt sind.effectiveTagKeys:
TagKey.namespacedName
der Tags, die direkt an diese Ressource angehängt oder an diese Ressource übernommen wurden.effectiveTagKeyIds:
TagKey.name
der Tags, die dieser Ressource direkt angehängt oder übernommen wurden.effectiveTagValues:
TagValue.namespacedName
der Tags, die dieser Ressource direkt angehängt oder übernommen wurden.effectiveTagValueIds:
TagValue.name
der Tags, die dieser Ressource direkt angehängt oder übernommen wurden.
networkTags: Mit dieser Ressource verknüpfte Netzwerk-Tags. Siehe Google Cloud Platform-Ressourcen mit Labels versehen und gruppieren.
kmsKey: Der vom Kunden verwaltete Verschlüsselungsschlüssel, der zum Verschlüsseln dieser Ressource verwendet wird. Dieses Feld ist veraltet. Verwenden Sie das Feld
kmsKeys
, um Informationen zum Cloud KMS-Schlüssel abzurufen. Weitere Informationen finden Sie unter CryptoKey und CryptoKeyVersion.kmsKeys:Die vom Kunden verwalteten Verschlüsselungsschlüssel, die zum Verschlüsseln dieser Ressource verwendet werden. Siehe CryptoKey und CryptoKeyVersion.
Beziehungen:Die Beziehungen, die mit dieser Ressource verknüpft sind. Beziehungen können dem Beziehungstyp, dem Namen der zugehörigen Ressource oder beidem entsprechen. Siehe Unterstützte Beziehungstypen.
relationships.[relationship_type]: Der Name der zugehörigen Ressource für einen bestimmten Ressourcentyp, der dieser Ressource zugeordnet ist. Beispiel:
relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
. Siehe Unterstützte Beziehungstypen.sccSecurityMarks:Der tatsächliche Inhalt der mit dem Asset verknüpften Security Command Center-Sicherheitsmarkierungen. Beispiel:
sccSecurityMarks.foo:bar
Weitere Informationen finden Sie unter Unterstützte Asset-Typen in Security Command Center.state::Der Textwert des Status dieser Ressource. Unterschiedliche Ressourcentypen haben unterschiedliche Statusdefinitionen, die aus verschiedenen Feldern unterschiedlicher Ressourcentypen zugeordnet werden. Beispiel: Wenn die Ressource eine von Compute Engine bereitgestellte Instanz ist, umfasst ihr Status
PROVISIONING
,STAGING
,RUNNING
,STOPPING
,SUSPENDING
,SUSPENDED
,REPAIRING
undTERMINATED
. Siehe Definition fürstatus
in der API-Referenz. Wenn die Ressource ein von Cloud Resource Manager bereitgestelltes Projekt ist, umfasst sein StatusLIFECYCLE_STATE_UNSPECIFIED
,ACTIVE
,DELETE_REQUESTED
undDELETE_IN_PROGRESS
. Siehe Definition fürlifecycleState
in der API-Referenz.createTime::Der Zeitstempel der Erstellung dieser Ressource, zu dem die Ressource erstellt wurde. Die Genauigkeit erfolgt in Sekunden.
updateTime::Der Zeitstempel der letzten Aktualisierung dieser Ressource, zu dem die Ressource zuletzt geändert oder gelöscht wurde. Die Genauigkeit erfolgt in Sekunden.
project:Die Nummer des Projekts, zu dem diese Ressource gehört.
folders:Die Nummern der Ordner, zu denen diese Ressource gehört.
organization: Die Nummer der Organisation, zu der diese Ressource gehört.
parentFullResourceName: Der Name des übergeordneten Elements dieser Ressource.
parentAssetType:Der Typ des übergeordneten Elements dieser Ressource.
Beispiele: Abfrage nach einem bestimmten Feld
Alle Ressourcen in Ihrem
scope
suchen, derenname
das WortImportant
enthält:name:Important
Hier finden Sie alle Ressourcen in der Datei
scope
, derendisplayName
ein Wort mit dem Präfixprod
enthält:displayName:prod*
Alle Ressourcen in Ihrem
scope
suchen, derenlocation
das Wortus
enthält:location:us
Alle Ressourcen in Ihrem
scope
suchen, derenlocation
dem Wertus
entspricht:location=us
Hier finden Sie alle Ressourcen in der
scope
, die direkt an Tags mitTagKey.namespacedName
angehängt sind, die das Wortenv
enthalten:tagKeys:env
Finde alle Ressourcen in deiner
scope
, die direkt angehängte Tags haben, bei denenTagKey.name
exakt gleichtagKeys/123
ist:tagKeyIds=tagKeys/123
Hier finden Sie alle Ressourcen in Ihrer
scope
, die direkt Tags mitTagValue.namespacedName
angehängt haben, die ein Wort mit dem Präfixprod
enthalten:tagValues:prod*
Finde alle Ressourcen in deiner
scope
, die direkt angehängte Tags haben, bei denenTagValue.name
exakt gleichtagValues/123
ist:tagValueIds=tagValues/123
Hier finden Sie alle Ressourcen in der Datei
scope
, denen direkt Tags mitTagValue.namespacedName
angehängt sind.tagValues:*
Hier finden Sie alle Ressourcen in Ihrer
scope
, die direkt angehängte oder übernommene Tags haben, derenTagKey.namespacedName
das Wortenv
enthält:effectiveTagKeys:env
Suchen Sie alle Ressourcen in Ihrem
scope
, die direkt angehängte oder übernommene Tags haben, bei denenTagKey.name
exakt gleichtagKeys/123
ist:effectiveTagKeyIds=tagKeys/123
Suchen Sie alle Ressourcen in Ihrer
scope
, die direkt angehängte oder übernommene Tags mitTagValue.namespacedName
haben, die ein Wort mit dem Präfixprod
enthalten:effectiveTagValues:prod*
Suchen Sie alle Ressourcen in Ihrem
scope
, die direkt angehängte oder übernommene Tags haben, bei denenTagValue.name
exakt gleichtagValues/123
ist:effectiveTagValueIds=tagValues/123
Suchen Sie alle Ressourcen in Ihrer
scope
, an die ein direkt angehängtes oder übernommenes Tag mitTagValue.namespacedName
angehängt ist.effectivetagValues:*
Suchen Sie nach allen Ressourcen in der
scope
, die einelabel
haben, bei denen entweder der Schlüssel oder der Wert das Wortprod
enthält:labels:prod
Hier finden Sie alle Ressourcen in Ihrem
scope
, die einelabel
haben, bei denen der Schlüsselenv
ist und der Wert das Wortprod
enthält:labels.env:prod
Suchen Sie alle Ressourcen in Ihrem
scope
, die einelabel
haben, bei denen der Schlüsselenv
ist und der Wert genauprod
ist:labels.env=prod
So finden Sie alle Ressourcen in Ihrem
scope
, die einelabel
mit dem Schlüsselenv
haben:labels.env:*
Hier finden Sie alle Ressourcen in Ihrem
scope
, derennetworkTags
das Wortinternal
enthält:networkTags:internal
Alle Ressourcen in Ihrem
scope
suchen, derennetworkTags
genauinternal
ist:networkTags=internal
Suchen Sie nach allen Ressourcen in der Datei
scope
, die eine Beziehung zuinstance-group-1
im zugehörigen Ressourcennamen haben:relationships:instance-group-1
Suchen Sie in Ihrem
scope
nach Recheninstanzen, die Beziehungen vom TypINSTANCE_TO_INSTANCEGROUP
haben:relationships:INSTANCE_TO_INSTANCEGROUP
Suchen Sie im
scope
nach Compute-Instanzen, die Beziehungen zuinstance-group-1
im Ressourcennamen der Compute-Instanzgruppe für den BeziehungstypINSTANCE_TO_INSTANCEGROUP
haben:relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
Alle Ressourcen in Ihrem
scope
suchen, derenkmsKeys
das Wortkey
enthält:kmsKeys:key
Alle Ressourcen in Ihrem
scope
suchen, derenkmsKeys
dem Wertkey
entspricht:kmsKeys=key
Suchen Sie nach allen Ressourcen in der Datei
scope
, derensccSecurityMarks
genau das Schlüssel/Wert-Paar(key, value)
enthält:sccSecurityMarks.key=value
Hier finden Sie alle Ressourcen in der Datei
scope
, derensccSecurityMarks
das Schlüssel/Wert-Paar mit dem Schlüsselkey
enthält:sccSecurityMarks.key:*
Alle Ressourcen in Ihrem
scope
suchen, derenstate
das WortACTIVE
enthält:state:ACTIVE
Alle Ressourcen in Ihrem
scope
suchen, derenstate
nicht das WortACTIVE
enthält:NOT state:ACTIVE
Hier finden Sie alle Ressourcen in der
scope
, die vor dem2021-01-01 00:00:00 UTC
erstellt wurden (1609459200
ist der Epochenzeitstempel von2021-01-01 00:00:00 UTC
in Sekunden):createTime<1609459200 createTime<2021-01-01 createTime<"2021-01-01T00:00:00"
Hier finden Sie alle Ressourcen in der Datei
scope
, die nach dem2021-01-01 00:00:00 UTC
aktualisiert wurden (1609459200
ist der Epochenzeitstempel von2021-01-01 00:00:00 UTC
in Sekunden):updateTime>1609459200 updateTime>2021-01-01 updateTime>"2021-01-01T00:00:00"
Alle Ressourcen in Ihrem
scope
suchen, derenproject
die Nummer123
hat:project:123
So finden Sie alle Ressourcen in der Datei
scope
, die infolder
mit der Nummer123
enthalten sind:folders:123
Alle Ressourcen in Ihrem
scope
suchen, derenorganization
die Nummer123
hat:organization:123
Alle Ressourcen in Ihrem
scope
suchen, derenparentFullResourceName
ImportantName
enthält:parentFullResourceName:ImportantName
Alle Ressourcen in Ihrem
scope
suchen, derenparentAssetType
Project
enthält:parentAssetType:Project
Hier finden Sie alle Ressourcen im
scope
, derenname
das WortImportant
unddescription
ein Wort mit dem Präfiximport
enthält:name:Important description:import*
Hier finden Sie alle Ressourcen im
scope
, derenname
das WortImportant
oderdescription
ein Wort mit dem Präfiximport
enthält:name:Important OR description:import*
Google Cloud-Ressourcen nach Freitext abfragen
Sie können auch einfach eine Freitextabfrage verwenden, ohne ein Feld anzugeben. Dann werden Ressourcen zurückgegeben, solange in den Ressourcenmetadaten ein Feld vorhanden ist, das mit der Abfrage übereinstimmt.
Beispiele: Abfrage nach Freitext
Hier finden Sie alle Ressourcen in der
scope
, deren Metadatenfelder (z. B.name
,displayName
,description
) das WortImportant
enthalten:Important
Hier finden Sie alle Ressourcen im
scope
, deren Metadatenfelder (z. B.name
,displayName
,description
) ein Wort mit dem Präfiximport
enthalten:import*
Suchen Sie alle Ressourcen in Ihrer
scope
, deren Metadatenfelder (z. B.name
,displayName
,description
) das WortImportant
und auch ein Wort mit dem Präfixprod
enthalten:Important prod*