Crea e gestisci i tag

Questa guida descrive come creare e gestire i tag nei database in modalità Datastore.

Informazioni sui tag

Un tag è una coppia chiave-valore che può essere collegata a una risorsa all'interno di Google Cloud. Puoi utilizzare i tag per consentire o negare in modo condizionale le policy a seconda che una risorsa abbia un tag specifico. Ad esempio, puoi concedere in modo condizionale i ruoli IAM (Identity and Access Management) a seconda che una risorsa abbia un tag specifico. Per saperne di più sui tag, consulta Introduzione ai tag.

I tag vengono collegati alle risorse creando una risorsa di associazione tag che collega il valore alla risorsa Google Cloud .

Autorizzazioni obbligatorie

Per ottenere le autorizzazioni necessarie per gestire i tag, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Tag Viewer (roles/resourcemanager.tagViewer) nelle risorse a cui sono collegati i tag
  • Visualizza e gestisci i tag a livello di organizzazione: Organization Viewer (roles/resourcemanager.organizationViewer) nell'organizzazione
  • Crea, aggiorna ed elimina le definizioni dei tag: Tag Administrator (roles/resourcemanager.tagAdmin) nella risorsa per cui stai creando, aggiornando o eliminando i tag
  • Associa e rimuovi i tag dalle risorse: Tag User (roles/resourcemanager.tagUser) nel valore del tag e nelle risorse a cui stai associando o rimuovendo il valore del tag

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per collegare i tag ai database Datastore, devi disporre del ruolo Proprietario Datastore (roles/datastore.owner).

Crea chiavi e valori dei tag

Prima di poter allegare un tag, devi crearne uno e configurarne il valore. Per creare chiavi e valori dei tag, consulta Creazione di un tag e Aggiunta di un valore tag.

Aggiungere tag durante la creazione delle risorse

Puoi aggiungere tag al momento della creazione dei database. L'aggiunta di tag durante la creazione delle risorse consente di fornire immediatamente metadati essenziali per le risorse e aiuta anche a migliorare l'organizzazione, il monitoraggio dei costi e l'applicazione automatica delle norme.

gcloud

  gcloud firestore databases create \
      --location=LOCATION \
      --database=DATABASE \
      --tags=[KEY=VALUE,...]

Sostituisci quanto segue:

  • LOCATION: la località su cui operare.
  • DATABASE: l'ID da utilizzare per il database.
  • KEY=VALUE: elenco di coppie KEY=VALUE di tag da associare. Ogni elemento deve essere espresso come <tag-key-namespaced-name>=<tag-value-short-name> o <tag-key-name>=<tag-value-name>.

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

API

Invia una richiesta POST al seguente URL:

      
https://firestore.googleapis.com/v1/projects/PROJECT/databases?databaseId=DATABASE

Fornisci il seguente JSON nel corpo della richiesta:

      
"type": "FIRESTORE_NATIVE",
"locationId": LOCATION,
"tags": {KEY:VALUE}

Sostituisci quanto segue:

  • PROJECT: il progetto su cui operare.
  • DATABASE: l'ID da utilizzare per il database.
  • LOCATION: la località su cui operare.
  • KEY:VALUE: elenco di coppie KEY=VALUE di tag da associare. Ogni elemento deve essere espresso come <tag-key-namespaced-name>:<tag-value-short-name> o <tag-key-name>:<tag-value-name>.

Aggiungi tag alle risorse esistenti

Per aggiungere un tag ai database esistenti:

gcloud

Per collegare un tag a un database, devi creare una risorsa di associazione tag utilizzando il comando gcloud resource-manager tags bindings create:

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Sostituisci quanto segue:

  • TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore del tag allegato, ad esempio tagValues/567890123456.
  • RESOURCE_ID è l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//firestore.googleapis.com/). Ad esempio, per collegare un tag a un database in projects/firestore-test-project, l'ID completo è: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la posizione della risorsa. Se stai collegando un tag a una risorsa globale, come una cartella o un progetto, ometti questo flag. Se colleghi un tag a una risorsa regionale o di zona, devi specificare la località, ad esempio us-central1 (regione) o us-central1-a (zona).

Elenca i tag collegati alle risorse

Puoi visualizzare un elenco di associazioni di tag direttamente collegate o ereditate dal database.

gcloud

Per ottenere un elenco di associazioni di tag collegate a una risorsa, utilizza il comando gcloud resource-manager tags bindings list:

      gcloud resource-manager tags bindings list \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Sostituisci quanto segue:

  • RESOURCE_ID è l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//firestore.googleapis.com/). Ad esempio, per collegare un tag a un database in projects/firestore-test-project, l'ID completo è: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la posizione della risorsa. Se stai visualizzando un tag collegato a una risorsa globale, ad esempio una cartella o un progetto, ometti questo flag. Se visualizzi un tag collegato a una risorsa regionale o di zona, devi specificare la località, ad esempio us-central1 (regione) o us-central1-a (zona).

Dovresti ricevere una risposta simile alla seguente:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //firestore.googleapis.com/projects/firestore-test-project/databases/(default)
      

Scollega i tag dalle risorse

Puoi scollegare i tag che sono stati collegati direttamente a un database. I tag ereditati possono essere sostituiti collegando un tag con la stessa chiave e un valore diverso, ma non possono essere scollegati.

gcloud

Per eliminare un'associazione di tag, utilizza il comando gcloud resource-manager tags bindings delete:

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Sostituisci quanto segue:

  • TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore del tag allegato, ad esempio tagValues/567890123456.
  • RESOURCE_ID è l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//firestore.googleapis.com/). Ad esempio, per collegare un tag a un database in projects/firestore-test-project, l'ID completo è: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: la posizione della risorsa. Se stai collegando un tag a una risorsa globale, come una cartella o un progetto, ometti questo flag. Se colleghi un tag a una risorsa regionale o di zona, devi specificare la località, ad esempio us-central1 (regione) o us-central1-a (zona).

Elimina chiavi e valori dei tag

Quando rimuovi una definizione di chiave o valore di tag, assicurati che il tag sia scollegato dal database. Prima di eliminare la definizione del tag, devi eliminare gli allegati esistenti, chiamati associazioni di tag. Per eliminare chiavi tag e valori tag, consulta la sezione Elimina i tag.

Condizioni e tag di Identity and Access Management

Puoi utilizzare i tag e le condizioni IAM per concedere in modo condizionale le associazioni di ruoli agli utenti della gerarchia. La modifica o l'eliminazione del tag associato a una risorsa può rimuovere l'accesso utente a quella risorsa se è stata applicata una policy IAM con associazioni di ruoli condizionali. Per maggiori informazioni, consulta Condizioni e tag di Identity and Access Management.

Passaggi successivi