Puoi elencare gli asset in progetti, cartelle o organizzazioni Google Cloud .
Prima di iniziare
Abilita l'API Cloud Asset Inventory nel progetto da cui stai eseguendo i comandi di 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, consulta Autorizzazioni.
Limitazioni
Quando elenchi i dati della tabella BigQuery, non tutti i campi sono supportati.
I campi degli asset che cambiano di frequente nei metadati di BigQuery, come
numBytes
,numLongTermBytes
,numPhysicalBytes
enumRows
, vengono assegnati ai valorinull
.
Elencare le risorse
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
è ID del progetto che contiene la risorsa che vuoi recuperare. -
folder=FOLDER_ID
, doveFOLDER_ID
è ID della cartella contenente la risorsa che vuoi recuperare.Come trovare l'ID di una cartella Google Cloud
Google Cloud console
Per trovare l'ID di una cartella Google Cloud , segui questi passaggi:
-
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
--format
per visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il seguente comando 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 ha la risorsa che vuoi recuperare.Come trovare l'ID di un'organizzazione Google Cloud
Google Cloud console
Per trovare l'ID di un'organizzazione Google Cloud , segui questi passaggi:
-
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 disponibili per la ricerca. 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-types
non è specificato, vengono restituiti tutti i tipi di asset.CONTENT_TYPE
: facoltativo. Il tipo di contenuti dei metadati che vuoi recuperare. Se--content-type
non è specificato, vengono restituite solo informazioni di base, ad esempio i nomi degli asset, l'ultima volta che gli asset sono stati aggiornati e a quali progetti, cartelle e organizzazioni appartengono.-
RELATIONSHIP_TYPE_#
: facoltativo. Richiede l'accesso al livello Premium o Enterprise di Security Command Center o Gemini Cloud Assist. Un elenco separato da virgole di tipi di relazioni tra asset che vuoi recuperare. Affinché la procedura funzioni, devi impostareCONTENT_TYPE
suRELATIONSHIP
. -
SNAPSHOT_TIME
: facoltativo. L'ora in cui vuoi acquisire uno snapshot dei tuoi asset, nel formato data e ora dell'argomento gcloud. Il valore non deve risalire a più di 35 giorni fa. Quando--snapshot-time
non è specificato, viene acquisita un'istantanea al momento corrente.
Consulta il riferimento all'interfaccia a riga di comando gcloud per tutte le opzioni.
Esempio
Il seguente comando recupera uno snapshot dei metadati resource
delle istanze Compute Engine a partire dal 30 gennaio 2024 (2024-01-30
) nel progetto my-project
.
Prima di eseguire questo comando, assicurati di modificare la data 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"
Risposta di esempio
--- 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 la risorsa che vuoi recuperare. -
projects/PROJECT_NUMBER
, dovePROJECT_NUMBER
è il numero del progetto che contiene la risorsa che vuoi recuperare.Come trovare il numero di un progetto Google Cloud
Google Cloud console
Per trovare il numero di un progetto Google Cloud , svolgi i seguenti passaggi:
-
Vai alla pagina Ti diamo il 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 progetto. Il nome, il numero e l'ID progetto vengono visualizzati vicino all'intestazione Ti diamo il 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 il numero di un progetto Google Cloud con il seguente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, doveFOLDER_ID
è ID della cartella contenente la risorsa che vuoi recuperare.Come trovare l'ID di una cartella Google Cloud
Google Cloud console
Per trovare l'ID di una cartella Google Cloud , segui questi passaggi:
-
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
--format
per visualizzare ulteriori informazioni sulle cartelle trovate.Il comando precedente non restituisce gli ID delle sottocartelle all'interno delle cartelle. Per farlo, esegui il seguente comando 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 ha la risorsa che vuoi recuperare.Come trovare l'ID di un'organizzazione Google Cloud
Google Cloud console
Per trovare l'ID di un'organizzazione Google Cloud , segui questi passaggi:
-
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 disponibili per la ricerca. 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
. SeassetTypes
non è specificato, vengono restituiti tutti i tipi di asset.CONTENT_TYPE
: facoltativo. Il tipo di contenuti dei metadati che vuoi recuperare. Se non viene specificatocontentType
, vengono restituite solo informazioni di base, ad esempio i nomi degli asset, l'ultima volta che gli asset sono stati aggiornati e a quali progetti, cartelle e organizzazioni appartengono.-
RELATIONSHIP_TYPE_#
: facoltativo. Richiede l'accesso al livello Premium o Enterprise di Security Command Center o Gemini Cloud Assist. Un elenco separato da virgole di tipi di relazioni tra asset che vuoi recuperare. Affinché la procedura funzioni, devi impostareCONTENT_TYPE
suRELATIONSHIP
. -
SNAPSHOT_TIME
: facoltativo. L'ora in cui vuoi acquisire uno snapshot dei tuoi asset, in formato RFC 3339. Il valore non deve risalire a più di 35 giorni fa. SereadTime
non è specificato, viene acquisita un'istantanea al momento corrente. -
PAGE_SIZE
: facoltativo. Il numero di risultati da restituire per pagina. Il numero massimo è 500. Se il valore è impostato su0
o su un valore negativo, viene selezionato un valore predefinito appropriato. Viene restituito unnextPageToken
per recuperare i risultati successivi. -
PAGE_TOKEN
: facoltativo. Le risposte alle richieste lunghe sono separate su più pagine. SepageToken
non è specificato, viene restituita la prima pagina. Le pagine successive possono essere chiamate utilizzandonextPageToken
della 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 a partire dal 30 gennaio 2024 (2024-01-30T00:00:00Z
) nel progetto my-project
.
Prima di eseguire uno di questi comandi, assicurati di modificare la data dello snapshot in modo che rientri negli ultimi 35 giorni e modifica 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
Risposta di esempio
{ "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 Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Vai
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Asset Inventory, consulta Librerie client di Cloud Asset Inventory.
Per autenticarti a Cloud Asset Inventory, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.