Puoi elencare gli asset in Google Cloud progetti, cartelle o organizzazioni.
Prima di iniziare
Abilita l'API Cloud Asset Inventory nel progetto da cui esegui i comandi Cloud Asset Inventory.
Assicurati che il tuo account disponga del ruolo corretto per chiamare l'API Cloud Asset Inventory. Per le singole autorizzazioni per ogni tipo di chiamata, vedi Autorizzazioni.
Limitazioni
Quando elenchi i dati della tabella BigQuery, non tutti i campi sono supportati.
I campi degli asset che cambiano spesso nei metadati BigQuery, come
numBytes,numLongTermBytes,numPhysicalBytesenumRows, vengono assegnati valorinull.
Elencare gli asset
Console
La console Google Cloud utilizza l'APISearchAllResourcesper
richiedere i dati, il che significa che puoi visualizzare solo gli asset con il
RESOURCE
tipo di contenuti. Per visualizzare altri tipi di contenuti o filtrare in base a criteri più precisi, utilizza gcloud CLI, REST o una libreria client.
Per elencare i metadati delle risorse per il tuo progetto, la tua cartella o la tua organizzazione, completa i seguenti passaggi:
-
Nella console Google Cloud , vai alla pagina Inventario asset.
- Passa al progetto, alla cartella o all'organizzazione in cui vuoi elencare le risorse.
- Fai clic sulla scheda Risorsa.
- Nel riquadro Filtra risultati, seleziona i tipi di risorse, i progetti o le località in base ai quali filtrare i risultati.
- Per visualizzare i metadati di una risorsa, fai clic sul nome visualizzato della risorsa nel riquadro dei risultati.
gcloud
gcloud asset list \ --SCOPE \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --snapshot-time="SNAPSHOT_TIME"
Fornisci i seguenti valori:
-
SCOPE: utilizza uno dei seguenti valori:-
project=PROJECT_ID, dovePROJECT_IDè l'ID del progetto che contiene l'asset che vuoi recuperare. -
folder=FOLDER_ID, doveFOLDER_IDè l'ID della cartella che contiene l'asset che vuoi recuperare.Come trovare l'ID di una Google Cloud cartella
ConsoleGoogle Cloud
Per trovare l'ID di una Google Cloud cartella:
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di una cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:
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)"
dove TOP_LEVEL_FOLDER_NAME è una corrispondenza parziale o completa della stringa per il nome della cartella. Rimuovi il flag
--formatper visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il comando seguente utilizzando l'ID di una cartella di primo livello:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID, doveORGANIZATION_IDè l'ID dell'organizzazione che possiede l'asset che vuoi recuperare.Come trovare l'ID di un' Google Cloud organizzazione
ConsoleGoogle Cloud
Per trovare l'ID di un'organizzazione, completa i seguenti passaggi: Google Cloud
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di un'organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_TYPE_#: (Facoltativo) Un elenco separato da virgole di tipi di asset ricercabili. Sono supportate le espressioni regolari compatibili con RE2. Se l'espressione regolare non corrisponde a nessun tipo di asset supportato, viene restituito un erroreINVALID_ARGUMENT. Quando--asset-typesnon è specificato, vengono restituiti tutti i tipi di asset.CONTENT_TYPE: (Facoltativo) Il tipo di contenuti dei metadati che vuoi recuperare. Quando--content-typenon è specificato, vengono restituite solo informazioni di base, come i nomi degli asset, l'ultima volta che gli asset sono stati aggiornati e i progetti, le cartelle e le organizzazioni a cui appartengono.-
RELATIONSHIP_TYPE_#: (Facoltativo) Richiede l'accesso al livello Premium o Enterprise di Security Command Center o a Gemini Cloud Assist. Un elenco separato da virgole di tipi di relazione tra asset che vuoi recuperare. Perché questa operazione funzioni, devi impostareCONTENT_TYPEsuRELATIONSHIP. -
SNAPSHOT_TIME: (Facoltativo) L'ora in cui vuoi acquisire uno snapshot dei tuoi asset, nel formato gcloud topic datetime. Il valore non deve essere precedente a 35 giorni. Quando--snapshot-timenon è specificato, viene creato uno snapshot all'ora corrente.
Per tutte le opzioni, consulta il riferimento gcloud CLI.
Esempio
Il seguente comando recupera uno snapshot dei metadati resource delle istanze Compute Engine al 30 gennaio 2024 (2024-01-30) nel progetto my-project.
Prima di eseguire questo comando, assicurati di modificare l'ora dello snapshot in modo che rientri negli ultimi 35 giorni e di modificare il nome del progetto.
gcloud asset list \ --project=my-project \ --asset-types=compute.googleapis.com/Instance \ --content-type=resource \ --snapshot-time="2024-01-30"
Esempio di risposta
---
ancestors:
- projects/000000000000
- folders/000000000000
- organizations/000000000000
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-name
resource:
data:
ASSET_METADATA
updateTime: '2024-01-30T00:00:00.000000Z'
REST
Metodo HTTP e URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/assets
Corpo JSON della richiesta:
{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTime": "SNAPSHOT_TIME", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN" }
Fornisci i seguenti valori:
-
SCOPE_PATH: utilizza uno dei seguenti valori:I valori consentiti sono:
-
projects/PROJECT_ID, dovePROJECT_IDè l'ID del progetto che contiene l'asset che vuoi recuperare. -
projects/PROJECT_NUMBER, dovePROJECT_NUMBERè il numero del progetto che contiene l'asset che vuoi recuperare.Come trovare un Google Cloud numero di progetto
ConsoleGoogle Cloud
Per trovare un numero di progetto, completa i seguenti passaggi: Google Cloud
-
Vai alla pagina Benvenuto nella console Google Cloud .
- Fai clic sulla casella di elenco selettore nella barra dei menu.
-
Seleziona la tua organizzazione dalla casella di elenco, quindi cerca il nome del tuo progetto. Il nome, il numero e l'ID progetto sono visualizzati vicino all'intestazione Benvenuto.
Vengono visualizzate fino a 4000 risorse. Se non vedi il progetto che stai cercando, vai alla pagina Gestisci risorse e filtra l'elenco utilizzando il nome del progetto.
Interfaccia a riga di comando gcloud
Puoi recuperare un Google Cloud numero di progetto con il seguente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, doveFOLDER_IDè l'ID della cartella che contiene l'asset che vuoi recuperare.Come trovare l'ID di una Google Cloud cartella
ConsoleGoogle Cloud
Per trovare l'ID di una Google Cloud cartella:
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di una cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:
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)"
dove TOP_LEVEL_FOLDER_NAME è una corrispondenza parziale o completa della stringa per il nome della cartella. Rimuovi il flag
--formatper visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il comando seguente utilizzando l'ID di una cartella di primo livello:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, doveORGANIZATION_IDè l'ID dell'organizzazione che possiede l'asset che vuoi recuperare.Come trovare l'ID di un' Google Cloud organizzazione
ConsoleGoogle Cloud
Per trovare l'ID di un'organizzazione, completa i seguenti passaggi: Google Cloud
-
Vai alla console Google Cloud .
- Fai clic sulla casella di elenco selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella di elenco.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare l'ID di un'organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_TYPE_#: (Facoltativo) Un array di tipi di asset ricercabili. Sono supportate le espressioni regolari compatibili con RE2. Se l'espressione regolare non corrisponde a nessun tipo di asset supportato, viene restituito un erroreINVALID_ARGUMENT. QuandoassetTypesnon è specificato, vengono restituiti tutti i tipi di asset.CONTENT_TYPE: (Facoltativo) Il tipo di contenuti dei metadati che vuoi recuperare. QuandocontentTypenon è specificato, vengono restituite solo informazioni di base, come i nomi degli asset, l'ultima volta che sono stati aggiornati e i progetti, le cartelle e le organizzazioni a cui appartengono.-
RELATIONSHIP_TYPE_#: (Facoltativo) Richiede l'accesso al livello Premium o Enterprise di Security Command Center o a Gemini Cloud Assist. Un elenco separato da virgole di tipi di relazione tra asset che vuoi recuperare. Perché questa operazione funzioni, devi impostareCONTENT_TYPEsuRELATIONSHIP. -
SNAPSHOT_TIME: (Facoltativo) L'ora in cui vuoi acquisire uno snapshot dei tuoi asset, in formato RFC 3339. Il valore non deve essere precedente a 35 giorni. SereadTimenon è specificato, viene creato uno snapshot all'ora corrente. -
PAGE_SIZE: (Facoltativo) Il numero di risultati da restituire per pagina. Il valore massimo è 500. Se il valore è impostato su0o su un valore negativo, viene selezionato un valore predefinito appropriato. Viene restituito unnextPageTokenper recuperare i risultati successivi. -
PAGE_TOKEN: (Facoltativo) Le risposte alle richieste lunghe sono separate su più pagine. SepageTokennon è specificato, viene restituita la prima pagina. Le pagine successive possono essere chiamate utilizzando il valorenextPageTokendella risposta precedente come valorepageToken.
Consulta il riferimento REST per tutte le opzioni.
Esempi di comandi
I seguenti comandi recuperano uno snapshot dei metadati resource delle istanze Compute Engine al 30 gennaio 2024 (2024-01-30T00:00:00Z) nel progetto my-project.
Prima di eseguire uno di questi comandi, assicurati di modificare l'ora dello snapshot in modo che rientri negli ultimi 35 giorni e di modificare il nome del progetto.
curl (Linux, macOS o Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": ["compute.googleapis.com/Instance"], "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z" }' \ https://cloudasset.googleapis.com/v1/projects/my-project/assets
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": ["compute.googleapis.com/Instance"], "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/assets" | Select-Object -Expand Content
Esempio di risposta
{ "readTime": "2024-01-30T00:00:00Z", "assets": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-name", "assetType": "compute.googleapis.com/Instance", "resource": { "version": "v1", "discoveryDocumentUri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest", "discoveryName": "Instance", "parent": "//cloudresourcemanager.googleapis.com/projects/000000000000", "data": { ASSET_METADATA }, "location": "us-central1-a" }, "ancestors": [ "projects/000000000000", "folders/000000000000", "organizations/000000000000" ], "updateTime": "2024-01-30T00:00:00.000000Z" } ] }
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Vai
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta la sezione Librerie client Cloud Asset Inventory.
Per eseguire l'autenticazione in Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.