Questo documento descrive come utilizzare i ruoli e le autorizzazioni di Identity and Access Management (IAM) per controllare l'accesso ai dati dei log nell'API Logging, in Logs Explorer e nell'interfaccia a riga di comando Google Cloud.
Panoramica
Le autorizzazioni e i ruoli IAM determinano la tua capacità di accedere ai dati dei log nell'API Logging, in Logs Explorer e nell'interfaccia a riga di comando Google Cloud.
Un ruolo è una raccolta di autorizzazioni. Non puoi concedere direttamente autorizzazioni a un'entità, ma devi concederle un ruolo. Se concedi un ruolo a un'entità, gli concedi tutte le autorizzazioni incluse nel ruolo. Puoi concedere più ruoli alla stessa entità.
Per utilizzare la registrazione all'interno di una risorsa Google Cloud, ad esempio un progetto, una cartella, un bucket o un'organizzazione Google Cloud, un'entità deve disporre di un ruolo IAM contenente le autorizzazioni appropriate.
Ruoli predefiniti
IAM fornisce ruoli predefiniti per concedere l'accesso granulare a determinate risorse Google Cloud e impedire l'accesso indesiderato ad altre risorse. Google Cloud crea e gestisce questi ruoli e aggiorna automaticamente le relative autorizzazioni in base alle necessità, ad esempio quando Logging aggiunge nuove funzionalità.
La tabella seguente elenca i ruoli predefiniti per il logging. Per ogni ruolo, la tabella mostra 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, a qualsiasi tipo superiore nella gerarchia delle risorse. Per limitare il ruolo Accesso alla visualizzazione dei log a una visualizzazione dei log in un bucket, utilizza gli attributi delle risorse per le condizioni IAM.
Per visualizzare un elenco di tutte le singole autorizzazioni contenute in un ruolo, consulta Ottenere i 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:
|
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
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, concedi il ruolo Logs Configuration Writer (
roles/logging.configWriter
). Questo ruolo ti consente di creare o modificare quanto segue:Questo ruolo non è sufficiente per creare metriche basate su log o criteri di avviso basati su log. Per informazioni sui ruoli richiesti per queste attività, consulta Autorizzazioni per le metriche basate su log e Autorizzazioni per i criteri di avviso basati su log.
Per consentire a un utente di leggere i log nei bucket
_Required
e_Default
o di utilizzare le pagine Esplora log e Log Analytics, concedi uno dei seguenti ruoli:- Per accedere a tutti i log nel bucket
_Required
e alla visualizzazione_Default
nel bucket_Default
, concedi il ruolo Visualizzatore log (roles/logging.viewer
). - Per l'accesso 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
).
- Per accedere a tutti i log nel bucket
Per consentire a un utente di leggere i log in tutte le visualizzazioni log di un progetto, concedigli il ruolo IAM
roles/logging.viewAccessor
nel progetto.Per consentire a un utente di leggere solo i log in una visualizzazione dei log specifica, hai due opzioni:
Crea un criterio IAM per la visualizzazione dei log, quindi aggiungi un'associazione IAM a questo criterio che conceda all'entità l'accesso alla visualizzazione dei log.
Concedi all'entità il ruolo IAM
roles/logging.viewAccessor
nel progetto che contiene la visualizzazione log, ma allega una condizione IAM per limitare la concessione alla visualizzazione log specifica.
Per informazioni sulla creazione di visualizzazioni dei log e sulla concessione dell'accesso, consulta Configurare le visualizzazioni dei log in un bucket dei log.
- Per concedere a un utente l'accesso ai campi con restrizioni
LogEntry
, se presenti, in un determinato bucket di log, assegna il ruolo Accesso ai campi dei log (roles/logging.fieldAccessor
). Per ulteriori informazioni, consulta la pagina sulla configurazione dell'accesso a livello di campo.
Per consentire a un utente di scrivere log utilizzando l'API Logging, concedigli il ruolo Scrittore di log (
roles/logging.logWriter
). Questo ruolo non concede autorizzazioni di visualizzazione.Per consentire all'account di servizio di un sink di instradare i log a un bucket in un altro progetto Google Cloud, concedi all'account di servizio il ruolo Writer bucket di log (
roles/logging.bucketWriter
). Per istruzioni su come concedere 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, conceda il ruolo Visualizzatore (
roles/viewer
).Questo ruolo include tutte le autorizzazioni concesse dal ruolo Visualizzatore dei log (
roles/logging.viewer
).Per concedere l'accesso in qualità di editor alla maggior parte dei servizi Google Cloud, conceda il ruolo Editor (
roles/editor
).Questo ruolo include tutte le autorizzazioni concesse dal ruolo visualizzatore dei 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 canali di destinazione, leggere i log di controllo dell'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à, consulta Concessione, modifica e revoca dell'accesso.
Puoi concedere più ruoli allo stesso utente. Per visualizzare un elenco delle autorizzazioni contenute in un ruolo, consulta Ottenere i metadati del ruolo.
Se stai tentando di accedere a una risorsa Google Cloud e non disponi delle autorizzazioni necessarie, contatta l'entità elencata come Proprietario della risorsa.
Ruoli personalizzati
Per creare un ruolo personalizzato con autorizzazioni di logging:
Per un ruolo che concede autorizzazioni per l'API Logging, scegli le autorizzazioni in Autorizzazioni API, quindi segui le istruzioni per creare un ruolo personalizzato.
Per un ruolo che concede le autorizzazioni per utilizzare Esplora log, scegli tra i gruppi di autorizzazione in Autorizzazioni della console, quindi segui le istruzioni per creare un ruolo personalizzato.
Per un ruolo che concede le autorizzazioni per l'utilizzo di
gcloud logging
, consulta la sezione Autorizzazioni a riga di comando di questa pagina, quindi segui le istruzioni per creare un ruolo personalizzato.
Per ulteriori informazioni sui ruoli personalizzati, consulta Informazioni sui ruoli personalizzati IAM.
Autorizzazioni Cloud Logging
La tabella seguente è un elenco parziale delle autorizzazioni necessarie per funzionalità specifiche di Cloud Logging. Questa tabella può aiutarti a identificare le autorizzazioni necessarie per utilizzare pagine come Log Explorer.
Nella tabella, a.b.{x,y}
indica a.b.x
e a.b.y
.
Attività della console | Autorizzazioni obbligatorie |
---|---|
Accesso di sola lettura minimo | logging.logEntries.list |
Visualizzare gli audit log di accesso ai dati | logging.privateLogEntries.list |
Visualizzare le metriche basate su log | logging.logMetrics.{list, get} |
Visualizza i sink | logging.sinks.{list, get} |
Visualizza l'utilizzo dei log | logging.usage.get |
Scarica i log | logging.logEntries.{list, download}
Per scaricare i log è necessaria una sola di queste autorizzazioni. I ruoli contenenti le autorizzazioni per scaricare i log devono essere concessi a livello di progetto. Non puoi scaricare i log se un ruolo contenente queste autorizzazioni è concesso nel file del criterio IAM di una visualizzazione di log. |
Visualizzare l'ambito dei log predefinito | observability.scopes.get |
Escludere i log | logging.exclusions.{list, create, get, update, delete}
Quando crei un ruolo personalizzato che include le autorizzazioni per gestire i filtri di esclusione, aggiungi al ruolo le autorizzazioni |
Creare e utilizzare i sink | logging.sinks.{list, create, get, update, delete}
Quando crei un'area di destinazione, devi anche concedere all'account di servizio un ruolo IAM che gli consenta di scrivere voci di log nella destinazione. Per ulteriori informazioni, consulta Impostare le autorizzazioni di destinazione. Dopo che le voci di log sono state inoltrate a una destinazione supportata, l'accesso alle voci di log è controllato interamente dalle autorizzazioni e dai ruoli IAM nella destinazione. |
Creare avvisi basati su log | Consulta Ruoli richiesti per creare e utilizzare i criteri di avviso basati su log. |
Creare metriche basate su log | logging.logMetrics.{list, create, get, update, delete}
Per informazioni sugli altri ruoli IAM necessari per creare e utilizzare le metriche basate su log, consulta Ruoli richiesti per creare e utilizzare le metriche basate su log. |
Salvare e utilizzare query private | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Salvare e utilizzare le query condivise | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Utilizzare le query recenti | logging.queries.{create, list} |
Impostare e gestire l'ambito dei log predefinito | observability.scopes.{get, update} |
Autorizzazioni per la riga di comando
I comandi gcloud logging
sono controllati dalle autorizzazioni IAM.
Per utilizzare uno dei comandi gcloud logging
, i principali devono disporre dell'autorizzazione serviceusage.services.use
.
Un'entità deve disporre anche del ruolo IAM corrispondente alla risorsa del log e al caso d'uso. Per maggiori dettagli, consulta le autorizzazioni dell'interfaccia a riga di comando.
Ruoli richiesti per creare e utilizzare le metriche basate su log
Di seguito è riportato un riepilogo dei ruoli e delle autorizzazioni comuni di cui un'entità necessita per accedere alle metriche basate su log:
Il ruolo Writer configurazione log (
roles/logging.configWriter
) consente agli amministratori di elencare, creare, recuperare, aggiornare ed eliminare le metriche basate su log.Il ruolo Visualizzatore log (
roles/logging.viewer
) contiene le autorizzazioni per visualizzare le metriche esistenti. Nello specifico, un principale necessita delle autorizzazionilogging.logMetrics.get
elogging.logMetrics.list
per visualizzare le metriche esistenti.Il ruolo Visualizzatore monitoraggio (
roles/monitoring.viewer
) contiene le autorizzazioni per leggere i dati di TimeSeries. Nello specifico, un'entità deve disporre 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. Nello specifico, un principale deve disporre dell'autorizzazionelogging.logMetrics.create
per creare metriche basate su log.
Ruoli richiesti per creare e utilizzare criteri di avviso basati su log
Per creare e gestire criteri di avviso basati su log, un utente principale deve disporre dei seguenti ruoli e autorizzazioni di Logging e Monitoring:
-
Per ottenere le autorizzazioni necessarie per creare criteri di avviso basati su log in Monitoraggio e per creare le regole di notifica di Log, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Monitoring AlertPolicy Editor (
roles/monitoring.alertPolicyEditor
) -
Logs Configuration Writer (
roles/logging.configWriter
)
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 creare criteri di avviso basati su log in Monitoraggio e per creare le regole di notifica di Log. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare criteri di avviso basati su log in Monitoraggio e le relative regole di notifica di Logging, sono necessarie le seguenti autorizzazioni:
-
monitoring.alertPolicies.create
-
logging.notificationRules.create
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
-
Monitoring AlertPolicy Editor (
Se crei il criterio di avviso in Google Cloud CLI, è necessaria anche la seguente autorizzazione o ruolo:
-
Per ottenere l'autorizzazione necessaria per creare un criterio di avviso utilizzando Google Cloud CLI, chiedi all'amministratore di concederti il ruolo IAM Consumatore di utilizzo del servizio (
roles/serviceusage.serviceUsageConsumer
) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene l'autorizzazione
serviceusage.services.use
necessaria per creare un criterio di avviso utilizzando Google Cloud CLI.Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Se il tuo progetto Google Cloud ha già canali di notifica, puoi configurare il criterio di avviso in modo da utilizzare un canale esistente senza ruoli o autorizzazioni aggiuntivi. Tuttavia, se devi creare un canale di notifica per il tuo criterio di avviso basato su log, è obbligatoria la seguente autorizzazione o il seguente ruolo:
-
Per ottenere l'autorizzazione necessaria per creare un canale di notifica per un criterio di avviso basato su log, chiedi all'amministratore di concederti il ruolo IAM Editor NotificationChannel Monitoring (
roles/monitoring.notificationChannelEditor
) nel progetto.Questo ruolo predefinito contiene l'autorizzazione
monitoring.notificationChannels.create
necessaria per creare un canale di notifica per un criterio di avviso basato su log.
Autorizzazioni per i criteri di avviso basati su SQL
I criteri di avviso basati su SQL valutano i risultati di una query SQL eseguita sui dati di gruppi di voci di log. Per informazioni sui ruoli richiesti per creare e gestire i criteri di avviso basati su SQL, consulta la sezione Prima di iniziare in Monitorare i risultati delle query SQL con un criterio di avviso.
Ambiti di accesso per il logging
Gli ambiti di accesso sono il metodo legacy per specificare le autorizzazioni per gli account di servizio nelle istanze VM di Compute Engine.
I seguenti ambiti di accesso si applicano all'API Logging:
Ambito di 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 precedente per impostare i livelli di accesso degli account di servizio, consulta Ambiti di accesso.