Controlla l'accesso e organizza le istanze con i tag

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

Un tag Google Cloud è una coppia chiave-valore che puoi collegare alle risorse Google Cloud, ad esempio progetti o istanze Spanner. Puoi utilizzare i tag per raggruppare e organizzare le istanze, nonché per impostare in modo condizionale i criteri di accesso di Identity and Access Management (IAM) a seconda che l'istanza abbia un tag specifico. Puoi creare e gestire i tag di istanza di Spanner utilizzando Google Cloud CLI o la console Google Cloud. Dopo aver creato i tag, puoi creare un'associazione di tag per associarli alle risorse Google Cloud. Le associazioni di tag vengono ereditate dagli elementi secondari della risorsa in base alla gerarchia delle risorse di Google Cloud. Ad esempio, se colleghi un tag al tuo progetto, tutte le istanze al suo interno ereditano il tag. Puoi anche utilizzare le etichette per organizzare le risorse Google Cloud, ma non puoi utilizzarle per impostare le condizioni dei criteri IAM.

Per saperne di più sui tag, consulta Panoramica dei tag.

Casi d'uso comuni per i tag di istanza Spanner

Ecco alcuni casi d'uso comuni dei tag:

  • Tag IAM (Identity and Access Management): concedi i ruoli IAM (Identity and Access Management) a seconda che un'istanza abbia un tag specifico. La presenza o l'assenza di un valore tag è la condizione per il criterio IAM e consente di controllare l'accesso all'istanza Spanner.
  • Tag di 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 di istanza Spanner

I tag sono strutturati come coppie chiave/valore. Crea una chiave tag nella risorsa dell'organizzazione e poi collega i valori tag alla chiave tag (ad esempio, una chiave tag environment con valori prod e dev). Puoi quindi creare un'associazione di tag che colleghi il valore 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 che devi eseguire. Per ulteriori informazioni, consulta Autorizzazioni richieste nella documentazione di Resource Manager.

Creare chiavi e valori dei tag

Prima di poter associare un tag all'istanza, devi creare il tag e assegnarne il valore. Per creare chiavi e valori dei tag, consulta Creazione di un tag e Aggiunta di un valore del tag.

Collegamento di un tag a un'istanza

Dopo aver creato le coppie chiave-valore del tag, puoi creare un'associazione di tag e collegarla all'istanza Spanner.

Console

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

    Vai a Istanze Spanner

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

  3. Fai clic su Tag.

  4. Se la tua organizzazione non appare 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 dall'elenco la chiave del tag che vuoi collegare. Puoi filtrare l'elenco digitando parole chiave.

  7. Nel campo Valore, seleziona dall'elenco il valore del tag che vuoi associare. Puoi filtrare l'elenco digitando parole chiave.

  8. Se vuoi collegare altri tag, fai clic su Aggiungi tag e seleziona la chiave e il valore per ognuno.

  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 questo 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) della chiave tag. 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 sulla tua istanza Spanner my-instance con la coppia chiave-valore tag env:prod, esegui questo 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 ruolo 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 comportare la rimozione dell'accesso utente alla risorsa.

Per saperne di più, consulta la panoramica sulle condizioni IAM.

Console

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

gcloud

Per applicare una condizione basata su tag a un criterio IAM, assicurati di disporre delle autorizzazioni necessarie, quindi esegui questo 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 all'entità. Il nome del ruolo corrisponde al percorso completo di un ruolo predefinito, ad esempio roles/logging.viewer, o all'ID di un ruolo personalizzato, come organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: l'entità a cui vuoi aggiungere l'associazione dei ruoli. 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 o domain:example.domain.com.
  • PROJECT_ID: l'ID del progetto.
  • KEY_NAME: il nome visualizzato (breve) della chiave 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 al criterio 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 a user1@example.com il ruolo spanner.backupAdmin in tutte le risorse del progetto 123456789012 con il tag env:prod, esegui il comando:

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

Elenca tag collegati a un'istanza

Puoi visualizzare un elenco di associazioni di tag direttamente collegate o ereditate dall'istanza.

gcloud

Per ottenere un elenco delle associazioni di tag direttamente collegate a una risorsa, utilizza il comando gcloud resource-manager tags bindings list. Se aggiungi il flag --effective, ottieni anche tutte le associazioni di tag ereditate da questa risorsa.

Per elencare tutte le associazioni di tag collegate a un'istanza, esegui questo 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 località della tua istanza. Ad esempio, us-east1.

Elimina un'associazione di tag

Quando rimuovi una definizione di valore o chiave del tag, assicurati che il tag sia scollegato dall'istanza. Prima di eliminare il tag, devi eliminare le associazioni di tag esistenti.

Console

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

    Vai a 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 vuoi 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 questo 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) della chiave tag. 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 eliminare il tag. Per eliminare le chiavi e i valori dei tag, consulta la sezione Eliminazione dei tag.

Passaggi successivi