Questo documento descrive come utilizzi i ruoli e le autorizzazioni di Identity and Access Management (IAM) per controllare l'accesso ai dati dei log nell'API Logging, in Esplora log e Google Cloud CLI.
Panoramica
Le autorizzazioni e i ruoli IAM determinano la tua capacità di accedere ai dati dei log nell'API Logging, in Esplora log e Google Cloud CLI.
Un ruolo è una raccolta di autorizzazioni. Non puoi concedere direttamente le autorizzazioni a un'entità; devi concedere loro un ruolo. Se concedi un ruolo a un'entità, concedi all'entità tutte le autorizzazioni incluse nel ruolo. Puoi concedere più ruoli alla stessa entità.
Per utilizzare Logging all'interno di una risorsa Google Cloud, ad esempio un progetto, una cartella, un bucket o un'organizzazione Google Cloud, un'entità deve avere un ruolo IAM che contenga le autorizzazioni appropriate.
Ruoli predefiniti
IAM fornisce ruoli predefiniti per concedere un accesso granulare a specifiche risorse Google Cloud e impedire accessi indesiderati ad altre risorse. Google Cloud crea e gestisce questi ruoli e aggiorna automaticamente le autorizzazioni in base alle esigenze, ad esempio quando Logging aggiunge nuove funzionalità.
La tabella seguente elenca i ruoli predefiniti per Logging. Per ogni ruolo, la tabella visualizza il titolo, la descrizione, le autorizzazioni contenute e il tipo di risorsa di livello più basso in cui è possibile concedere i ruoli. Puoi concedere i ruoli predefiniti a livello di progetto Google Cloud o, nella maggior parte dei casi, qualsiasi tipo superiore nella gerarchia di Google Cloud. Per limitare l'ambito del ruolo Funzione di accesso visualizzazione log al livello di bucket, utilizza gli attributi delle risorse per le condizioni IAM.
Per ottenere un elenco di tutte le singole autorizzazioni contenute in un ruolo, vedi Recupero dei metadati del ruolo.
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
Le sezioni seguenti forniscono informazioni aggiuntive per aiutarti a decidere quali ruoli applicare ai casi d'uso delle entità.
Ruoli di logging
Per consentire a un utente di eseguire tutte le azioni in Logging, concedi il ruolo Amministratore Logging (
roles/logging.admin
).Per consentire a un utente di creare e modificare le configurazioni di logging, ad esempio sink, bucket, viste, link, metriche basate su log o esclusioni, concedi il ruolo Writer configurazione log (
roles/logging.configWriter
).Per consentire a un utente di leggere i log nei bucket
_Required
e_Default
, utilizza Esplora log e la pagina Analisi dei log, concedi uno dei seguenti ruoli:- Concedi il ruolo Visualizzatore log (
roles/logging.viewer
) per accedere a tutti i log nel bucket_Required
e alla vista_Default
nel bucket_Default
. - Per accedere a tutti i log nei bucket
_Required
e_Default
, inclusi i log di accesso ai dati, concedi il ruolo Visualizzatore log privati (roles/logging.privateLogViewer
).
- Concedi il ruolo Visualizzatore log (
Per consentire a un utente di leggere i log utilizzando una visualizzazione dei log su un bucket di log, concedi il ruolo Funzione di accesso alla visualizzazione dei log (
roles/logging.viewAccessor
). Puoi limitare l'autorizzazione a una visualizzazione di log specifica su un bucket di log specifico. Per informazioni sulla creazione di visualizzazioni dei log e sulla concessione dell'accesso, consulta Configurare le visualizzazioni dei log in un bucket di log.Per concedere a un utente l'accesso ad eventuali campi
LogEntry
con restrizioni in un determinato bucket, concedi il ruolo Funzione di accesso ai campi dei log (roles/logging.fieldAccessor
). Per ulteriori informazioni, consulta Configurare l'accesso a livello di campo.Per consentire a un utente di scrivere log utilizzando l'API Logging, concedi il ruolo Writer log (
roles/logging.logWriter
). Questo ruolo non concede le autorizzazioni di visualizzazione.Per consentire all'account di servizio di una route di sink dei log verso un bucket in un progetto Google Cloud diverso, concedi all'account di servizio il ruolo Autore del bucket di log (
roles/logging.bucketWriter
). Per istruzioni sulla concessione delle autorizzazioni a un account di servizio, consulta Impostare le autorizzazioni di destinazione.
Ruoli a livello di progetto
Per concedere l'accesso in visualizzazione alla maggior parte dei servizi Google Cloud, concedi il ruolo Visualizzatore (
roles/viewer
).Questo ruolo include tutte le autorizzazioni concesse dal ruolo Visualizzatore log (
roles/logging.viewer
).Per concedere in modifica l'accesso alla maggior parte dei servizi Google Cloud, concedi il ruolo Editor (
roles/editor
).Questo ruolo include tutte le autorizzazioni concesse dal ruolo Visualizzatore log (
roles/logging.viewer
) e le autorizzazioni per scrivere voci di log, eliminare log e creare metriche basate su log. Tuttavia, questo ruolo non consente agli utenti di creare sink, leggere gli audit log di accesso ai dati nel bucket_Default
o leggere i log nei bucket di log definiti dall'utente.Per concedere l'accesso completo alla maggior parte dei servizi Google Cloud, concedi il ruolo Proprietario (
roles/owner
).
Concessione dei ruoli in corso…
Per scoprire come concedere un ruolo a un'entità, vedi Concessione, modifica e revoca dell'accesso.
Puoi concedere più ruoli allo stesso utente. Per ottenere un elenco delle autorizzazioni contenute in un ruolo, vedi Ottenere i metadati dei ruoli.
Se stai cercando di accedere a una risorsa Google Cloud e non disponi delle autorizzazioni necessarie, contatta l'entità indicata come Proprietario della risorsa.
Ruoli personalizzati
Per creare un ruolo personalizzato con autorizzazioni di Logging, segui questi passaggi:
Per un ruolo che concede autorizzazioni per l'API Logging, scegli le autorizzazioni dalle Autorizzazioni API, poi segui le istruzioni per creare un ruolo personalizzato.
Per un ruolo che concede le autorizzazioni per utilizzare Esplora log, scegli tra i gruppi di autorizzazioni in Autorizzazioni della console, poi segui le istruzioni per creare un ruolo personalizzato.
Per un ruolo che concede le autorizzazioni per utilizzare
gcloud logging
, consulta la sezione Autorizzazioni a riga di comando in questa pagina e segui le istruzioni per creare un ruolo personalizzato.
Per ulteriori informazioni sui ruoli personalizzati, consulta Informazioni sui ruoli personalizzati IAM.
Autorizzazioni per la console Google Cloud
La tabella seguente elenca le autorizzazioni necessarie per utilizzare Esplora log.
Nella tabella, a.b.{x,y}
significa a.b.x
e a.b.y
.
Attività della console | Autorizzazioni obbligatorie |
---|---|
Accesso minimo di sola lettura | logging.logEntries.list logging.logs.list logging.logServiceIndexes.list logging.logServices.list resourcemanager.projects.get |
Aggiunta della possibilità di visualizzare gli audit log di accesso ai dati | Aggiungi logging.privateLogEntries.list |
Aggiungi la possibilità di visualizzare le metriche basate su log | Aggiungi logging.logMetrics. {list , get } |
Aggiungi la possibilità di visualizzare i sink | Aggiungi logging.sinks. {list , get } |
Aggiungi la possibilità di visualizzare l'utilizzo dei log | Aggiungi logging.usage.get |
Aggiunta la possibilità di escludere i log | Aggiungi logging.exclusions. {list , create , get , update , delete } |
Aggiungi la possibilità di utilizzare i sink | Aggiungi logging.sinks.{list , create , get , update , delete } |
Aggiunta della possibilità di creare metriche basate su log | Aggiungi logging.logMetrics. {list , create , get , update , delete } |
Aggiungi la possibilità di utilizzare le query salvate private | Aggiungi logging.queries. {list , create , get , update , delete } |
Aggiunta della possibilità di utilizzare le query salvate condivise | Aggiungi logging.queries. {share , getShared , updateShared , deleteShared , listShared } |
Aggiungi la possibilità di utilizzare le query recenti | Aggiungi logging.queries. {create , list } |
Autorizzazioni per la riga di comando
I comandi gcloud logging
sono
controllati dalle autorizzazioni IAM.
Per utilizzare uno dei comandi gcloud logging
, le entità devono avere
l'autorizzazione serviceusage.services.use
.
Un'entità deve inoltre avere il ruolo IAM corrispondente alla risorsa del log e al caso d'uso. Per maggiori dettagli, vedi Autorizzazioni dell'interfaccia a riga di comando.
Autorizzazioni per i set di dati BigQuery collegati
Nell'elenco seguente sono descritti i ruoli predefiniti e le autorizzazioni corrispondenti per la gestione dei set di dati BigQuery collegati:
I ruoli Amministratore Logging (
roles/logging.admin
) e Writer configurazione dei log (roles/logging.configWriter
) contengono le seguenti autorizzazioni:logging.links.list
logging.links.create
logging.links.get
logging.links.delete
I ruoli Funzione di accesso al link dei log (
roles/logging.linkViewer
), Visualizzatore log privati (roles/logging.privateLogViewer
) e Visualizzatore di log (roles/logging.viewer
) contengono le seguenti autorizzazioni:logging.links.list
logging.links.get
I ruoli e le autorizzazioni precedentemente elencati si applicano solo alle pagine di Google Cloud Observability, come la pagina Analisi dei log. Se utilizzi l'interfaccia BigQuery per gestire i tuoi set di dati, potresti aver bisogno di ruoli e autorizzazioni di BigQuery separati. Per ulteriori informazioni, consulta Controllo dell'accesso con IAM per BigQuery.
Autorizzazioni per il salvataggio delle query
Questa sezione descrive i ruoli predefiniti e le autorizzazioni per salvare, condividere e utilizzare le query nelle pagine Esplora log o Analisi dei log. L'utilizzo di query salvate private visibili solo a te e l'utilizzo di query salvate condivise con altri membri del progetto Google Cloud richiedono autorizzazioni diverse:
-
Per ottenere le autorizzazioni necessarie per utilizzare le query salvate private, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log (
roles/logging.viewer
) per il tuo progetto.Questo ruolo predefinito contiene le autorizzazioni necessarie per utilizzare le query salvate private. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare le query salvate private sono necessarie le seguenti autorizzazioni:
-
logging.queries.list
-
logging.queries.create
-
logging.queries.get
-
logging.queries.update
-
logging.queries.delete
-
-
Per ottenere le autorizzazioni necessarie per creare, aggiornare ed eliminare le query condivise, chiedi all'amministratore di concederti il ruolo IAM Amministratore Logging (
roles/logging.admin
) per il tuo progetto.Questo ruolo predefinito contiene le autorizzazioni necessarie per creare, aggiornare ed eliminare le query condivise. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare, aggiornare ed eliminare le query condivise, sono necessarie le seguenti autorizzazioni:
-
logging.queries.share
-
logging.queries.updateShared
-
logging.queries.deleteShared
-
-
Per ottenere le autorizzazioni necessarie per elencare e ottenere le query condivise, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log (
roles/logging.viewer
) per il tuo progetto.Questo ruolo predefinito contiene le autorizzazioni necessarie per elencare e ottenere query condivise. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per elencare e ricevere query condivise, sono necessarie le seguenti autorizzazioni:
-
logging.queries.listShared
-
logging.queries.getShared
-
Autorizzazioni per i log di routing
Per informazioni sulla configurazione dei controlli dell'accesso durante la creazione e la gestione dei sink per il routing dei log, consulta Impostare le autorizzazioni di destinazione.
Tieni presente che la gestione dei filtri di esclusione è integrata con la configurazione dei sink. Tutte le autorizzazioni relative alla gestione dei sink, inclusa l'impostazione dei filtri di esclusione, sono incluse nelle autorizzazioni logging.sinks.*
. Quando crei un ruolo personalizzato che include autorizzazioni per gestire i filtri di esclusione, aggiungi le autorizzazioni logging.sinks.*
al ruolo anziché aggiungere le autorizzazioni logging.exclusions.*
.
Dopo che le voci di log sono state instradate a una destinazione supportata, l'accesso alle copie dei log è controllato interamente da autorizzazioni e ruoli IAM sulle destinazioni: Cloud Storage, BigQuery o Pub/Sub.
Autorizzazioni per le metriche basate su log
Di seguito è riportato un riepilogo dei ruoli e delle autorizzazioni comuni necessari a un'entità per accedere alle metriche basate su log:
Il ruolo Writer configurazione log (
roles/logging.configWriter
) consente alle entità di elencare, creare, ottenere, aggiornare ed eliminare le metriche basate su log.Il ruolo Visualizzatore log (
roles/logging.viewer
) contiene le autorizzazioni per visualizzare le metriche esistenti. In particolare, un'entità ha bisogno delle autorizzazionilogging.logMetrics.get
elogging.logMetrics.list
per visualizzare le metriche esistenti.Il ruolo Visualizzatore Monitoring (
roles/monitoring.viewer
) contiene le autorizzazioni per leggere i dati TimeSeries. Nello specifico, un'entità ha bisogno dell'autorizzazionemonitoring.timeSeries.list
per leggere i dati delle serie temporali.I ruoli Amministratore Logging (
roles/logging.admin
), Editor progetto (roles/editor
) e Proprietario progetto (roles/owner
) contengono le autorizzazioni per creare metriche basate su log. In particolare, un'entità ha bisogno dell'autorizzazionelogging.logMetrics.create
per creare metriche basate su log.
Autorizzazioni per i criteri di avviso basati su log
Per creare e gestire i criteri di avviso basati su log, un'entità richiede i seguenti ruoli e autorizzazioni di Logging e Monitoring:
-
Per ottenere le autorizzazioni necessarie per leggere i log e gestire le regole di notifica di Logging, chiedi all'amministratore di concederti il ruolo IAM Amministratore Logging (
roles/logging.admin
) per il tuo progetto.Questo ruolo predefinito contiene le autorizzazioni necessarie per leggere i log e gestire le regole di notifica di Logging. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per leggere i log e gestire le regole di notifica di Logging sono necessarie le seguenti autorizzazioni:
-
logging.queries.listShared
-
logging.queries.getShared
-
-
Per ottenere le autorizzazioni necessarie per gestire i criteri di avviso basati su log e i relativi canali di notifica, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:
-
Editor AlertPolicy Monitoring (
roles/monitoring.alertPolicyEditor
) -
Editor NotificationChannel di Monitoring (
roles/monitoring.notificationChannelEditor
)
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i criteri di avviso basati su log e i relativi canali di notifica. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire i criteri di avviso basati su log e i relativi canali di notifica, sono necessarie le seguenti autorizzazioni:
-
logging.queries.listShared
-
logging.queries.getShared
-
Editor AlertPolicy Monitoring (
-
Per ottenere le autorizzazioni necessarie per creare un criterio di avviso in Google Cloud CLI, chiedi all'amministratore di concederti il ruolo IAM Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer
) nel progetto.Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un criterio di avviso in Google Cloud CLI. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un criterio di avviso in Google Cloud CLI sono necessarie le autorizzazioni seguenti:
-
logging.queries.listShared
-
logging.queries.getShared
-
Ambiti di accesso al logging
Gli ambiti di accesso sono il metodo legacy per specificare le autorizzazioni per gli account di servizio sulle tue istanze VM di Compute Engine.
I seguenti ambiti di accesso si applicano all'API Logging:
Ambito dell'accesso | Autorizzazioni concesse |
---|---|
https://www.googleapis.com/auth/logging.read | roles/logging.viewer |
https://www.googleapis.com/auth/logging.write | roles/logging.logWriter |
https://www.googleapis.com/auth/logging.admin | Accesso completo all'API Logging. |
https://www.googleapis.com/auth/cloud-platform | Accesso completo all'API Logging e a tutte le altre API Google Cloud abilitate. |
Per informazioni sull'utilizzo di questo metodo legacy per impostare i livelli di accesso degli account di servizio, consulta Autorizzazioni dell'account di servizio.