Questa guida descrive come creare e gestire i tag nei database in modalità Datastore.
Informazioni sui tag
Un tag è una coppia chiave-valore che può essere collegata a una risorsa all'interno di 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 IAM (Identity and Access Management) a seconda che una risorsa abbia un tag specifico. Per saperne di più sui tag, consulta la panoramica dei tag.
I tag vengono collegati alle risorse creando una risorsa di associazione tag che collega il valore alla risorsa Google Cloud .
Autorizzazioni obbligatorie
Per ottenere le autorizzazioni necessarie per gestire i tag, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Tag Viewer (
roles/resourcemanager.tagViewer) sulle risorse a cui sono collegati i tag -
Visualizza e gestisci i tag a livello di organizzazione:
Visualizzatore organizzazione (
roles/resourcemanager.organizationViewer) sull'organizzazione -
Crea, aggiorna ed elimina le definizioni dei tag:
Amministratore tag (
roles/resourcemanager.tagAdmin) nella risorsa per cui stai creando, aggiornando o eliminando i tag -
Associa e rimuovi i tag dalle risorse:
Utente tag (
roles/resourcemanager.tagUser) sul valore del tag e sulle risorse a cui stai associando o rimuovendo il valore del tag
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per collegare tag ai database Datastore, devi disporre del ruolo
Proprietario Datastore (roles/datastore.owner).
Creare chiavi e valori dei tag
Prima di poter allegare un tag, devi crearne uno e configurarne il valore. Per creare chiavi e valori tag, consulta Creazione di un tag e Aggiunta di un valore tag.
Aggiungere tag durante la creazione della risorsa
Puoi aggiungere tag al momento della creazione dei database. L'aggiunta di tag durante la creazione delle risorse consente di fornire immediatamente metadati essenziali per le risorse e aiuta anche a migliorare l'organizzazione, il monitoraggio dei costi e l'applicazione automatica dei criteri.
gcloud
gcloud firestore databases create \
--location=LOCATION \
--database=DATABASE \
--tags=[KEY=VALUE,...]Sostituisci quanto segue:
LOCATION: la posizione su cui operare.DATABASE: l'ID da utilizzare per il database.KEY=VALUE: elenco di coppie KEY=VALUE di tag da associare. Ogni elemento deve essere espresso come<tag-key-namespaced-name>=<tag-value-short-name>o<tag-key-name>=<tag-value-name>.
Specifica più tag separandoli con una virgola, ad esempio TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.
API
Invia una richiesta POST al seguente URL:
https://firestore.googleapis.com/v1/projects/PROJECT/databases?databaseId=DATABASEFornisci il seguente JSON nel corpo della richiesta:
"type": "FIRESTORE_NATIVE",
"locationId": LOCATION,
"tags": {KEY:VALUE}
Sostituisci quanto segue:
PROJECT: il progetto su cui operare.DATABASE: l'ID da utilizzare per il database.LOCATION: la posizione su cui operare.KEY:VALUE: elenco di coppie KEY=VALUE di tag da associare. Ogni elemento deve essere espresso come<tag-key-namespaced-name>:<tag-value-short-name>o<tag-key-name>:<tag-value-name>.
Aggiungere tag alle risorse esistenti
Per aggiungere un tag ai database esistenti:
gcloud
Per collegare un tag a un database, devi creare una risorsa di associazione di 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 con spazio dei nomi del valore del tag allegato, ad esempiotagValues/567890123456.-
RESOURCE_IDè l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//firestore.googleapis.com/). Ad esempio, per allegare un tag a un database inprojects/firestore-test-project, l'ID completo è://firestore.googleapis.com/projects/firestore-test-project/databases/\(default\). LOCATION: la posizione della risorsa. Se stai collegando 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 esempious-central1(regione) ous-central1-a(zona).
Elenca i tag collegati alle risorse
Puoi visualizzare un elenco di associazioni di tag direttamente collegate o ereditate dal database.
gcloud
Per ottenere un elenco di associazioni di tag collegate 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/). Ad esempio, per allegare un tag a un database inprojects/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 collegato a una risorsa globale, ad esempio una cartella o un progetto, ometti questo flag. Se visualizzi un tag collegato a una risorsa regionale o di zona, devi specificare la posizione, ad esempious-central1(regione) ous-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 dalle risorse
Puoi staccare i tag 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.
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 con spazio dei nomi del valore del tag allegato, ad esempiotagValues/567890123456.-
RESOURCE_IDè l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//firestore.googleapis.com/). Ad esempio, per allegare un tag a un database inprojects/firestore-test-project, l'ID completo è://firestore.googleapis.com/projects/firestore-test-project/databases/\(default\). LOCATION: la posizione della risorsa. Se stai collegando 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 esempious-central1(regione) ous-central1-a(zona).
Eliminare chiavi e valori dei tag
Quando rimuovi una definizione di chiave o valore tag, assicurati che il tag sia scollegato dal database. Prima di eliminare la definizione del tag, devi eliminare gli allegati esistenti, chiamati associazioni di tag. Per eliminare chiavi tag e valori 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 di ruoli agli utenti della gerarchia. La modifica o l'eliminazione del tag associato a una risorsa può rimuovere l'accesso utente a quella risorsa se è stata applicata una policy IAM con associazioni di ruoli condizionali. Per maggiori informazioni, consulta Condizioni e tag di Identity and Access Management.
Passaggi successivi
- Scopri gli altri servizi che supportano i tag.
- Consulta la sezione Tag e controllo dell'accesso per scoprire come utilizzare i tag con IAM.