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 Google Cloud risorse, 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 i tag delle istanze Spanner utilizzando Google Cloud CLI o la console Google Cloud. Dopo aver creato i tag, puoi creare un'associazione di tag per collegarli alle tue Google Cloud risorse. Le associazioni di tag vengono ereditate dalle risorse figlie in base alla Google Cloud gerarchia delle risorse. Ad esempio, se colleghi un tag al progetto, tutte le istanze del progetto ereditano il tag. Puoi anche utilizzare le etichette per organizzare le risorse Google Cloud , ma non puoi utilizzarle per impostare condizioni sui criteri IAM.
Per scoprire di più sui tag, consulta la Panoramica dei tag.
Casi d'uso comuni per i tag delle istanze 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 presenza o l'assenza di un valore del tag è la condizione per il criterio IAM e aiuta a controllare l'accesso all'istanza Spanner.
- Tag stato:indicano e gestiscono lo stato di un'istanza creando tag.
Ad esempio,
state:active
,state:todelete
estate:archive
. - Tag ambiente: specifica gli ambienti di produzione, test e sviluppo per le istanze creando coppie chiave-valore come
env:prod
,env:dev
eenv:test
.
Come creare e gestire i tag delle istanze Spanner
I tag sono strutturati come coppie chiave-valore. Crea una chiave tag nella risorsa dell'organizzazione, quindi associa i valori 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 associare un tag all'istanza, devi crearlo e assegnargli un valore. Per creare chiavi e valori dei tag, consulta Creare un tag e Aggiungere un valore del tag.
Associare un tag a un'istanza
Dopo aver creato le coppie chiave-valore del tag, puoi creare un'associazione del tag e agganciarla all'istanza Spanner.
Console
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Seleziona l'istanza a cui vuoi associare un tag.
Fai clic su
Tag.Se la tua organizzazione non viene visualizzata nel riquadro Tag, fai clic su Seleziona ambito. Seleziona la tua organizzazione e fai clic su Apri.
Nel riquadro Tag, seleziona Aggiungi tag.
Nel campo Chiave, seleziona la chiave del tag da collegare dall'elenco. Puoi filtrare l'elenco digitando le parole chiave.
Nel campo Valore, seleziona il valore del tag da collegare dall'elenco. Puoi filtrare l'elenco digitando le parole chiave.
Se vuoi aggiungere altri tag, fai clic su
Aggiungi tag e seleziona la chiave e il valore per ciascuno.Fai clic su Salva.
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) della chiave del tag. Ad esempio,env
.VALUE_NAME
: il nome visualizzato (breve) del valore del tag. Ad esempio,prod
.LOCATION
: la posizione dell'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 ulteriori informazioni, 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 all'entità. Il nome del ruolo è il percorso completo di un ruolo predefinito, ad esempioroles/logging.viewer
, o l'ID ruolo di un ruolo personalizzato, ad esempioorganizations/{ORG_ID}/roles/logging.viewer
.PRINCIPAL
: l'entità a cui vuoi aggiungere l'associazione di ruolo. Deve essere nel formatouser|group|serviceAccount:email
odomain:domain
. Ad esempio,user:test-user@gmail.com
,group:admins@example.com
,serviceAccount:test123@example.domain.com
odomain: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 del criterio 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 condizionatamente 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 i tag associati a un'istanza
Puoi visualizzare un elenco di associazioni di tag direttamente collegate all'istanza o ereditate da essa.
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 una definizione di chiave o valore del tag, assicurati che il tag sia scollegato dall'istanza. Devi eliminare le associazioni di tag esistenti prima di eliminare il tag.
Console
Nella console Google Cloud, vai alla pagina Istanze Spanner.
Seleziona l'istanza per cui vuoi eliminare un'associazione di tag.
Fai clic su
Tag.Nel riquadro Tag, accanto al tag che vuoi scollegare, fai clic su
Elimina elemento.Fai clic su Salva.
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) della chiave del tag. Ad esempio,env
.VALUE_NAME
: il nome visualizzato (breve) del valore del tag. Ad esempio,prod
.LOCATION
: la posizione dell'istanza. Ad esempio,us-east1
.
Eliminare un tag
Dopo aver eliminato l'associazione del tag, puoi eliminare il tag. Per eliminare le chiavi e i valori dei tag, consulta la sezione Eliminare i tag.
Passaggi successivi
Scopri di più sui Google Cloud tag.
Scopri di più su come creare e gestire i tag nelle tue istanze Spanner utilizzando Resource Manager.
Scopri di più sulle etichette, un altro modo per organizzare le risorse Google Cloud .
Scopri di più sulla creazione di criteri di autorizzazione IAM con condizioni.