Questo documento descrive come utilizzare i tag per gestire i bucket di log di Cloud Logging. I tag, creati a livello di organizzazione o progetto, consentono di annotare le risorse. Puoi anche concedere in modo condizionale i ruoli IAM (Identity and Access Management) o negare in modo condizionale le autorizzazioni IAM a seconda che una risorsa abbia un tag specifico. Per informazioni sui tag, consulta Introduzione ai tag.
Ad esempio, se utilizzi
BigQuery per analizzare i dati di fatturazione Cloud,
potresti collegare il tag project:production ai bucket di log che archiviano
i dati di log delle risorse di produzione e potresti collegare il tag
project:development ai bucket di log che archiviano i dati di log delle risorse di
sviluppo. Poi, puoi eseguire query
sui dati di fatturazione Cloud con i tag e visualizzare una suddivisione dei tuoi
costi tra sviluppo e produzione.
I tag possono essere collegati in modo esplicito ai bucket di log o ereditati dall'organizzazione, dalle cartelle e dai progetti principali.
Prima di iniziare
Per iniziare a gestire i bucket di log utilizzando i tag:
- Assicurati di aver creato un tag e configurato i relativi valori. Utilizza Resource Manager per gestire le definizioni dei tag. Per informazioni su come creare e gestire i tag, consulta Creare e gestire i tag.
-
Per ottenere le autorizzazioni necessarie per gestire i bucket di log utilizzando i tag, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto o nell'organizzazione:
- Utente tag (
roles/resourcemanager.tagUser) - Visualizzatore tag (
roles/resourcemanager.tagViewer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i bucket di log utilizzando i tag. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire i bucket di log utilizzando i tag sono necessarie le seguenti autorizzazioni:
-
Aggiungere o rimuovere tag dai bucket di log:
-
resourcemanager.tagValues.{get,list} -
resourcemanager.tagKeys.{get,list} -
resourcemanager.projects.get -
logging.buckets.createTagbinding -
logging.buckets.deleteTagBinding
-
-
Visualizzare i tag collegati ai bucket di log:
-
resourcemanager.tagValues.{get,list} -
resourcemanager.tagKeys.{get,list} -
logging.buckets.listTagBindings -
logging.buckets.listEffectiveTags
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
- Utente tag (
-
Per ottenere l'autorizzazione necessaria per gestire i bucket di log, chiedi all'amministratore di concederti il ruolo IAM Writer di configurazione dei log (
roles/logging.configWriter) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene l'
logging.buckets.listautorizzazione, necessaria per gestire i bucket di log.Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Collegare tag a un bucket di log
Per collegare un tag a un bucket di log:
Google Cloud Console
-
Nella Google Cloud console, vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Individua il bucket di log a cui collegare un tag.
Nel bucket di log, fai clic su Altromore_vert, e poi su Modifica tag.
Nella finestra di dialogo, nella sezione Tag diretti, individua il tag selezionando la risorsa in cui è stato creato. Ad esempio, per utilizzare un tag creato a livello di progetto, scegli Seleziona il progetto corrente come ambito.
Puoi anche cercare manualmente l'ID progetto, organizzazione o tag selezionando l'opzione Inserimento manuale.
Seleziona la coppia chiave-valore appropriata e fai clic su Salva.
Viene visualizzata una finestra di dialogo che conferma le modifiche. Fai clic su Conferma per finalizzare le modifiche.
gcloud
Per collegare un tag a un bucket di log, crea un'associazione di tag eseguendo il
gcloud resource-manager tags bindings create
comando:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
Nel comando precedente, effettua le seguenti sostituzioni:
TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore del tag. Ad esempio,
tagValues/4567890123. Per saperne di più sugli identificatori dei tag, consulta Definizioni e identificatori dei tag.BUCKET_NAME: il nome del bucket di log. Ad esempio,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.LOCATION: la località del bucket di log.
API
Per collegare un tag a un bucket di log, utilizza il tagBindings.create
metodo.
Terraform
Per collegare un tag a un bucket di log utilizzando Terraform, esegui una delle seguenti operazioni:
- Per i bucket di log nella località
global, crea una risorsa di associazione tag utilizzandogoogle_tags_tag_binding - Per i bucket di log regionali, crea una risorsa di associazione tag utilizzando
google_tags_location_tag_binding.
Quindi, esegui terraform apply per applicare le modifiche.
Visualizzare i tag collegati a un bucket di log
Per visualizzare i tag collegati a un bucket di log:
Google Cloud Console
-
Nella Google Cloud console, vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Individua il bucket di log di cui vuoi visualizzare i tag.
Nella colonna Tag è elencato un tag associato al bucket di log. Per visualizzare tutti i tag associati al bucket di log, fai clic sul arrow_drop_down Altro pulsante per espandere l'elenco dei tag.
gcloud
Esegui il gcloud resource-manager tags bindings list comando:
gcloud resource-manager tags bindings list \ --parent=BUCKET_NAME \ --location=LOCATION
Nel comando precedente, effettua le seguenti sostituzioni:
BUCKET_NAME: il nome del bucket di log. Ad esempio,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.LOCATION: la località del bucket di log.
(Facoltativo) Per visualizzare i tag ereditati dal bucket di log, aggiungi il flag --effective. L'aggiunta di questo flag restituisce una risposta simile alla seguente:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
Se tutti i tag sono collegati in modo esplicito al bucket di log e non vengono ereditati, il campo inherited è falso e viene omesso.
API
Per ottenere un elenco di associazioni di tag per un bucket, utilizza il
tagBindings.list metodo.
Terraform
Puoi utilizzare Terraform per collegare un tag a un bucket di log. Tuttavia, non puoi utilizzare Terraform per elencare i tag.
Rimuovere i tag da un bucket di log
Per rimuovere i tag collegati a un bucket di log, devi eliminare l'associazione di tag collegata al bucket di log. Per eliminare un tag, devi rimuoverlo da tutte le risorse collegate.
Google Cloud Console
-
Nella Google Cloud console, vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Individua il bucket di log di cui vuoi rimuovere il tag.
Nel bucket di log, fai clic su Altromore_vert, e poi su Modifica tag.
Nella finestra di dialogo, tieni il puntatore del mouse sopra il tag da rimuovere e fai clic su Elimina elemento. Fai clic su Salva per salvare le modifiche.
Viene visualizzata una finestra di dialogo che conferma le modifiche. Fai clic su Conferma per finalizzare le modifiche.
gcloud
Esegui il gcloud resource-manager tags bindings delete
comando:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
Nel comando precedente, effettua le seguenti sostituzioni:
TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore del tag. Ad esempio,
tagValues/4567890123. Per saperne di più sugli identificatori dei tag, consulta Definizioni e identificatori dei tag.BUCKET_NAME: il nome del bucket di log. Ad esempio,
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.LOCATION: la località del bucket di log.
API
Per rimuovere un tag da un bucket di log, utilizza il
tagBindings.delete metodo.
Terraform
Per rimuovere un tag da un bucket di log utilizzando Terraform, elimina la risorsa di associazione tag nella configurazione, quindi esegui terraform apply per applicare le modifiche.
Limitazioni
Non puoi utilizzare le concessioni di ruoli IAM per controllare quali bucket di log un'entità vede quando elenca i bucket di log in un Google Cloud progetto. Un'entità vedrà un elenco completo o un elenco vuoto. Tuttavia, puoi utilizzare le concessioni di ruoli IAM con le condizioni IAM per limitare le azioni che un'entità può eseguire su un bucket di log. Ad esempio, puoi limitare se un'entità può eliminare un bucket di log specifico.
Se utilizzi le esportazioni dei dati di fatturazione Cloud con BigQuery, i tag potrebbero richiedere fino a un'ora per essere utilizzati nell'esportazione. Se un tag è stato aggiunto o rimosso entro un'ora o se il bucket di log esiste da meno di un'ora, potrebbe non essere visualizzato nell'esportazione.
Ruoli personalizzati e concessioni di ruoli con condizioni IAM
Se prevedi di utilizzare ruoli IAM personalizzati e di collegare condizioni IAM alle concessioni di ruoli, potresti dover creare più ruoli personalizzati. Alcune autorizzazioni IAM vengono invalidate quando una condizione IAM viene collegata a una concessione di ruoli.
Per Cloud Logging, le seguenti autorizzazioni IAM vengono invalidate quando una concessione di ruoli contiene una condizione IAM:
logging.buckets.listlogging.buckets.create
Pertanto, potresti dover creare un ruolo con le autorizzazioni list e create e un altro ruolo che contenga altre autorizzazioni specifiche per il bucket.
Ad esempio, potresti creare un ruolo che contenga le autorizzazioni logging.buckets.delete e logging.buckets.update.
Quando concedi il ruolo che contiene le autorizzazioni list e create, non collegare una condizione IAM alla concessione di ruoli.
Quando concedi il ruolo che contiene le autorizzazioni delete e update, puoi aggiungere una condizione IAM che limiti la concessione alle risorse con un tag specifico.
Passaggi successivi
Scopri come impostare una policy dell'organizzazione con i tag.
Per informazioni sull'utilizzo dei tag nelle esportazioni dei dati di fatturazione Cloud, consulta la documentazione relativa alle esportazioni dei dati di fatturazione Cloud.