Controlla l'accesso e organizza le istanze con i tag

Questa pagina descrive come utilizzare i tag Google Cloud per gestire l'accesso alle tue istanze Spanner.

Un tag Google Cloud è una coppia chiave-valore che puoi associare alle tue risorse Google Cloud, come progetti o istanze Spanner. Puoi utilizzare i tag per raggruppare e organizzare le istanze e impostare in modo condizionale i criteri di accesso di Identity and Access Management (IAM) in base al fatto che un'istanza abbia un tag specifico. Puoi creare e gestire Tag di istanza Spanner utilizzando Google Cloud CLI oppure nella console Google Cloud. Dopo aver creato i tag, puoi creare un'associazione di tag per collegarli alle risorse Google Cloud. Le associazioni di tag vengono ereditate dai figli della risorsa in base alla gerarchia delle risorse Google Cloud. Ad esempio, se colleghi un tag al progetto, tutte le istanze in quel progetto ereditare il tag. Puoi anche utilizzare le etichette per organizzare le risorse Google Cloud, ma non puoi utilizzare le etichette per impostare dei criteri IAM.

Per scoprire di più sui tag, consulta la Panoramica dei tag.

Casi d'uso comuni per i tag di istanza Spanner

Ecco alcuni casi d'uso comuni per i tag:

  • Tag IAM (Identity and Access Management): concedi i ruoli IAM (Identity and Access Management) in base al fatto che un'istanza abbia o meno un tag specifico. La la presenza o l'assenza di un valore di tag è la condizione per quel criterio IAM e consente di controllare l'accesso all'istanza Spanner.
  • Tag stato: indicano e gestiscono lo stato di un'istanza creando tag. Ad esempio, state:active, state:todelete e state:archive.
  • Tag di ambiente:specifica gli ambienti di produzione, test e sviluppo per le istanze creando coppie chiave-valore come env:prod, env:dev e env:test.

Come creare e gestire i tag delle istanze Spanner

I tag sono strutturati come coppie chiave-valore. Creando una chiave tag nella risorsa dell'organizzazione, puoi associare i valori dei tag alla chiave tag (ad esempio, una chiave tag environment con i valori prod e dev). Puoi quindi creare un'associazione di tag che colleghi il valore del tag a una risorsa Google Cloud, ad esempio un progetto o un'istanza Spanner. Tieni presente che non puoi assegnare un tag a un database.

Autorizzazioni obbligatorie

Le autorizzazioni necessarie dipendono dall'azione da eseguire. Per ulteriori informazioni, consulta Autorizzazioni richieste nella documentazione di Resource Manager.

Creare chiavi e valori dei tag

Prima di poter collegare un tag all'istanza, devi creare il tag e e assegnare il suo valore. Per creare chiavi e valori dei tag, consulta la sezione Creare un tag e Aggiungere un valore tag.

Associare un tag a un'istanza

Dopo aver creato le coppie chiave-valore del tag, puoi creare una definizione del tag e agganciarla all'istanza Spanner.

Console

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

    Vai alle istanze Spanner

  2. Seleziona l'istanza per la quale vuoi collegare un tag.

  3. Fai clic su Tag.

  4. Se la tua organizzazione non viene visualizzata nel riquadro Tag, fai clic su Seleziona ambito. Seleziona la tua organizzazione e fai clic su Apri.

  5. Nel riquadro Tag, seleziona Aggiungi tag.

  6. Nel campo Chiave, seleziona la chiave del tag da collegare dall'elenco. Puoi filtrare l'elenco digitando parole chiave.

  7. Nel campo Valore, seleziona il valore del tag da collegare dall'elenco. Puoi filtrare l'elenco digitando le parole chiave.

  8. Se vuoi aggiungere altri tag, fai clic su Aggiungi tag e seleziona la chiave e il valore di ciascuna.

  9. Fai clic su Salva.

  10. Nella finestra di dialogo Conferma, fai clic su Conferma per allegare il tag.

    Una notifica conferma che i tag sono stati aggiornati.

gcloud

Per creare un'associazione di tag e collegarla all'istanza, esegui il seguente comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_ID: l'ID dell'istanza.
  • ORG_ID: l'ID dell'organizzazione.
  • KEY_NAME: il nome visualizzato (breve) del tag chiave. Ad esempio, env.
  • VALUE_NAME: il nome visualizzato (breve) del valore del tag. Ad esempio, prod.
  • LOCATION: la località della tua istanza. Ad esempio, us-east1.

Ad esempio, per creare un'associazione di tag nell'istanza Spannermy-instance con la coppia chiave-valore del tag env:prod, esegui il seguente comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1

Condizioni e tag IAM

Puoi utilizzare i tag e le condizioni IAM per concedere in modo condizionale le associazioni di ruoli agli utenti. Se viene applicato un criterio IAM con associazioni di ruoli condizionali, la modifica o l'eliminazione del tag associato a una risorsa potrebbe rimuovere l'accesso dell'utente a quella risorsa.

Per saperne di più, consulta la Panoramica delle condizioni IAM.

Console

Per utilizzare i tag per concedere in modo condizionale le associazioni di ruoli agli utenti, consulta Gestire l'accesso ai tag.

gcloud

Per applicare una condizione basata su tag a un criterio IAM, assicurati di disporre delle autorizzazioni richieste, quindi esegui il seguente comando:

gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
  • ORG_ID: l'ID dell'organizzazione.
  • ROLE: il nome del ruolo da assegnare al principale. Il nome del ruolo è il percorso completo di un ruolo predefinito, ad esempio roles/logging.viewer, o l'ID ruolo per un ruolo personalizzato, ad esempio organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: l'entità a cui vuoi aggiungere l'associazione di ruolo. Deve avere il formato user|group|serviceAccount:email o domain:domain. Ad esempio: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com, oppure domain:example.domain.com.
  • PROJECT_ID: l'ID del progetto.
  • KEY_NAME: il nome visualizzato (breve) della chiave del tag. Ad esempio, env.
  • VALUE_NAME: il nome visualizzato (breve) del valore del tag. Ad esempio, prod.

Questo comando aggiunge un'associazione di criteri IAM ai criteri IAM di un'organizzazione. Un'associazione di criteri è composta da un membro, un ruolo e una condizione facoltativa.

Ad esempio, per concedere in modo condizionale user1@example.com al il ruolo spanner.backupAdmin in tutte le 123456789012 risorse di progetto con il tag env:prod, esegui questo comando:

gcloud organizations add-iam-policy-binding my-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')

Elenca i tag associati a un'istanza

Puoi visualizzare un elenco di associazioni di tag collegate direttamente o ereditate dal in esecuzione in un'istanza Compute Engine.

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 --effective flag, ottieni anche tutte le associazioni di tag ereditate da questa risorsa.

Per elencare tutte le associazioni di tag associate a un'istanza, esegui il seguente comando:

gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_ID: l'ID dell'istanza.
  • LOCATION: la posizione dell'istanza. Ad esempio: us-east1.

Eliminare un'associazione di tag

Quando rimuovi la chiave o la definizione del valore di un tag, assicurati che il tag sia scollegato dal in esecuzione in un'istanza Compute Engine. Prima di eliminare il tag, devi eliminare le associazioni di tag esistenti.

Console

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

    Vai alle istanze Spanner

  2. Seleziona l'istanza per la quale vuoi eliminare un'associazione di tag.

  3. Fai clic su Tag.

  4. Nel riquadro Tag, accanto al tag che desideri scollegare, fai clic su Elimina elemento.

  5. Fai clic su Salva.

  6. Nella finestra di dialogo Conferma, fai clic su Conferma per scollegare il tag.

    Una notifica conferma che i tag sono stati aggiornati.

gcloud

Per eliminare un'associazione di tag, esegui il seguente comando:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_ID: l'ID dell'istanza.
  • ORG_ID: l'ID dell'organizzazione.
  • KEY_NAME: il nome visualizzato (breve) del tag chiave. Ad esempio, env.
  • VALUE_NAME: il nome visualizzato (breve) del valore del tag. Ad esempio, prod.
  • LOCATION: la località della tua istanza. Ad esempio, us-east1.

Eliminare un tag

Dopo aver eliminato l'associazione di tag, puoi procedere all'eliminazione del tag. Per eliminare il tag e i valori dei tag, consulta la sezione Eliminazione di tag.

Passaggi successivi