Gestire i bucket dei log utilizzando i tag

Questo documento descrive come utilizzare i tag per gestire i bucket di log di Cloud Logging. I tag, che vengono creati a livello di organizzazione o progetto, ti consentono di annotare le risorse. Puoi anche concedere in modo condizionale i ruoli di Identity and Access Management (IAM) o negare in modo condizionale le autorizzazioni IAM a seconda che una risorsa abbia un tag specifico. Per informazioni sui tag, consulta la panoramica dei tag.

Ad esempio, se utilizzi BigQuery per analizzare i dati di fatturazione Cloud, potresti associare il tag project:production ai bucket di log che archiviano i dati di log delle risorse di produzione e il tag project:development ai bucket di log che archiviano i dati di log delle risorse di sviluppo. Poi, puoi eseguire query sui dati del fatturazione Cloud con i tag e visualizzare una suddivisione dei costi tra sviluppo e produzione.

I tag possono essere collegati esplicitamente 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:

  1. Assicurati di aver creato un tag e di aver configurato i relativi valori. Utilizzi Resource Manager per gestire le definizioni dei tag. Per informazioni su come creare e gestire i tag, consulta Creare e gestire i tag.
  2. 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:

    Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

    Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i bucket di log utilizzando i tag. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

    Autorizzazioni obbligatorie

    Per gestire i bucket di log utilizzando i tag, sono necessarie le seguenti autorizzazioni:

    • Aggiungi o rimuovi tag ai bucket di log:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Visualizza i tag associati 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.

  3. Per ottenere l'autorizzazione necessaria per gestire i bucket dei log, chiedi all'amministratore di concederti il ruolo IAM Logs Configuration Writer (roles/logging.configWriter) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

    Questo ruolo predefinito contiene l'autorizzazione logging.buckets.list necessaria per gestire i bucket di log.

    Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Associare tag a un bucket di log

Per associare un tag a un bucket di log:

Console Google Cloud

  1. Nella console Google Cloud, vai alla pagina Archiviazione dei log:

    Vai ad Archiviazione dei log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Individua il bucket di log a cui allegare un tag.

  3. Nel bucket dei log, fai clic su Altro e poi su Modifica tag.

  4. 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 progetto corrente come ambito.

    Puoi anche cercare manualmente l'ID progetto, organizzazione o tag selezionando l'opzione Immissione manuale.

  5. Seleziona la coppia chiave-valore appropriata e fai clic su Salva.

  6. Viene visualizzata una finestra di dialogo che conferma le modifiche. Fai clic su Conferma per finalizzare le modifiche.

gcloud

Per associare un tag a un bucket di log, crea un'associazione di tag eseguendo il comando gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Nel comando precedente, esegui le seguenti sostituzioni:

  • TAG_VALUE_ID: l'ID permanente o il nome nello spazio dei nomi del valore del tag. Ad esempio, tagValues/4567890123. Per ulteriori informazioni 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 posizione del bucket di log.

API

Per associare un tag a un bucket di log, utilizza il metodo tagBindings.create.

Visualizzare i tag associati a un bucket di log

Per visualizzare i tag associati a un bucket di log:

Console Google Cloud

  1. Nella console Google Cloud, vai alla pagina Archiviazione dei log:

    Vai ad Archiviazione dei log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Individua il bucket dei 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 dei log, fai clic sul pulsante Altro per espandere l'elenco dei tag.

gcloud

Esegui il comando gcloud resource-manager tags bindings list:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

Nel comando precedente, esegui 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 ulteriori informazioni 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 posizione del bucket di log.

(Facoltativo) Per visualizzare i tag ereditati dal bucket dei log, aggiungi il --effective flag. 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 associati in modo esplicito al bucket di log e non viene ereditato alcun tag, il campo inherited è falso e viene omesso.

API

Per ottenere un elenco di associazioni di tag per un bucket, utilizza il metodo tagBindings.list.

Rimuovere i tag da un bucket di log

Per rimuovere i tag associati a un bucket di log, devi eliminare il vincolo dei tag associato al bucket di log. Per eliminare un tag, devi rimuoverlo da tutte le risorse collegate.

Console Google Cloud

  1. Nella console Google Cloud, vai alla pagina Archiviazione dei log:

    Vai ad Archiviazione dei log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Individua il bucket dei log di cui vuoi rimuovere il tag.

  3. Nel bucket dei log, fai clic su Altro e poi su Modifica tag.

  4. Nella finestra di dialogo, posiziona il cursore del mouse sul tag da rimuovere e fai clic su Elimina elemento. Fai clic su Salva per salvare le modifiche.

  5. Viene visualizzata una finestra di dialogo che conferma le modifiche. Fai clic su Conferma per finalizzare le modifiche.

gcloud

Esegui il comando gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Nel comando precedente, esegui 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 ulteriori informazioni 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 posizione del bucket di log.

API

Per rimuovere un tag da un bucket di log, utilizza il metodo tagBindings.delete.

Limitazioni

  • Non puoi utilizzare le concessioni dei ruoli IAM per controllare i bucket dei log visualizzati da un entità quando elenca i bucket dei log in un progetto Google Cloud. Un utente principale vedrà un elenco completo o uno vuoto. Tuttavia, puoi utilizzare le concessioni dei ruoli IAM con le condizioni IAM per limitare le azioni che un'entità può eseguire su un bucket di log. Ad esempio, puoi limitare la possibilità per un'entità di eliminare un determinato bucket dei log.

  • Se utilizzi le esportazioni dei dati di fatturazione Cloud con BigQuery, l'utilizzo dei tag nell'esportazione potrebbe richiedere fino a un'ora. Se un tag è stato aggiunto o rimosso entro un'ora o se il bucket dei 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 associare condizioni IAM alle concessioni dei ruoli, potresti dover creare più ruoli personalizzati. Alcune autorizzazioni IAM vengono invalidate quando una condizione IAM è associata a una concessione del ruolo.

Per Cloud Logging, le seguenti autorizzazioni IAM vengono invalidate quando una concessione del ruolo contiene una condizione IAM:

  • logging.buckets.list
  • logging.buckets.create

Pertanto, potresti dover creare un ruolo con le autorizzazioni list e create e un altro ruolo contenente altre autorizzazioni specifiche per i bucket. Ad esempio, puoi 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 allegare una condizione IAM alla concessione del ruolo. 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