Esporta i metadati di una risorsa utilizzando Cloud Asset Inventory
Questa guida rapida mostra come esportare i metadati di un asset in un determinato momento utilizzando
Cloud Asset Inventory e i comandi gcloud asset
di Google Cloud CLI.
Prima di iniziare
Prima di poter iniziare a utilizzare Cloud Asset Inventory, devi abilitare l'API Cloud Asset Inventory e Google Cloud CLI e assegnare le autorizzazioni. L'interfaccia a riga di comando di Google Cloud interagisce con Cloud Asset Inventory e altri servizi Google Cloud. Scopri di più su gcloud CLI.
Abilitazione dell'API Cloud Asset Inventory e Google Cloud CLI
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Configurazione delle autorizzazioni
Per chiamare l'API Cloud Asset Inventory, devi prima configurare le autorizzazioni.
Ricerca delle risorse
Per cercare nei metadati delle risorse, esegui il comando seguente.
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"
Specifica i seguenti valori:
SCOPE
: facoltativo. Un ambito può essere un progetto, una cartella o un'organizzazione. La ricerca è limitata alle risorse Google Cloud in questo ambito. Al chiamante deve essere concessa l'autorizzazionecloudasset.assets.searchAllResources
per l'ambito desiderato. Se non specificata, viene utilizzata la proprietà del progetto configurato.I valori consentiti sono:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Come trovare il numero di un progetto Google Cloud
Console
Per trovare il numero di un progetto Google Cloud, completa questi passaggi:
-
Vai alla pagina Dashboard nella console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca il nome del tuo progetto.
- Fai clic sul nome del progetto per passare a quel progetto. Il numero di progetto è visualizzato nella scheda Informazioni sul 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
Come trovare l'ID di una cartella Google Cloud
Console
Per trovare l'ID di una cartella Google Cloud, completa i seguenti passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella è 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 può essere una corrispondenza stringa completa o parziale. Rimuovi l'opzione
--format
per visualizzare ulteriori informazioni sulle cartelle trovate.Per ottenere l'ID di una cartella all'interno di un'altra cartella, elenca le sottocartelle:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Come trovare un ID organizzazione Google Cloud
Console
Per trovare l'ID organizzazione di Google Cloud, completa questi passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Fai clic sulla scheda Tutte. L'ID organizzazione è visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
QUERY
: facoltativo. L'istruzione della query. Per ulteriori informazioni, consulta la sezione Sintassi delle query. Se non specificato o vuoto, Cloud Asset Inventory cerca tutte le risorse nell'elementoscope
specificato.Esempi:
name:Important
per trovare le risorse Google Cloud il cui nome contieneImportant
come parola.name=Important
per trovare la risorsa Google Cloud il cui nome è esattamenteImportant
.displayName:Impor*
per trovare le risorse Google Cloud il cui nome visualizzato contieneImpor
come prefisso.location:us-west*
per trovare le risorse Google Cloud la cui località contiene siaus
chewest
come prefissi.labels:prod
per trovare le risorse Google Cloud le cui etichette contengonoprod
come chiave o valore.labels.env:prod
per trovare risorse di Google Cloud che hanno un'etichettaenv
e il cui valore è "prod".labels.env:*
per trovare risorse Google Cloud che hanno un'etichettaenv
.kmsKeys:key
per trovare le risorse Google Cloud criptate con chiavi di crittografia gestite dal cliente il cui nome contienekey
come parola.sccSecurityMarks.key=value
per trovare le risorse Google Cloud collegate a una coppia di contrassegni di sicurezza la cui chiave èkey
e il valore èvalue
.sccSecurityMarks.key:*
per trovare le risorse Google Cloud collegate a una coppia di contrassegni di sicurezza la cui chiave èkey
.state:ACTIVE
per trovare le risorse Google Cloud il cui stato contieneACTIVE
come parola.NOT state:ACTIVE
per trovare le risorse Google Cloud il cui stato non contieneACTIVE
come parola.createTime<1609459200
,createTime<2021-01-01
ocreateTime<"2021-01-01T00:00:00"
per trovare le risorse Google Cloud create prima del 1/01/2021 alle 00:00:00 UTC. 1609459200 è il timestamp dell'epoca del 01-01-2021 00:00:00 UTC, espresso in secondi.updateTime>1609459200
,updateTime>2021-01-01
oupdateTime>"2021-01-01T00:00:00"
per trovare le risorse Google Cloud aggiornate dopo il 1° gennaio 2021 alle 00:00:00 UTC. 1609459200 è il timestamp dell'epoca del 01-01-2021 00:00:00 UTC, espresso in secondi.project:12345
per trovare le risorse Google Cloud che appartengono a un progetto Google Cloud con numero 12345. L'ID progetto non è supportato.folders:(123 or 456)
per trovare le risorse Google Cloud che sono un discendente della cartella Google Cloud con i numeri 123 o 456.organization:123
per trovare le risorse Google Cloud che sono discendenti dell'organizzazione Google Cloud con numero 123.parentFullResourceName:ImportantName
per trovare le risorse Google Cloud il cui nome del padre contieneImportantName
.parentAssetType:Project
per trovare le risorse Google Cloud il cui tipo di asset principale contieneProject
.Important
per trovare le risorse Google Cloud contenentiImportant
come parola in qualsiasi campo disponibile per la ricerca.Impor*
per trovare le risorse Google Cloud che contengonoImpor
come prefisso in uno dei campi disponibili per la ricerca.Important location:(us-west1 OR global)
per trovare le risorse Google Cloud che contengono la parola "Importanti" come parola in qualsiasi campo disponibile per la ricerca e che si trovano anch'esse nella regioneus-west1
o nella localitàglobal
.
ASSET_TYPE
: facoltativo. Un elenco separato da virgole di tipi di risorse ricercabili. Sono supportate espressioni regolari compatibili con RE2. Se l'espressione regolare non corrisponde a nessun tipo di asset supportato, viene restituito un erroreINVALID_ARGUMENT
.ORDER_BY
: facoltativo. Un elenco di campi separati da virgole che specificano l'ordine dei risultati. L'ordine predefinito è crescente. Aggiungi" DESC"
dopo il nome del campo per indicare l'ordine decrescente. Gli spazi ridondanti vengono ignorati. Esempio:"location DESC, name"
. Solo i campi primitivi singolari nella risposta sono ordinabili:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
Tutti gli altri campi, come quelli ripetuti (ad esempio
networkTags
,kmsKeys
), i campi della mappa (ad es.labels
) e quelli di struct (ad esempioadditionalAttributes
), non sono supportati.READ_MASK
: facoltativo. Un elenco di campi separati da virgole che specificano i campi da restituire nei risultati. Se non specificato, vengono restituiti tutti i campi tranneversionedResources
. Se viene specificato solo"*"
, vengono restituiti tutti i campi. Esempi:"name,location"
,"name,versionedResources"
,"*"
.
Per scoprire di più su come cercare le risorse, consulta Ricerca delle risorse.
Ricerca dei criteri IAM
Per cercare criteri IAM (Identity and Access Management), esegui il comando seguente.
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="QUERY" \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by="ORDER_BY"
Specifica i seguenti valori:
SCOPE
: facoltativo. Un ambito può essere un progetto, una cartella o un'organizzazione. La ricerca è limitata alle risorse IAM in questo ambito. Al chiamante deve essere concessa l'autorizzazionecloudasset.assets.searchAllIamPolicies
per l'ambito desiderato. Se non specificata, viene utilizzata la proprietà del progetto configurato.I valori consentiti sono:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Come trovare il numero di un progetto Google Cloud
Console
Per trovare il numero di un progetto Google Cloud, completa questi passaggi:
-
Vai alla pagina Dashboard nella console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca il nome del tuo progetto.
- Fai clic sul nome del progetto per passare a quel progetto. Il numero di progetto è visualizzato nella scheda Informazioni sul 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
Come trovare l'ID di una cartella Google Cloud
Console
Per trovare l'ID di una cartella Google Cloud, completa i seguenti passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella è 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 può essere una corrispondenza stringa completa o parziale. Rimuovi l'opzione
--format
per visualizzare ulteriori informazioni sulle cartelle trovate.Per ottenere l'ID di una cartella all'interno di un'altra cartella, elenca le sottocartelle:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Come trovare un ID organizzazione Google Cloud
Console
Per trovare l'ID organizzazione di Google Cloud, completa questi passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Fai clic sulla scheda Tutte. L'ID organizzazione è visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
QUERY
: facoltativo. L'istruzione della query. Per ulteriori informazioni, consulta la sezione Sintassi delle query. Se non specificato o vuoto, Cloud Asset Inventory cerca in tutti i criteri IAM nell'elementoscope
specificato. La stringa di query viene confrontata con ogni associazione dei criteri IAM, inclusi entità, ruoli e condizioni IAM. I criteri IAM restituiti contengono solo le associazioni che corrispondono alla tua query. Per saperne di più sulla struttura dei criteri IAM, consulta Struttura dei criteri.Esempi:
policy:amy@gmail.com
per trovare associazioni di criteri IAM che specificano l'utenteamy@gmail.com
.policy:roles/compute.admin
per trovare associazioni di criteri IAM che specificano il ruolo Amministratore Compute.policy:comp*
per trovare le associazioni di criteri IAM che contengonocomp
come prefisso di qualsiasi parola nell'associazione.policy.role.permissions:storage.buckets.update
per trovare le associazioni di criteri IAM che specificano un ruolo contenente l'autorizzazionestorage.buckets.update
. Se i chiamanti non hanno accessoiam.roles.get
alle autorizzazioni incluse di un ruolo, le associazioni di criteri che specificano questo ruolo verranno eliminate dai risultati di ricerca.policy.role.permissions:upd*
per trovare associazioni di criteri IAM che specificano un ruolo contenenteupd
come prefisso di qualsiasi parola nell'autorizzazione del ruolo. Tieni presente che se i chiamanti non hanno accessoiam.roles.get
alle autorizzazioni incluse di un ruolo, le associazioni di criteri che specificano questo ruolo verranno eliminate dai risultati di ricerca.resource:organizations/123456
per trovare le associazioni di criteri IAM impostate su "organizations/123456".resource=//cloudresourcemanager.googleapis.com/projects/myproject
per trovare le associazioni dei criteri IAM impostate per il progetto denominatomyproject
.Important
per trovare le associazioni di criteri IAM che contengonoImportant
come parola in qualsiasi campo disponibile per la ricerca (ad eccezione delle autorizzazioni incluse).resource:(instance1 OR instance2) policy:amy
per trovare le associazioni di criteri IAM impostate sulle risorseinstance1
oinstance2
e specificare anche l'utenteamy
.roles:roles/compute.admin
per trovare associazioni di criteri IAM che specificano il ruolo Amministratore Compute.memberTypes:user
per trovare le associazioni di criteri IAM che contengono il tipo di entitàuser
.
ASSET_TYPE
: facoltativo. Un elenco separato da virgole di tipi di asset ricercabili a cui sono associati i criteri IAM. Se vuoto, Cloud Asset Inventory cerca nei criteri IAM associati a tutti i tipi di asset disponibili per la ricerca. Sono supportate le espressioni regolari. Se l'espressione regolare non corrisponde a nessun tipo di asset supportato, viene restituito un erroreINVALID_ARGUMENT
.ORDER_BY
: facoltativo. Un elenco di campi separati da virgole che specificano l'ordine dei risultati. L'ordine predefinito è crescente. Aggiungi" DESC"
dopo il nome del campo per indicare l'ordine decrescente. Gli spazi ridondanti vengono ignorati. Esempio:"location DESC, name"
. Solo i campi primitivi singolari nella risposta sono ordinabili:resource
assetType
project
Tutti gli altri campi, come quelli ripetuti (ad esempio
folders
) e non primitivi (ad esempiopolicy
), non sono supportati.
Per saperne di più su come cercare i criteri IAM, consulta Ricerca nei criteri IAM.
Esportazione di uno snapshot degli asset in Cloud Storage
Per esportare tutti i metadati degli asset in un determinato timestamp in un file del bucket Cloud Storage, completa i passaggi riportati di seguito.
Crea un nuovo bucket se non ne hai già uno.
Per esportare i metadati degli asset nel progetto, esegui questo comando. Questo comando archivia lo snapshot esportato in un file all'indirizzo
gs://BUCKET_NAME/FILENAME
.Progetti
gcloud asset export \ --project=PROJECT_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Specifica i seguenti valori:
PROJECT_ID
: l'ID del progetto di cui vuoi esportare i metadati.BILLING_PROJECT_ID
: facoltativo. L'ID progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito con l'autorizzazione per scrivere nel bucket Cloud Storage. Questa operazione non è necessaria se hai già effettuato il passaggio al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti della risorsa da esportare. Se non viene specificato alcun tipo di contenuti, viene restituito solo il nome della risorsa. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. Il momento in cui vuoi acquisire un'istantanea degli asset. Il valore deve corrispondere all'ora corrente o a un'ora non superiore a 35 giorni prima. Se non fornito, uno snapshot viene acquisito all'ora attuale. Per informazioni sui formati temporali, consulta gcloud topic datetimes.BUCKET_NAME
: il nome del bucket Cloud Storage in cui scrivere.FILENAME
: il file nel bucket Cloud Storage in cui scrivere.
Cartelle
gcloud asset export \ --folder=FOLDER_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Specifica i seguenti valori:
FOLDER_ID
: l'ID della cartella di cui vuoi esportare i metadati.Come trovare l'ID di una cartella Google Cloud
Console
Per trovare l'ID di una cartella Google Cloud, completa i seguenti passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella è 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 può essere una corrispondenza stringa completa o parziale. Rimuovi l'opzione
--format
per visualizzare ulteriori informazioni sulle cartelle trovate.Per ottenere l'ID di una cartella all'interno di un'altra cartella, elenca le sottocartelle:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: facoltativo. L'ID progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito con l'autorizzazione per scrivere nel bucket Cloud Storage. Questa operazione non è necessaria se hai già effettuato il passaggio al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti della risorsa da esportare. Se non viene specificato alcun tipo di contenuti, viene restituito solo il nome della risorsa. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. Il momento in cui vuoi acquisire un'istantanea degli asset. Il valore deve corrispondere all'ora corrente o a un'ora non superiore a 35 giorni prima. Se non fornito, uno snapshot viene acquisito all'ora attuale. Per informazioni sui formati temporali, consulta gcloud topic datetimes.BUCKET_NAME
: il nome del bucket Cloud Storage in cui scrivere.FILENAME
: il file nel bucket Cloud Storage in cui scrivere.
Organizzazioni
gcloud asset export \ --organization=ORGANIZATION_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Specifica i seguenti valori:
ORGANIZATION_ID
: l'ID dell'organizzazione di cui vuoi esportare i metadati.Come trovare un ID organizzazione Google Cloud
Console
Per trovare l'ID organizzazione di Google Cloud, completa questi passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
- Fai clic sulla scheda Tutte. L'ID organizzazione è visualizzato accanto al nome dell'organizzazione.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID organizzazione Google Cloud con il seguente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: facoltativo. L'ID progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito con l'autorizzazione per scrivere nel bucket Cloud Storage. Questa operazione non è necessaria se hai già effettuato il passaggio al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti della risorsa da esportare. Se non viene specificato alcun tipo di contenuti, viene restituito solo il nome della risorsa. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. Il momento in cui vuoi acquisire un'istantanea degli asset. Il valore deve corrispondere all'ora corrente o a un'ora non superiore a 35 giorni prima. Se non fornito, uno snapshot viene acquisito all'ora attuale. Per informazioni sui formati temporali, consulta gcloud topic datetimes.BUCKET_NAME
: il nome del bucket Cloud Storage in cui scrivere.FILENAME
: il file nel bucket Cloud Storage in cui scrivere.
(Facoltativo) Per controllare lo stato dell'esportazione, esegui questo comando. Viene visualizzato nell'interfaccia alla gcloud CLI dopo l'esecuzione del comando di esportazione.
gcloud asset operations describe OPERATION_PATH
Visualizzazione dell'istantanea degli asset
Per visualizzare l'istantanea degli asset dopo averla esportato in Cloud Storage, completa i passaggi riportati di seguito.
Vai alla pagina Bucket di Cloud Storage nella console Google Cloud.
Apri il file in cui hai esportato i metadati.
Il file di esportazione elenca gli asset e i relativi nomi delle risorse.
Passaggi successivi
Scopri di più su Cloud Asset Inventory.
Scopri come visualizzare la cronologia degli asset.