Cloud Logging utilizza ruoli e autorizzazioni di Identity and Access Management (IAM) per consentirti di controllare chi può visualizzare, scrivere e gestire le risorse di Logging. I tuoi ruoli IAM determinano se puoi creare sink di log o bucket di log, leggere i dati di log archiviati in un bucket di log o accedere a pagine come Esplora log. Quando esegui un comando dell'API Cloud Logging o di Google Cloud CLI, i tuoi ruoli IAM determinano anche se hai l'autorizzazione per eseguire il comando.
Panoramica
I tuoi ruoli IAM determinano le azioni che puoi eseguire all'interno di Logging. Un ruolo è una raccolta di autorizzazioni. Quando concedi un ruolo a un'entità, le concedi tutte le autorizzazioni incluse nel ruolo. Puoi concedere più ruoli alla stessa entità.
I ruoli IAM vengono concessi su una risorsa, ad esempio un progetto, una cartella, un bucket o un'organizzazione Google Cloud . Ad esempio, puoi concedere a un'entità il ruolo Visualizzatore log (roles/logging.viewer) su un progetto Google Cloud specifico.
Le sezioni Ruoli predefiniti e Ruoli di Logging di questa pagina forniscono informazioni complete sui ruoli e sulle autorizzazioni di Logging. Altre sezioni di questa pagina forniscono informazioni su ruoli o autorizzazioni per casi d'uso specifici.
Il resto di questa sezione riassume come puoi concedere a un'entità l'accesso ai bucket di log o concedere l'accesso solo ad alcune voci di log in un bucket di log.
Concedi l'accesso ai bucket di log
Il ruolo Visualizzatore log (roles/logging.viewer) consente a un'entità di accedere a tutti i dati di log archiviati nei bucket di log _Required e _Default, ad eccezione dei log di accesso ai dati. Se un'entità deve accedere ai log di accesso ai dati, concedi il ruolo Visualizzatore log privati (roles/logging.privateLogViewer).
Per i bucket di log personalizzati, puoi concedere l'accesso alla visualizzazione _AllLogs o a una visualizzazione log personalizzata. Logging crea automaticamente la visualizzazione _AllLogs, che include tutte le voci di log nel bucket di log. Per concedere l'accesso a una visualizzazione log, aggiungi un'associazione IAM alla policy IAM collegata alla visualizzazione log o al progetto. Per saperne di più, consulta Controlla l'accesso a una visualizzazione log.
Logging supporta anche i tag sui bucket di log, che possono aiutarti a comprendere i costi. Puoi anche utilizzare i tag per impedire a un utente di eliminare un bucket di log. Per saperne di più, consulta Utilizza i tag per gestire l'accesso ai bucket di log.
Concedi l'accesso ad alcune voci di log in un bucket di log
Per concedere a un'entità l'accesso solo ad alcune delle voci di log archiviate in un bucket di log, crea una visualizzazione dei log e concedi all'entità l'accesso alla visualizzazione dei log. Ad esempio, puoi creare una visualizzazione log nel bucket di log _Default che includa solo le voci di log il cui tipo di risorsa è un'istanza Compute Engine.
Per scoprire di più sulla creazione di visualizzazioni dei log e sulle diverse strategie che puoi utilizzare per concedere l'accesso alla visualizzazione, consulta Configura le visualizzazioni dei log su un bucket di log.
Ruoli predefiniti
IAM fornisce ruoli predefiniti per concedere un accesso granulare a risorse Google Cloud specifiche 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 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 Visualizzatore di visualizzazioni log a una visualizzazione log su un bucket, utilizza gli attributi delle risorse per le condizioni IAM.
Per ottenere un elenco di tutte le singole autorizzazioni contenute in un ruolo, consulta 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 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 Viewer( Provides access to view logs. 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. |
|
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:
|
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
Le sezioni seguenti forniscono ulteriori informazioni per aiutarti a decidere quali ruoli si applicano 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 uno dei seguenti elementi:Per consentire a un utente di leggere i log nei bucket
_Requirede_Defaulto di utilizzare la pagina Esplora log, concedi uno dei seguenti ruoli:- Per accedere a tutti i log nel bucket
_Requirede alla visualizzazione_Defaultnel bucket_Default, concedi il ruolo Visualizzatore log (roles/logging.viewer). - Per accedere a tutti i log nei bucket
_Requirede_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.viewAccessornel progetto.Per consentire a un utente di leggere solo i log in una visualizzazione log specifica, hai due opzioni:
Crea una policy IAM per la visualizzazione log, quindi aggiungi un'associazione IAM a questa policy che conceda all'entità l'accesso alla visualizzazione log.
Concedi all'entità il ruolo IAM
roles/logging.viewAccessornel progetto che contiene la visualizzazione log, ma associa una condizione IAM per limitare la concessione alla visualizzazione log specifica.
Per informazioni sulla creazione di visualizzazioni log e sulla concessione dell'accesso, consulta Configura le visualizzazioni log su un bucket di log.
Per consentire a un utente di scrivere log utilizzando l'API Logging, concedi il ruolo Logs Writer (
roles/logging.logWriter). Questo ruolo non concede autorizzazioni di visualizzazione.Per consentire al account di servizio di un sink di indirizzare i log a un bucket in un progetto Google Cloud diverso, concedi al account di servizio il ruolo Logs Bucket Writer (
roles/logging.bucketWriter). Per istruzioni su come concedere le autorizzazioni a un account di servizio, consulta Imposta le autorizzazioni della 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 l'accesso come editor 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 ed eliminare log. Tuttavia, questo ruolo non consente agli utenti di creare sink, leggere i log di controllo dell'accesso ai dati che si trovano nel bucket_Defaulto leggere i log che si trovano 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 ottenere un elenco delle autorizzazioni contenute in un ruolo, consulta Recupero dei 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 le autorizzazioni di Logging, segui questi passaggi:
Per un ruolo che concede autorizzazioni per l'API Logging, scegli le autorizzazioni da 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 autorizzazioni in Autorizzazioni della console, quindi segui le istruzioni per creare un ruolo personalizzato.
Per un ruolo che concede le autorizzazioni per utilizzare
gcloud logging, consulta la sezione Autorizzazioni della riga di comando in questa pagina, quindi segui le istruzioni per creare un ruolo personalizzato.
Per saperne di più sui ruoli personalizzati, consulta Informazioni sui ruoli IAM personalizzati.
Autorizzazioni di 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 Esplora log.
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 |
| Visualizza i log di controllo dell'accesso ai dati | logging.privateLogEntries.list |
| Visualizza 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 solo una 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 viene concesso nel file della policy IAM di una visualizzazione log. |
| Elenca e visualizza gli ambiti dei log | logging.logScopes.{get, list} |
| Visualizza l'ambito dei log predefinito | observability.scopes.get |
| Escludi 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 |
| Crea e utilizza i sink | logging.sinks.{list, create, get, update, delete}
Quando crei un sink, devi anche concedere al account di servizio un ruolo IAM che gli consenta di scrivere voci di log nella destinazione. Per ulteriori informazioni, consulta Imposta le autorizzazioni della destinazione. Dopo che le voci di log sono state indirizzate a una destinazione supportata, l'accesso alle voci di log è controllato interamente dalle autorizzazioni e dai ruoli IAM nella destinazione. |
| Salva e utilizza le query private | logging.queries.usePrivatelogging.queries.{listShared,getShared} |
| Salva e utilizza le query condivise | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
| Crea e gestisci gli ambiti di log | logging.logScopes.{create, delete, get, list, update} |
| Imposta e gestisci 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, le entità devono disporre dell'autorizzazione serviceusage.services.use.
Un'entità deve anche avere il ruolo IAM corrispondente alla risorsa del log e al caso d'uso. Per maggiori dettagli, consulta le autorizzazioni dell'interfaccia a riga di comando.