Creazione e gestione di tag

Questa guida descrive come creare e gestire i tag nei database Firestore.

Informazioni sui tag

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

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

Autorizzazioni obbligatorie

Le autorizzazioni necessarie dipendono dall'azione da eseguire.

Per ottenere queste autorizzazioni, chiedi all'amministratore di concedere il ruolo suggerito al livello appropriato della gerarchia delle risorse.

Visualizza tag

Per visualizzare le definizioni dei tag e i tag associati alle risorse, devi disporre del ruolo Visualizzatore tag (roles/resourcemanager.tagViewer) o di un altro ruolo che includa le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings per il tipo di risorsa appropriato. Ad esempio, compute.instances.listTagBindings per visualizzare i tag associati alle istanze Compute Engine.
  • listEffectiveTags
  • per il tipo di risorsa appropriato. Ad esempio, compute.instances.listEffectiveTags per visualizzare tutti i tag associati o ereditati dalle istanze Compute Engine.

Per visualizzare i tag a livello di organizzazione, devi disporre del ruolo Visualizzatore organizzazione (roles/resourcemanager.organizationViewer) per la risorsa dell'organizzazione.

Amministrare i tag

Per creare, aggiornare ed eliminare le definizioni dei tag, devi disporre del ruolo Amministratore tag (roles/resourcemanager.tagAdmin) o di un altro ruolo che includa le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

Per amministrare i tag a livello di organizzazione, devi disporre del ruolo Visualizzatore organizzazione (roles/resourcemanager.organizationViewer) per la risorsa organizzazione.

Gestire i tag nelle risorse

Per aggiungere e rimuovere i tag collegati alle risorse, devi disporre del ruolo Utente tag (roles/resourcemanager.tagUser) o di un altro ruolo con autorizzazioni equivalenti sia per il valore tag sia per le risorse a cui colleghi il valore tag. Il ruolo Tagga utente include le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • Autorizzazioni richieste per la risorsa a cui stai associando il valore del tag
    • Autorizzazione createTagBinding specifica per risorsa, ad esempio compute.instances.createTagBinding per le istanze di Compute Engine.
    • Autorizzazione deleteTagBinding specifica per risorsa, ad esempio compute.instances.deleteTagBinding per le istanze di Compute Engine.
  • Autorizzazioni richieste per il valore del tag:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Autorizzazioni che ti consentono di visualizzare i progetti e le definizioni dei tag:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

Per associare i tag alle istanze Firestore, devi disporre del ruolo Proprietario di Datastore (roles/datastore.owner).

Creare chiavi e valori dei tag

Prima di poter allegare un tag, devi crearlo e configurarne il valore. Per creare chiavi e valori dei tag, consulta Creare un tag e Aggiungere un valore del tag.

Associare un tag a un database

Dopo aver creato il tag, devi collegarlo a un database.

gcloud

Per associare un tag a un database, devi creare una risorsa di associazione dei 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 nello spazio dei nomi del valore del tag associato, 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/). Per 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 colleghi 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 associati a un database

Puoi visualizzare un elenco di associazioni di tag direttamente collegate al database o ereditate da quest'ultimo.

gcloud

Per ottenere un elenco di associazioni di tag associate 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/). Per 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 associato a una risorsa globale, ad esempio una cartella o un progetto, ometti questo flag. Se stai visualizzando un tag associato a una risorsa regionale o zonale, 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)
      

Scollegare i tag da un database

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. Prima di poter eliminare un tag, devi scollegare la chiave e i valori da ogni risorsa a cui sono collegati.

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 nello spazio dei nomi del valore del tag associato, 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/). Per 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 colleghi 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).

Eliminare le chiavi e i valori dei tag

Quando rimuovi una definizione di chiave o valore del tag, assicurati che il tag sia scollegato dal database. Devi eliminare gli allegati dei tag esistenti, chiamati associazioni di tag, prima di eliminare la definizione del tag stessa. Per eliminare le chiavi e i valori dei tag, consulta la sezione Eliminare 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 dei ruoli agli utenti della gerarchia. La modifica o l'eliminazione del tag associato a una risorsa può rimuovere l'accesso degli utenti a quella risorsa se è stato applicato un criterio IAM con associazioni di ruoli condizionali. Per maggiori informazioni, consulta Condizioni e tag di Identity and Access Management.

Passaggi successivi