Esporta i metadati di una risorsa utilizzando Cloud Asset Inventory
Questa guida rapida mostra come esportare i metadati delle risorse 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 il l'API Cloud Asset Inventory, Google Cloud CLI e assegnare le autorizzazioni. La CLI Google Cloud interagisce con Cloud Asset Inventory e altri servizi Google Cloud. Scopri di più sull'interfaccia a riga di comando gcloud.
Abilitazione dell'API Cloud Asset Inventory e di Google Cloud CLI
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 i metadati delle risorse, esegui questo comando.
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. All'utente che effettua la chiamata deve essere concessa l'autorizzazionecloudasset.assets.searchAllResources
nell'ambito desiderato. Se non specificato, viene utilizzata la proprietà del progetto configurata.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 i seguenti passaggi:
-
Vai alla pagina Dashboard nella console Google Cloud.
- Fai clic sulla casella del commutatore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca i tuoi del progetto.
- Fai clic sul nome del progetto per passare al progetto in questione. Il numero del progetto viene visualizzato nella scheda Informazioni sul progetto.
Interfaccia a riga di comando gcloud
Puoi recuperare un numero di 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:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del commutatore nella barra dei menu.
- Fai clic sulla casella Seleziona da e seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID cartella Google Cloud 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 di 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 l'ID organizzazione Google Cloud
Console
Per trovare un ID organizzazione 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 e seleziona la tua organizzazione.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene 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 di query. Consulta: Sintassi delle query per saperne di più. Se non è specificato o è vuoto, Cloud Asset Inventory cerca tutte le risorse nelscope
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à contieneus
ewest
come prefissi.labels:prod
per trovare le risorse Google Cloud le cui etichette contengonoprod
come chiave o valore.labels.env:prod
per trovare le risorse Google Cloud con un'etichettaenv
e il valore "prod".labels.env:*
per trovare le risorse Google Cloud con un'etichettaenv
.kmsKeys:key
per trovare risorse Google Cloud criptate con un account gestito dal cliente chiavi di crittografia il cui nome contienekey
come parola.sccSecurityMarks.key=value
per trovare le risorse Google Cloud collegate con una coppia di contrassegni di sicurezza la cui chiave èkey
e il valore èvalue
.sccSecurityMarks.key:*
per trovare le risorse Google Cloud collegate con una coppia di contrassegni di sicurezza il cui tasto èkey
.state:ACTIVE
per trovare le risorse Google Cloud il cui stato contieneACTIVE
come parola.NOT state:ACTIVE
per trovare risorse Google Cloud il cui stato non contengonoACTIVE
come parola.createTime<1609459200
ocreateTime<2021-01-01
ocreateTime<"2021-01-01T00:00:00"
per trovare le risorse Google Cloud create prima del 01-01-2021 00:00:00 UTC. 1609459200 è il timestamp epoch del 01-01-2021 00:00:00 UTC in secondi.updateTime>1609459200
,updateTime>2021-01-01
oupdateTime>"2021-01-01T00:00:00"
per trovare le risorse Google Cloud aggiornato dopo le ore 00:00:00 UTC del 1° gennaio 2021. 1609459200 è il timestamp epoch del 01-01-2021 00:00:00 UTC in secondi.project:12345
per trovare risorse Google Cloud che appartengono a un account progetto con numero 12345. L'ID progetto non è supportato.folders:(123 or 456)
per trovare risorse Google Cloud che sono discendenti della cartella Google Cloud con i numeri 123 o 456.organization:123
per trovare le risorse Google Cloud che sono discendenti di Organizzazione Google Cloud con numero 123.parentFullResourceName:ImportantName
per trovare le risorse Google Cloud il cui nome del parente contieneImportantName
.parentAssetType:Project
per trovare le risorse Google Cloud il cui file padre il tipo di risorsa contieneProject
.Important
per trovare le risorse Google Cloud che contengonoImportant
come parola in uno dei campi di ricerca.Impor*
per trovare le risorse Google Cloud che contengonoImpor
come prefisso in uno dei campi di ricerca.Important location:(us-west1 OR global)
per trovare risorse Google Cloud che contengono "Importante" come parola in qualsiasi campo disponibile per la ricerca che si trova anch'esso nella regioneus-west1
o nella localitàglobal
.
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
.ORDER_BY
: facoltativo. Un elenco di campi separati da virgole che specifica l'ordine di ordinamento dei risultati. L'ordine predefinito è crescente. Aggiungi" DESC"
dopo il nome del campo per indicare l'ordine decrescente. I caratteri di spaziatura 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 i campi ripetuti (ad es.
networkTags
,kmsKeys
), mappa campi (ad es.labels
) e campi struct (per ad esempioadditionalAttributes
) non sono supportati.READ_MASK
: facoltativo. Un elenco di campi separati da virgole che specifica quali campi restituire nei risultati. Se non specificato, tutti i valori vengono restituiti i campi tranneversionedResources
. Se viene specificato solo"*"
, vengono restituiti tutti i campi. Esempi:"name,location"
,"name,versionedResources"
,"*"
.
Per scoprire di più su come cercare nelle risorse, consulta Cercare nelle risorse.
Ricerca dei criteri IAM
Per cercare i criteri IAM (Identity and Access Management), esegui il seguente comando.
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. All'utente che effettua la chiamata deve essere concessa l'autorizzazionecloudasset.assets.searchAllIamPolicies
nell'ambito desiderato. Se non specificato, il parametro proprietà di progetto configurata .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 i seguenti passaggi:
-
Vai alla pagina Dashboard nella console Google Cloud.
- Fai clic sulla casella del commutatore nella barra dei menu.
- Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca i tuoi del progetto.
- Fai clic sul nome del progetto per passare al progetto in questione. Il numero del progetto viene visualizzato nella scheda Informazioni sul progetto.
Interfaccia a riga di comando gcloud
Puoi recuperare un numero di 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:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da e seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID cartella Google Cloud 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 di 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 l'ID organizzazione Google Cloud
Console
Per trovare un ID organizzazione Google Cloud, completa i seguenti passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del commutatore nella barra dei menu.
- Fai clic sulla casella Seleziona da e seleziona la tua organizzazione.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene 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 di query. Consulta: Sintassi delle query per saperne di più. Se non è specificato o è vuoto, Cloud Asset Inventory esegue la ricerca di tutti i criteri IAM nelscope
specificato. La stringa di query viene confrontata con ogni Associazione di criteri IAM, tra cui entità, ruoli e Condizioni IAM. Solo i criteri IAM restituiti che contengono le associazioni che corrispondono alla tua query. Per scoprire di più sulla struttura dei criteri IAM, consulta Struttura dei criteri.Esempi:
policy:amy@gmail.com
per trovare le associazioni di criteri IAM che specificare l'utenteamy@gmail.com
.policy:roles/compute.admin
per trovare le associazioni di criteri IAM che specificano il ruolo Amministratore di Compute.policy:comp*
per trovare 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
all'account di un ruolo le autorizzazioni incluse, le associazioni di criteri che specificano questo ruolo verranno eliminate dai risultati di ricerca.policy.role.permissions:upd*
per trovare le associazioni di criteri IAM che specificano un ruolo contenenteupd
come prefisso di qualsiasi parola nel ruolo autorizzazione. Tieni presente che se i chiamanti non hanno accessoiam.roles.get
a un le autorizzazioni incluse del ruolo, le associazioni di criteri che specificano questo ruolo eliminati 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 di criteri IAM impostate sul progetto chiamatomyproject
.Important
per trovare le associazioni di criteri IAM che contengonoImportant
come parola in uno qualsiasi dei campi disponibili per la ricerca (ad eccezione di autorizzazioni incluse).resource:(instance1 OR instance2) policy:amy
per trovare le associazioni di criteri IAM impostate sulle risorseinstance1
oinstance2
e anche specificare l'utenteamy
.roles:roles/compute.admin
per trovare le associazioni di criteri IAM che e specificare il ruolo Amministratore Compute.memberTypes:user
per trovare associazioni di criteri IAM contenenti il tipo di entitàuser
.
ASSET_TYPE
: facoltativo. Un elenco separato da virgole di tipi di asset disponibili per la ricerca a cui sono associati i criteri IAM. Se è vuoto, Cloud Asset Inventory esamina i criteri IAM associati a tutti i tipi di asset disponibili per la ricerca. Espressioni regolari sono supportati. Se l'espressione regolare non corrisponde a nessun asset supportato viene restituito un erroreINVALID_ARGUMENT
.ORDER_BY
: facoltativo. Un elenco di campi separati da virgole che specifica l'ordine di ordinamento dei risultati. L'ordine predefinito è crescente. Aggiungi" DESC"
dopo il nome del campo per indicare l'ordine decrescente. Ridondante vengono ignorati. Esempio:"location DESC, name"
. Solo singolare i campi primitivi nella risposta sono ordinabili:resource
assetType
project
Tutti gli altri campi come i campi ripetuti (ad es.
folders
) e I campi non primitivi (ad esempiopolicy
) non sono supportati.
Per scoprire di più su come eseguire ricerche nei criteri IAM, consulta Ricerca dei criteri IAM.
Esportazione di uno snapshot della risorsa in Cloud Storage
Per esportare tutti i metadati della risorsa in una dato un timestamp a un file in un bucket Cloud Storage, completa quanto segue passaggi.
Crea un nuovo bucket se non ne hai già uno.
Per esportare i metadati delle risorse nel progetto, esegui il seguente comando. Questo archivia lo snapshot esportato in un file
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"
Fornisci i seguenti valori:
PROJECT_ID
: l'ID del progetto di cui vuoi esportare i metadati.BILLING_PROJECT_ID
: facoltativo. L'ID del progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito con autorizzazione scrivere nel bucket Cloud Storage. Non è obbligatorio se hai è già passato al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti la risorsa da esportare. Se non viene specificato alcun tipo di contenuto, viene restituito solo il nome della risorsa. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. L'ora in cui vuoi acquisire uno snapshot dei tuoi asset. Il valore deve corrispondere a l'ora corrente o un orario che non sia più di 35 giorni nel passato. Quando non è fornito, viene acquisita un'istantanea all'ora corrente. Per informazioni su formati di data e ora, 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"
Fornisci i seguenti valori:
FOLDER_ID
: l'ID della cartella di cui e i metadati che desideri esportare.Come trovare l'ID di una cartella Google Cloud
Console
Per trovare l'ID di una cartella Google Cloud:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del selettore nella barra dei menu.
- Fai clic sulla casella Seleziona da e seleziona la tua organizzazione.
- Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.
Interfaccia a riga di comando gcloud
Puoi recuperare un ID cartella Google Cloud 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 di 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 che ha l'autorizzazione per scrivere nel bucket Cloud Storage. Non è obbligatorio se hai è già passato al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti la risorsa da esportare. Se non viene specificato alcun tipo di contenuto, viene restituito solo il nome della risorsa. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. L'ora in cui vuoi acquisire uno snapshot dei tuoi asset. Il valore deve essere la data e l'ora corrente o una data e un'ora non precedenti a più di 35 giorni. Quando non è fornita, viene acquisita un'istantanea all'ora corrente. Per informazioni sui formati di data e ora, consulta Argomento gcloud 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 l'ID organizzazione Google Cloud
Console
Per trovare un ID organizzazione Google Cloud, completa i seguenti passaggi:
-
Vai alla console Google Cloud.
- Fai clic sulla casella del commutatore nella barra dei menu.
- Fai clic sulla casella Seleziona da e seleziona la tua organizzazione.
- Fai clic sulla scheda Tutti. L'ID organizzazione viene 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 del progetto in cui si trova l'agente di servizio Cloud Asset Inventory predefinito con autorizzazione scrivere nel bucket Cloud Storage. Non è obbligatorio se hai è già passato al progetto di fatturazione congcloud config set project
. Scopri di più sui progetti di fatturazione.CONTENT_TYPE
: facoltativo. Il tipo di contenuti la risorsa da esportare. Se non viene specificato alcun tipo di contenuto, viene utilizzato solo l'asset che viene restituito. Scopri di più sui tipi di contenuti.SNAPSHOT_TIME
: facoltativo. L'ora in cui vuoi acquisire uno snapshot dei tuoi asset. Il valore deve essere la data e l'ora corrente o una data e un'ora non precedenti a 35 giorni. Quando non è fornita, viene acquisita un'istantanea all'ora corrente. Per informazioni sui formati di data e ora, consulta Argomento gcloud datetimes.BUCKET_NAME
: il nome del bucket Cloud Storage in cui scrivere.FILENAME
: il file nel tuo Bucket Cloud Storage in cui scrivere.
(Facoltativo) Per controllare lo stato dell'esportazione, esegui il seguente comando. Viene visualizzato nell'interfaccia a riga di comando gcloud dopo l'esecuzione del comando di esportazione.
gcloud asset operations describe OPERATION_PATH
Visualizzare l'istantanea asset
Per visualizzare lo snapshot della risorsa dopo averlo esportato in Cloud Storage, completa i seguenti passaggi.
Vai alla pagina Bucket in 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 delle risorse.