Controllare l'accesso e organizzare le istanze con i tag

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

Un Google Cloud tag è una coppia chiave-valore che puoi collegare alle tue risorse Google Cloud , come progetti o istanze Spanner. Puoi utilizzare i tag per raggruppare e organizzare le istanze e per impostare in modo condizionale policy di accesso IAM (Identity and Access Management) in base al fatto che un'istanza abbia un tag specifico. Puoi creare e gestire i tag delle istanze Spanner utilizzando Google Cloud CLI o la consoleGoogle Cloud . Dopo aver creato i tag, puoi creare un binding dei tag per collegare il tag alle tue risorse Google Cloud . Le associazioni di tag vengono ereditate dai figli della risorsa in base alla Google Cloud gerarchia delle risorse. Ad esempio, se colleghi un tag al tuo progetto, tutte le istanze del progetto ereditano il tag. Puoi anche utilizzare le etichette per organizzare le tue risorse Google Cloud , ma non puoi utilizzarle per impostare condizioni nelle policy IAM.

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

Casi d'uso comuni per i tag delle istanze Spanner

Alcuni casi d'uso comuni per i tag includono:

  • Tag IAM:ruoli IAM in base al fatto che un'istanza abbia un tag specifico. La presenza o l'assenza di un valore tag è la condizione per questo criterio IAM e consente di controllare l'accesso alla tua istanza Spanner.

  • Tag di stato:indica e gestisci lo stato di un'istanza creando tag. Ad esempio, state:active, state:todelete e state:archive.

  • Tag 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. Crea una chiave tag nella risorsa organizzazione, quindi collega i valori dei tag alla chiave tag (ad esempio, una chiave tag environment con valori prod e dev). Puoi quindi creare un binding 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 che devi eseguire. Per saperne di più, consulta la sezione Autorizzazioni richieste nella documentazione di Resource Manager.

Crea chiavi e valori dei tag

Prima di poter collegare un tag alla tua 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 tag.

Allegare un tag a un'istanza

Dopo aver creato le coppie chiave-valore dei tag, puoi creare un binding dei tag e collegarlo all'istanza Spanner.

Console

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

    Vai a Istanze Spanner

  2. Seleziona la casella di controllo accanto all'istanza a cui vuoi allegare 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 che vuoi allegare dall'elenco. Puoi filtrare l'elenco digitando parole chiave.

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

  9. Fai clic su Salva.

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

    Una notifica conferma l'aggiornamento dei tag.

gcloud

Per creare un binding dei tag e collegarlo alla tua istanza, esegui questo comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_ID: l'ID dell'istanza.
  • TAG_VALUE_NAME: TAG_VALUE_NAME è l'ID permanente o l'ID spazio dei nomi del valore tag da allegare. Ad esempio: tagValues/4567890123 (ID permanente) o 12345678/env/prod (ID spazio dei nomi). L'ID spazio dei nomi è composto da:
    • ORG_ID: l'ID dell'organizzazione.
    • KEY_NAME: il nome visualizzato (abbreviato) della chiave del tag. Ad esempio, env.
    • VALUE_NAME: il nome visualizzato (abbreviato) del valore del tag. Ad esempio, prod.
  • LOCATION: la posizione di un'istanza varia a seconda della sua configurazione:
    • Per un'istanza regionale, la posizione della sua configurazione. Ad esempio, us-east1.
    • Per un'istanza dual-region, la località della risorsa composta da due lettere. Ad esempio, de per dual-region-germany1.
    • Per un'istanza multiregionale, il nome della relativa configurazione. Ad esempio, eur3 o nam-eur-asia1.

Ad esempio, per creare un binding dei tag sull'istanza Spanner my-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

API

Per creare un binding dei tag e collegarlo all'istanza Spanner utilizzando l'API REST o RPC, consulta Collegare i tag alle risorse.

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 collegato a una risorsa potrebbe rimuovere l'accesso utente a quella risorsa.

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

Console

Per utilizzare i tag per concedere in modo condizionale i binding dei ruoli agli utenti, vedi Gestire l'accesso ai tag.

gcloud

Per applicare una condizione basata su tag a una policy 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 è il percorso completo di un ruolo predefinito, ad esempio roles/logging.viewer, oppure l'ID di un ruolo personalizzato, ad esempio organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: l'entità su cui vuoi aggiungere l'associazione del ruolo. Deve essere nel 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 (abbreviato) della chiave del tag. Ad esempio, env.
  • VALUE_NAME: il nome visualizzato (abbreviato) del valore del tag. Ad esempio, prod.

Questo comando aggiunge un'associazione di policy IAM alla policy IAM di un'organizzazione. Un'associazione di criteri è costituita 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-organization
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')

Elenca i tag collegati a un'istanza

Puoi visualizzare un elenco di associazioni di tag direttamente collegate all'istanza o ereditate da quest'ultima.

Console

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

    Vai a Istanze Spanner

  2. Sotto l'elenco delle istanze, cerca la colonna Tag. I tag vengono visualizzati nel formato key:value.

gcloud

Per ottenere un elenco di associazioni di tag direttamente collegate a una risorsa, utilizza il comando gcloud resource-manager tags bindings list. Se aggiungi il flag --effective, ottieni anche tutti i binding dei tag ereditati da questa risorsa.

Per elencare tutti i binding dei tag collegati 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 posizione di un'istanza varia a seconda della sua configurazione:
    • Per un'istanza regionale, la posizione della sua configurazione. Ad esempio, us-east1.
    • Per un'istanza dual-region, la località della risorsa composta da due lettere. Ad esempio, de per dual-region-germany1.
    • Per un'istanza multiregionale, il nome della relativa configurazione. Ad esempio, eur3 o nam-eur-asia1.

API

Per visualizzare un elenco di associazioni di tag direttamente collegate all'istanza o ereditate da quest'ultima utilizzando l'API REST o RPC, consulta Elenco di tutti i tag collegati a una risorsa.

Eliminare un'associazione di tag

Quando rimuovi una definizione di chiave o valore tag, assicurati che il tag sia scollegato dall'istanza. Prima di eliminare il tag, devi eliminare i binding dei tag esistenti.

Console

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

    Vai a Istanze Spanner

  2. Seleziona la casella di controllo accanto all'istanza per cui vuoi eliminare un binding dei tag.

  3. Fai clic su Tag.

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

  5. Fai clic su Salva.

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

    Una notifica conferma l'aggiornamento dei tag.

gcloud

Per eliminare un'associazione tag, esegui questo comando:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
  • PROJECT_ID: l'ID del progetto.
  • INSTANCE_ID: l'ID dell'istanza.
  • TAG_VALUE_NAME: TAG_VALUE_NAME è l'ID permanente o l'ID spazio dei nomi del valore tag da allegare. Ad esempio: tagValues/4567890123 (ID permanente) o 12345678/env/prod (ID spazio dei nomi). L'ID spazio dei nomi è composto da:
    • ORG_ID: l'ID dell'organizzazione.
    • KEY_NAME: il nome visualizzato (abbreviato) della chiave del tag. Ad esempio, env.
    • VALUE_NAME: il nome visualizzato (abbreviato) del valore del tag. Ad esempio, prod.
  • LOCATION: la posizione di un'istanza varia a seconda della sua configurazione:
    • Per un'istanza regionale, la posizione della sua configurazione. Ad esempio, us-east1.
    • Per un'istanza dual-region, la località della risorsa composta da due lettere. Ad esempio, de per dual-region-germany1.
    • Per un'istanza multiregionale, il nome della relativa configurazione. Ad esempio, eur3 o nam-eur-asia1.

API

Per scollegare un tag da una risorsa eliminando la risorsa di associazione dei tag utilizzando l'API REST o RPC, consulta Scollegare un tag da una risorsa.

Eliminare un tag

Dopo aver eliminato l'associazione dei tag, puoi eliminare il tag. Per eliminare chiavi tag e valori tag, consulta la sezione Eliminare i tag.

Passaggi successivi