Questa guida descrive come creare e gestire i tag per le risorse Compute Engine. Un tag è una coppia chiave-valore che può essere collegata a una Google Cloud risorsa. I tag vengono utilizzati per diversi scopi, tra cui:
- Consentire o negare in modo condizionale i criteri a seconda che una risorsa abbia un tag specifico.
- Definisci le origini e le destinazioni nei criteri firewall di rete globali e regionali.
- Organizzazione delle risorse in modo logico.
Dopo aver creato un tag e aver concesso l'accesso appropriato sia al tag sia alla
risorsa, puoi collegare il tag come coppia chiave-valore. Puoi associare esattamente un valore a una risorsa per una determinata chiave. Ad esempio, se colleghi il
environment: development
tag, non puoi collegare i
environment: production
o environment: test
tag. A ogni risorsa è possibile associare un massimo di 50 coppie chiave-valore.
Per associare i tag alle risorse, devi creare una risorsa TagBinding che colleghi il valore del tag alla risorsa Google Cloud . Per saperne di più sui tag e sul loro funzionamento, consulta il documento Panoramica dei tag.
Prima di iniziare
- Leggi la panoramica dei tag nella documentazione di Resource Manager.
- Leggi la sezione Creare e gestire i tag nella documentazione di Resource Manager.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
-
Autorizzazioni
Per gestire i tag per le risorse Compute Engine, gli utenti e gli account di servizio devono essere assegnati al ruolo tagUser
. Per ulteriori informazioni sul ruolo tagUser
, consulta
Autorizzazioni richieste.
Risorse supportate
Compute Engine supporta il tagging per le seguenti risorse:
Solo dopo la creazione della risorsa:
- Gruppi di istanze gestite (MIG)
- Immagini
- Snapshot
- La maggior parte delle risorse di networking, come rete, subnet, firewall e risorse di controllo dell'integrità.
Durante e dopo la creazione delle risorse: istanze di macchine virtuali (VM) e dischi
Aggiunta di tag a una risorsa
I tag esistenti possono essere collegati a determinate risorse dopo la loro creazione, seguendo le istruzioni riportate di seguito.
A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. Ad esempio, i passaggi riportati di seguito aggiungono un tag a una VM:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Nella colonna Nome, fai clic sul nome della VM per cui vuoi aggiungere i tag.
Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:
- Fai clic su Modifica.
- Nella sezione Base, fai clic su Gestisci tag e aggiungi i tag che preferisci per l'istanza.
- Fai clic su Salva.
Per istruzioni dettagliate su come utilizzare questi flag, leggi Collegare un tag a una risorsa nella documentazione di Resource Manager.
Ad esempio, il seguente comando associa un tag a una VM:
gcloud resource-manager tags bindings create \ --locationLOCATION_NAME \ --tag-value=tagValues/TAGVALUE_ID \ --parent=//compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID
Sostituisci quanto segue:
- LOCATION_NAME: la regione della risorsa di destinazione, ad esempio
us-central1
- TAGVALUE_ID: l'ID numerico del valore del tag
- PROJECT_NUMBER: l'ID numerico del progetto
- ZONE: il nome della zona, ad esempio
us-central1-a
- VM_ID: l'ID numerico dell'istanza VM
Per associare un tag a una risorsa, devi prima creare una rappresentazione JSON di un'associazione di tag che includa l'ID permanente o il nome con spazio dei nomi del valore del tag e l'ID permanente della risorsa. Per ulteriori informazioni sul formato di un'associazione di tag, consulta la documentazione di riferimento di TagBinding.
Per collegare il tag a una risorsa zonale, ad esempio un'istanza VM, utilizza il metodo tagBindings.create
con l'endpoint regionale in cui si trova la risorsa. Ad esempio:
POST https://LOCATION -cloudresourcemanager.googleapis.com/v3/tagBindings
Il corpo della richiesta può essere uno dei seguenti:
{ "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID ", "tagValue": "tagValue/TAGVALUE_ID " }
In alternativa:
{ "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID ", "tagValueNamespacedName":TAGVALUE_NAMESPACED_NAME }
Sostituisci quanto segue:
- LOCATION: la posizione a cui appartiene la risorsa di destinazione
- PROJECT_NUMBER: l'ID numerico del progetto
- ZONE: il nome della zona, ad esempio
us-central1-a
- VM_ID: l'ID numerico della VM
- TAGVALUE_ID: l'ID permanente del valore del tag allegato; ad esempio:
4567890123
- TAGVALUE_NAMESPACED_NAME è il nome con spazio dei nomi del valore tag collegato e ha il formato:
parentNamespace/tagKeyShortName/tagValueShortName
Aggiungere tag a una risorsa durante la creazione
In alcuni scenari, potresti voler taggare le risorse durante la loro creazione, piuttosto che dopo. Ad esempio, potresti voler applicare i tag firewall per i criteri di rete quando crei la risorsa Cloud Next Generation Firewall.
A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. I passaggi riportati di seguito si riferiscono a una VM:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Fai clic su Crea istanza.
Fai clic su Gestisci tag ed etichette.
Fai clic su Aggiungi tag.
Segui le istruzioni nel riquadro laterale per selezionare i tag da aggiungere all'istanza.
Fai clic su Salva.
Completa gli altri passaggi descritti in Creare e avviare un'istanza VM per completare la creazione dell'istanza.
Per associare un tag a una risorsa durante la creazione, aggiungi il
--resource-manager-tags
flag con il rispettivo comando create
. Ad esempio, per collegare un tag a una VM, utilizza il seguente comando:
gcloud compute instances createINSTANCE_NAME --resource-manager-tags=tagKeys/TAGKEY_ID =tagValues/TAGVALUE_ID
Sostituisci quanto segue:
- INSTANCE_NAME: il nome dell'istanza
- TAGKEY_ID: l'ID numerico della chiave del tag
- TAGVALUE_ID: l'ID numerico permanente del valore del tag collegato; ad esempio:
4567890123
Specifica più tag separandoli con una virgola, ad esempio
TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2
.
Invia una richiesta POST
al seguente URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /instances
Includi il seguente corpo JSON della richiesta:
{ "name":INSTANCE_NAME , "params": { "resourceManagerTags": { "tagKeys/TAGKEY_ID ": "tagValues/TAGVALUE_ID ", }, } // other fields omitted }
Sostituisci quanto segue:
- INSTANCE_NAME: il nome dell'istanza
- TAGKEY_ID: l'ID numerico della chiave del tag
- TAGVALUE_ID: l'ID numerico permanente del valore del tag collegato; ad esempio:
4567890123
Scollegare un tag da una risorsa
Puoi scollegare un tag da una risorsa eliminando la risorsa di associazione dei tag.
Per istruzioni su come scollegare i tag, consulta Scollegare un tag da una risorsa nella documentazione di Resource Manager.
A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. Ad esempio, i passaggi riportati di seguito scollegano un tag da una VM:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Nella colonna Nome, fai clic sul nome della VM per cui vuoi aggiungere i tag.
Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:
- Fai clic su Modifica.
- Nella sezione Base, fai clic su Gestisci tag e rimuovi i tag che vuoi per l'istanza.
- Fai clic su Salva.
Il seguente esempio scollega un tag da una VM utilizzando l'interfaccia a riga di comando gcloud:
gcloud resource-manager tags bindings delete \ --locationLOCATION_NAME \ --tag-value=tagValues/TAGVALUE_ID \ --parent //compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID
Sostituisci quanto segue:
- LOCATION_NAME: la regione della risorsa di destinazione, ad esempio
us-central1
- TAGVALUE_ID: l'ID numerico della chiave tag
- PROJECT_NUMBER: l'ID numerico del progetto
- ZONE: il nome della zona, ad esempio
us-central1-a
- VM_ID: l'ID numerico dell'istanza VM
Per aggiornare o sostituire un'associazione di tag esistente con un'altra, scollega l'associazione di tag precedente e attacca quella nuova.
Per eliminare un'associazione di tag collegata a una risorsa, ad esempio una VM, utilizza il metodo tagBindings.delete
con l'endpoint regionale in cui si trova la risorsa.
DELETE https://LOCATION -cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME }
Dove:
TAGBINDINGS_NAME è l'ID permanente di TagBinding; ad esempio:
tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456
.LOCATION è l'endpoint regionale della risorsa, ad esempio
us-central1
.
Visualizzazione dei tag associati a una risorsa
Per istruzioni dettagliate su come elencare i tag, consulta Tag elenco associati a una risorsa nella documentazione di Resource Manager.
A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. Ad esempio, i passaggi riportati di seguito mostrano come visualizzare i tag per una VM:
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Nella colonna Nome, fai clic sul nome della VM per cui vuoi visualizzare i tag.
Nella pagina dei dettagli dell'istanza VM, cerca i tag nella sezione Tag.
Per ottenere un elenco di associazioni di tag direttamente collegate a una risorsa, utilizza il comando gcloud resource-manager tags bindings list
. Se aggiungi il flag --effective
, restituirai anche un elenco di tag ereditati da questa risorsa. Ad esempio:
gcloud resource-manager tags bindings list \ --location=LOCATION_NAME \ --parent //compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID
Sostituisci quanto segue:
- LOCATION_NAME: la regione della risorsa di destinazione, ad esempio
us-central1
- PROJECT_NUMBER: l'ID numerico del progetto
- ZONE: il nome della zona, ad esempio
us-central1-a
- VM_ID: l'ID numerico dell'istanza VM
Se aggiungi il flag --effective
al comando tags bindings list
, restituirai anche un elenco di tutti i tag ereditati da questa risorsa. Dovresti ricevere una risposta simile alla seguente:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
Se tutti i tag valutati in una risorsa sono collegati direttamente, il campo inherited
è falso e viene omesso.
Per elencare le associazioni di tag allegate a una risorsa regionale, come le istanze Compute Engine, utilizza il metodo tagBindings.list
con l'endpoint regionale in cui si trova la risorsa. Ad esempio:
GET https://LOCATION_NAME -cloudresourcemanager.googleapis.com/v3/tagBindings { "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER /zones/ZONE /instances/VM_ID " }
Sostituisci quanto segue:
- LOCATION_NAME: la regione della risorsa target, ad esempio
us-central1
- PROJECT_NUMBER: l'ID numerico del progetto
- ZONE: il nome della zona, ad esempio
us-central1-a
- VM_ID: l'ID numerico dell'istanza VM