Gestire i tag per le risorse


Questa guida descrive come creare e gestire i tag per le risorse Compute Engine. Un tag è una coppia chiave-valore che può essere associata a un della Google Cloud Platform. I tag vengono utilizzati per diversi scopi, tra cui:

  • Criteri di autorizzazione o di negazione in modo condizionale a seconda che una risorsa abbia un tag specifico.
  • Definisci origini e destinazioni nella rete globale criteri firewall e a livello di regione e i criteri firewall di rete.
  • 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 alleghi environment: development, non puoi allegare il tag environment: production o environment: test. Ogni risorsa può avere collegate a un massimo di 50 coppie chiave-valore.

Per collegare i tag alle risorse, devi creare una risorsa TagBinding che colleghi il valore del tag alla risorsa Google Cloud. Per ulteriori informazioni sui tag come funzionano, consulta la Panoramica dei tag.

Prima di iniziare

  • Leggi la panoramica dei tag nella documentazione di Resource Manager.
  • Leggi la sezione Creazione e gestione dei tag. nella documentazione di Resource Manager.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Autorizzazioni

Per gestire i tag per le risorse Compute Engine, gli utenti e gli account di servizio devono avrà il ruolo tagUser. Per ulteriori informazioni sul ruolo tagUser, consulta Autorizzazioni richieste.

Risorse supportate

Le seguenti risorse supportano il tagging solo dopo la creazione delle risorse:

  • Istanza di macchina virtuale (VM)
  • Disco
  • Gruppo di istanze gestite
  • Immagine
  • Snapshot
  • La maggior parte delle risorse di networking, come le risorse di rete, di subnet, di firewall e di controllo dell'integrità.

Le seguenti risorse supportano anche il tagging durante la creazione della risorsa:

  • Istanza VM
  • Disco

Aggiunta di tag a una risorsa

I tag esistenti possono essere collegati a determinate risorse dopo che queste creato seguendo le istruzioni riportate di seguito.

Console

A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. Per Ad esempio, i passaggi seguenti associano un tag a una VM:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona il progetto e fai clic su Continua.

  3. Nella colonna Nome, fai clic sul nome della VM per la quale vuoi aggiungere tag.

  4. Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:

    1. Fai clic su Modifica.
    2. Nella sezione Base, fai clic su Gestisci tag e aggiungi i tag che preferisci per l'istanza.
    3. Fai clic su Salva.

gcloud

Per esaminare 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 \
    --location LOCATION_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

API

Per collegare un tag a una risorsa, devi prima creare una rappresentazione JSON di un associazione di tag che include 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 sezione Riferimento a 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"
}

Oppure:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Sostituisci quanto segue:

  • LOCATION: la località 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 del tag che allegato ed è nel 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 applicare i tag firewall per i criteri di rete quando crei la risorsa firewall di nuova generazione Cloud.

Console

A seconda del tipo di risorsa, i passaggi esatti potrebbero essere leggermente diversi. I seguenti passaggi si riferiscono a una VM:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona il progetto e fai clic su Continua.

  3. Fai clic su Crea istanza.

  4. Fai clic su Gestisci tag ed etichette.

  5. Fai clic su Aggiungi tag.

  6. Segui le istruzioni nel riquadro laterale per selezionare i tag da aggiungere alla in esecuzione in un'istanza Compute Engine.

  7. Fai clic su Salva.

  8. Completa gli altri passaggi descritti in Creare e avviare un'istanza VM per completare la creazione dell'istanza.

gcloud

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 create INSTANCE_NAME --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza
  • TAGKEY_ID: l'ID numerico del numero di chiave del tag
  • TAGVALUE_ID: l'ID numerico permanente del valore del tag che è attached; ad esempio: 4567890123

Specifica più tag separandoli con una virgola, ad esempio TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

API

Effettua 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 del numero di 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 di tag.

Per esaminare le istruzioni su come scollegare i tag, consulta Scollegamento di un tag da una risorsa nella documentazione di Resource Manager.

Console

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:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona il progetto e fai clic su Continua.

  3. Nella colonna Nome, fai clic sul nome della VM per la quale vuoi aggiungere tag.

  4. Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:

    1. Fai clic su Modifica.
    2. Nella sezione Base, fai clic su Gestisci tag e rimuovi i tag che ti interessano. per l'istanza.
    3. Fai clic su Salva.

gcloud

Il seguente esempio scollega un tag da una VM utilizzando l'interfaccia a riga di comando gcloud:

gcloud resource-manager tags bindings delete \
--location LOCATION_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 la precedente associazione di tag e allega quella nuova.

API

Per eliminare un'associazione di tag collegata a una risorsa, ad esempio una VM, utilizza tagBindings.delete con l'endpoint regionale in cui la risorsa in cui viene localizzato.

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.

Console

I passaggi esatti potrebbero variare a seconda del tipo di risorsa. Per Ad esempio, i passaggi seguenti mostrano come visualizzare i tag per una VM:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona il progetto e fai clic su Continua.

  3. Nella colonna Nome, fai clic sul nome della VM per la quale vuoi visualizza tag.

  4. Nella pagina dei dettagli dell'istanza VM, cerca i tag in Tag. .

gcloud

Per ottenere un elenco di associazioni di tag direttamente associate a una risorsa, utilizza il comando gcloud resource-manager tags bindings list. Se aggiungi il parametro --effective, restituirà anche un elenco di tag ereditati da questo 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, restituirà anche un elenco di tutti i tag ereditati da questa risorsa. Dovresti ricevi 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 su una risorsa sono collegati direttamente, inherited è false e viene omesso.

API

Per elencare le associazioni di tag collegate a una risorsa di regione, ad esempio le istanze di Compute Engine, usa 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 fino alla 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

Passaggi successivi