Questo documento descrive come creare sink aggregati. I sink aggregati ti consentono di combinare e instradare i log generati dalle risorse Google Cloud nella tua organizzazione o cartella in una posizione centralizzata.
Panoramica
I sink aggregati combinano e inoltrano le voci di log dalle risorse contenute in un'organizzazione o una cartella a una destinazione.
Se vuoi controllare le voci di log su cui è possibile eseguire query in queste risorse o che vengono instradate tramite i sink in queste risorse, puoi configurare un sink aggregato come non intercettante o intercettante:
Un sink aggregato non intercettante inoltra le voci di log tramite i sink nelle risorse figlio. Con questo sink, mantieni la visibilità delle voci di log nelle risorse in cui sono state generate. I sink che non intercettano non sono visibili alle risorse figlio.
Ad esempio, puoi creare un sink aggregato non intercettante che indirizzi tutte le voci di log generate dalle cartelle contenute in un'organizzazione a un bucket di log centrale. Le voci di log vengono archiviate nel bucket di log centrale e anche nelle risorse in cui sono state generate.
Un sink aggregato che intercetta impedisce il routing delle voci di log tra i sink nelle risorse secondarie, ad eccezione dei sink
_Required
. Questo sink può essere utile per evitare che copie duplicate delle voci di log vengano archiviate in più posizioni.Ad esempio, prendi in considerazione gli audit log di accesso ai dati, che possono essere di grandi dimensioni e costosi da archiviare in più copie. Se hai attivato gli audit log di accesso ai dati, puoi creare un'area di destinazione di intercettazione a livello di cartella che inoltra tutti gli audit log di accesso ai dati a un progetto centrale per l'analisi. Questo sink di intercettazione impedisce inoltre ai sink nelle risorse secondarie di inoltrare copie dei log altrove.
I sink di intercettazione impediscono il passaggio dei log tramite il router di log delle risorse figlio, a meno che i log non corrispondano anche al sink
_Required
. Poiché i log vengono intercettati, non vengono conteggiati ai fini delle metriche basate su log o dei criteri di avviso basati su log nelle risorse secondarie. Puoi visualizzare i sink di intercettazione nella pagina Router dei log delle risorse secondarie.
Per informazioni sulla gestione degli sink, consulta Indirizzare i log alle destinazioni supportate: gestire gli sink.
Puoi creare fino a 200 sink per cartella o organizzazione.
Destinazioni supportate
Puoi utilizzare i sink aggregati non intercettanti per instradare le voci di log all'interno o tra le stesse organizzazioni e cartelle alle seguenti destinazioni:
Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può memorizzare le voci di log ricevute da più progetti Google Cloud. Il bucket dei log può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Per informazioni su come visualizzare le voci di log archiviate nei bucket di log, consulta Panoramica delle query e della visualizzazione dei log e Visualizzare i log inviati ai bucket di Cloud Logging.
Puoi combinare i dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log per l'utilizzo di Log Analytics e poi creando un set di dati collegato, ovvero un set di dati di sola lettura su cui è possibile eseguire query dalle pagine BigQuery Studio e Looker Studio.
Set di dati BigQuery: fornisce lo spazio di archiviazione delle voci di log in un set di dati BigQuery scrivibile. Il set di dati BigQuery può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Puoi utilizzare le funzionalità di analisi dei big data sulle voci di log archiviate. Per informazioni su come visualizzare le voci di log inviate a BigQuery, consulta Visualizzare i log inviati a BigQuery.
- Bucket Cloud Storage: fornisce lo spazio di archiviazione delle voci di log in Cloud Storage. Il bucket Cloud Storage può trovarsi nello stesso progetto in cui hanno avuto origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON. Per informazioni su come visualizzare le voci di log inoltrate a Cloud Storage, consulta Visualizzare i log inoltrati a Cloud Storage.
Argomento Pub/Sub: fornisce il supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e poi inoltrate a un argomento Pub/Sub. L'argomento può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Per informazioni su come visualizzare le voci di log con routing a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
Progetto Google Cloud: inoltra le voci di log a un altro progetto Google Cloud. In questa configurazione, i sink nel progetto di destinazione elaborano le voci di log.
Best practice per intercettare i sink
Quando crei un'area di destinazione di intercettazione, ti consigliamo di procedere come segue:
Valuta se le risorse secondarie richiedono il controllo indipendente del routing delle voci del log. Se una risorsa secondaria ha bisogno del controllo indipendente di determinate voci di log, assicurati che l'emissario di intercettazione non inoltri queste voci di log.
Aggiungi i dati di contatto alla descrizione di un canale di intercettazione. Questa operazione potrebbe essere utile se chi gestisce la destinazione di intercettazione è diverso da chi gestisce i progetti di cui vengono intercettate le voci di log.
Testa la configurazione del sink creando innanzitutto un sink aggregato non intercettante per assicurarti che le voci di log corrette vengano instradate.
Destinazioni aggregate e Controlli di servizio VPC
Quando utilizzi i canali aggregati e Controlli di servizio VPC, si applicano le seguenti limitazioni:
I canali aggregati possono accedere ai dati dei progetti all'interno di un perimetro del servizio. Per impedire ai sink aggregati di accedere ai dati all'interno di un perimetro, consigliamo di utilizzare IAM per gestire le autorizzazioni di logging.
Controlli di servizio VPC non supporta l'aggiunta di risorse di organizzazioni o cartelle ai perimetri di servizio. Pertanto, non puoi utilizzare Controlli di servizio VPC per proteggere i log a livello di cartella e di organizzazione, inclusi i log aggregati. Per gestire le autorizzazioni di logging a livello di cartella o organizzazione, ti consigliamo di utilizzare IAM.
Se inoltri i log utilizzando un'area di destinazione a livello di cartella o organizzazione a una risorsa protetta da un perimetro di servizio, devi aggiungere una regola di entrata al perimetro di servizio. La regola di importazione deve consentire l'accesso alla risorsa dall'account di servizio utilizzato dall'emissario aggregato. Per ulteriori informazioni, consulta le seguenti pagine:
Quando specifichi un criterio di ingresso o di uscita per un perimetro di servizio, non puoi utilizzare
ANY_SERVICE_ACCOUNT
eANY_USER_ACCOUNT
come tipo di identità quando utilizzi un sink di log per instradare i log alle risorse Cloud Storage. Tuttavia, puoi utilizzareANY_IDENTITY
come tipo di identità.
Prima di iniziare
Prima di creare un sink, assicurati di quanto segue:
Hai una cartella o un'organizzazione Google Cloud con voci di log che puoi vedere in Esplora log.
Devi disporre di uno dei seguenti ruoli IAM per l'organizzazione o la cartella Google Cloud da cui indirizzi le voci di log.
- Proprietario (
roles/owner
) - Amministratore di Log (
roles/logging.admin
) - Logs Configuration Writer (
roles/logging.configWriter
)
Le autorizzazioni contenute in questi ruoli ti consentono di creare, eliminare o modificare i canali. Per informazioni sull'impostazione dei ruoli IAM, consulta la guida al controllo dell'accesso per la registrazione.
- Proprietario (
Hai una risorsa in una destinazione supportata o hai la possibilità di crearne una.
La destinazione deve essere creata prima dell'emissario tramite Google Cloud CLI, la console Google Cloud o le API Google Cloud. Puoi creare la destinazione in qualsiasi progetto Google Cloud di qualsiasi organizzazione, ma devi assicurarti che l'account di servizio del destinatario disponga delle autorizzazioni per scrivere nella destinazione.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Creare un sink aggregato
Console
Per creare un canale aggregato per la cartella o l'organizzazione:
-
Nella console Google Cloud, vai alla pagina Log Router:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona una cartella o un'organizzazione esistente.
Seleziona Crea sink.
Nel riquadro Dettagli sink, inserisci i seguenti dettagli:
Nome del canale: fornisci un identificatore per il canale. Tieni presente che, dopo aver creato il canale, non puoi rinominarlo, ma puoi eliminarlo e crearne uno nuovo.
(Facoltativo) Descrizione della destinazione: descrivi lo scopo o il caso d'uso della destinazione.
Esegui una di queste operazioni:
Per creare un canale di destinazione di intercettazione, nel menu Seleziona servizio di destinazione, selezionare Progetto Google Cloud e inserire il nome completo della destinazione. Per informazioni sulla sintassi, consulta Formati dei percorsi di destinazione.
Per creare un canale non intercettante, vai al menu Seleziona servizio di destinazione esegui una delle seguenti operazioni:
Per instradare le voci di log a un altro progetto Google Cloud, selezionate Progetto Google Cloud e poi inserite il nome completo della destinazione. Per informazioni sulla sintassi, consulta Formati dei percorsi di destinazione.
Per inoltrare le voci di log a un servizio nello stesso progetto Google Cloud, seleziona una delle seguenti opzioni:
- Bucket Cloud Logging: seleziona o crea un bucket di logging.
- Set di dati BigQuery: seleziona o crea il set di dati specifico per ricevere le voci di log instradate. Hai anche la possibilità di utilizzare le tabelle partizionate.
- Bucket Cloud Storage: seleziona o crea il bucket Cloud Storage specifico per ricevere le voci di log instradate.
- Argomento Pub/Sub: seleziona o crea l'argomento specifico per ricevere le voci di log instradate.
- Splunk: seleziona l'argomento Pub/Sub per il servizio Splunk.
Per instradare le voci di log a un servizio in un altro progetto Google Cloud, segui questi passaggi:
- Seleziona Altra risorsa.
Inserisci il nome completo della destinazione. Per informazioni sulla sintassi, consulta la sezione Formati dei percorsi di destinazione.
Ad esempio, se la destinazione di destinazione è un argomento Pub/Sub,
destination
ha il seguente aspetto:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Nel riquadro Scegli i log da includere nel sink, esegui una delle seguenti operazioni:
Per creare un sink di intercettazione, seleziona Intercetta i log importati da questa organizzazione e da tutte le risorse secondarie.
Per creare un sink aggregato non intercettante, seleziona Includi i log importati da questa risorsa e da tutte le risorse figlio.
Completa la finestra di dialogo inserendo un'espressione filtro nel campo Crea filtro di inclusione che corrisponde alle voci di log da includere. Se non imposti un filtro, tutte le voci di log della risorsa selezionata vengono inoltrate alla destinazione.
Ad esempio, potresti creare un filtro per inoltrare tutti i log di controllo dell'accesso ai dati a un unico bucket di log. Questo filtro ha il seguente aspetto:
LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
Per esempi di filtri, consulta Creare filtri per i canali aggregati.
Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.
(Facoltativo) Per verificare di aver inserito il filtro corretto, seleziona Anteprima dei log. Si apre Esplora log in una nuova scheda con il filtro precompilato.
(Facoltativo) Nel riquadro Scegli i log da escludere dal sink, procedi nel seguente modo:
Nel campo Nome filtro di esclusione, inserisci un nome.
Nel campo Crea un filtro di esclusione, inserisci un'espressione filtro corrispondente alle voci di log che vuoi escludere. Puoi anche utilizzare la funzione
sample
per selezionare una parte delle voci di log da escludere.Ad esempio, per escludere il routing delle voci di log di un progetto specifico alla destinazione, aggiungi il seguente filtro di esclusione:
logName:projects/PROJECT_ID
Per escludere le voci di log di più progetti, utilizza l'operatore OR logico per unire le clausole
logName
.
Puoi creare fino a 50 filtri di esclusione per destinazione. Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.
Seleziona Crea sink.
Concedi all'account di servizio del sink l'autorizzazione per scrivere le voci di log nella destinazione del sink. Per ulteriori informazioni, consulta Impostare le autorizzazioni di destinazione.
gcloud
Per creare un'area di destinazione aggregata, utilizza il comando
logging sinks create
:Per creare un sink, chiama il comando
gcloud logging sinks create
e assicurati di includere l'opzione--include-children
.Prima di utilizzare il seguente comando, effettua le seguenti sostituzioni:
- SINK_NAME: il nome del sink di log. Non puoi modificare il nome di un sink dopo averlo creato.
- SINK_DESTINATION: il servizio o il progetto a cui vuoi inoltrare le voci di log.
- INCLUSION_FILTER: il filtro di inclusione per un sink. Per esempi di filtri, consulta Creare filtri per i canali aggregati.
- FOLDER_ID: l'ID della cartella. Se vuoi creare un sink
a livello di organizzazione, sostituisci
--folder=FOLDER_ID
con-- organization=ORGANIZATION_ID
.
Esegui il comando
gcloud logging sinks create
:gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
Puoi anche fornire le seguenti opzioni:
- Per creare un'area di destinazione di intercettazione, includi l'opzione
--intercept-children
.
Ad esempio, se stai creando un sink aggregato a livello di cartella e la destinazione è un argomento Pub/Sub, il comando potrebbe essere simile al seguente:
gcloud logging sinks create SINK_NAME \ pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \ --folder=FOLDER_ID --log-filter="logName:activity"
Concedi all'account di servizio del sink l'autorizzazione di scrittura nella destinazione del sink. Per ulteriori informazioni, consulta Impostare le autorizzazioni di destinazione.
REST
Per creare un'area di destinazione aggregata, utilizza il metodo
organizations.sinks.create
ofolders.sinks.create
dell'API Logging. Prepara gli argomenti del metodo come segue:Imposta il campo
parent
come l'organizzazione o la cartella Google Cloud in cui creare l'emissario. Il tag principale deve essere uno dei seguenti:organizations/ORGANIZATION_ID
folders/FOLDER_ID
Nell'oggetto
LogSink
nel corpo della richiesta del metodo, esegui una delle seguenti operazioni:Imposta
includeChildren
suTrue
.Per creare un'area di destinazione di intercettazione, imposta anche il campo
interceptChildren
suTrue
.
Imposta il campo
filter
in modo che corrisponda alle voci di log che vuoi includere.Per esempi di filtri, consulta Creare filtri per i canali aggregati.
La lunghezza di un filtro non può superare i 20.000 caratteri.
Imposta i restanti campi
LogSink
come faresti per qualsiasi destinazione. Per ulteriori informazioni, consulta Indirizzare i log alle destinazioni supportate.Chiama
organizations.sinks.create
ofolders.sinks.create
per creare il canale.Concedi all'account di servizio del sink l'autorizzazione di scrittura nella destinazione del sink. Per ulteriori informazioni, consulta Impostare le autorizzazioni di destinazione.
L'applicazione di eventuali modifiche apportate a un sink potrebbe richiedere alcuni minuti.
Creare filtri per i sink aggregati
Come qualsiasi altro sink, il sink aggregato contiene un filtro che seleziona le singole voci di log. Per esempi di filtri che potresti utilizzare per creare il tuo sink aggregato, consulta Query di esempio con Esplora log.
Di seguito sono riportati alcuni esempi di confronti dei filtri utili quando si utilizza la funzionalità di canalizzazioni aggregate. Alcuni esempi utilizzano la seguente notazione:
:
è l'operatore di sottostringa. Non sostituire l'operatore=
....
indica eventuali confronti con altri filtri.- Le variabili sono indicate da testo colorato. Sostituiscili con valori validi.
Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.
Per ulteriori dettagli sulla sintassi di filtro, consulta Lingua delle query di logging.
Seleziona la sorgente log
Per un canale aggregato, per ogni risorsa secondaria dell'organizzazione o della cartella, i filtri di inclusione ed esclusione del canale vengono applicati a ogni voce di log che viene inviata alla risorsa secondaria. Una voce di log che corrisponde al filtro di inclusione e che non è esclusa viene inoltrata.
Se vuoi che il sink indirizzi le voci di log da tutte le risorse secondarie, non specificare un progetto, una cartella o un'organizzazione nei filtri di inclusione ed esclusione del sink. Ad esempio, supponiamo di configurare un'area di destinazione aggregata per un'organizzazione con il seguente filtro:
resource.type="gce_instance"
Con il filtro precedente, le voci di log con un tipo di risorsa di istanza Compute Engine scritte in qualsiasi organizzazione secondaria vengono inoltrate dall'emissario aggregato alla destinazione.
Tuttavia, potrebbero verificarsi situazioni in cui vuoi utilizzare un'area di destinazione aggregata per instradare le voci di log solo da risorse secondarie specifiche. Ad esempio, per motivi di conformità, potresti voler archiviare gli audit log di cartelle o progetti specifici nel relativo bucket Cloud Storage. In questi casi, configura il filtro di inclusione in modo da specificare ogni risorsa secondaria di cui vuoi indirizzare le voci di log. Se vuoi instradare le voci di log da una cartella e da tutti i progetti al suo interno, il filtro deve elencare la cartella e ciascuno dei progetti contenuti al suo interno, nonché unire le istruzioni con una clausola
OR
.I seguenti filtri limitano le voci di log a progetti, cartelle o organizzazioni Google Cloud specifiche:
logName:"projects/PROJECT_ID/logs/" AND ...
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ...
logName:"folders/FOLDER_ID/logs/" AND ...
logName:"organizations/ORGANIZATION_ID/logs/" AND ...
Ad esempio, per instradare solo le voci di log scritte nelle istanze Compute Engine scritte nella cartella
my-folder
, utilizza il seguente filtro:logName:"folders/my-folder/logs/" AND resource.type="gce_instance"
Con il filtro precedente, le voci di log scritte in qualsiasi risorsa diversa da
my-folder
, incluse le voci di log scritte nei progetti Google Cloud che sono figli dimy-folder
, non vengono inoltrate alla destinazione.Seleziona la risorsa monitorata
Per instradare le voci di log solo da una risorsa monitorata specifica in un progetto Google Cloud, utilizza più confronti per specificare esattamente la risorsa:
logName:"projects/PROJECT_ID/logs" AND resource.type=RESOURCE_TYPE AND resource.labels.instance_id=INSTANCE_ID
Per un elenco dei tipi di risorse, consulta Tipi di risorse monitorate.
Seleziona un campione di voci di log
Per instradare un campione casuale di voci di log, aggiungi la funzione interna
sample
. Ad esempio, per instradare solo il 10% delle voci di log corrispondenti al tuo filtro corrente, utilizza questa aggiunta:sample(insertId, 0.10) AND ...
Per ulteriori informazioni, consulta la funzione
sample
.Per ulteriori informazioni sui filtri di Cloud Logging, consulta Linguaggio delle query di Logging.
Impostare le autorizzazioni di destinazione
Questa sezione descrive come concedere a Logging le autorizzazioni Identity and Access Management per scrivere le voci di log nella destinazione dell'eseguibile sink. Per l'elenco completo dei ruoli e delle autorizzazioni di Logging, consulta Controllo dell'accesso.
Quando crei o aggiorni un'area di destinazione che inoltra le voci di log a una destinazione diversa da un bucket di log nel progetto corrente, è necessario un account di servizio per l'area di destinazione. Logging crea e gestisce automaticamente il account di servizio per te:
- A partire dal 22 maggio 2023, quando crei un canale e non esiste un account di servizio per la risorsa sottostante, Logging crea l'account di servizio. Il logging utilizza lo stesso account di servizio per tutti gli sink nella risorsa sottostante. Le risorse possono essere un progetto Google Cloud, un'organizzazione, una cartella o un account di fatturazione.
- Prima del 22 maggio 2023, Logging creava un account di servizio per ogni destinazione. A partire dal 22 maggio 2023, Logging utilizza un account di servizio condiviso per tutti gli sink nella risorsa di base.
L'identità autore di un sink è l'identificatore dell'account di servizio associato al sink. Tutti gli sink hanno un'identità di autore, a meno che non scrivano in un bucket di log nel progetto Google Cloud corrente.
Per instradare le voci di log a una risorsa protetta da un perimetro di servizio, devi aggiungere l'account di servizio per quell'almacenamento a un livello di accesso e poi assegnarlo al perimetro di servizio di destinazione. Questa operazione non è necessaria per i sink non aggregati. Per maggiori dettagli, consulta Controlli di servizio VPC: Cloud Logging.
Per impostare le autorizzazioni per il routing del sink alla destinazione, segui questi passaggi:
Console
Per informazioni sull'account di servizio per la destinazione:
-
Nella console Google Cloud, vai alla pagina Log Router:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona more_vert Menu e poi Visualizza dettagli della canalizzazione. L'identità dell'autore viene visualizzata nel riquadro Dettagli destinazione.
Se il valore del campo
writerIdentity
contiene un indirizzo email, vai al passaggio successivo. Se il valore èNone
, non è necessario configurare le autorizzazioni di destinazione.Copia l'identità dello scrittore della destinazione negli appunti. La stringa
serviceAccount:
fa parte dell'identità dell'account di servizio. Ad esempio:serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
Aggiungi l'account di servizio come entità IAM nel progetto di destinazione:
-
Nella console Google Cloud, vai alla pagina IAM:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e amministrazione.
Seleziona il progetto di destinazione.
Fai clic su
Concedi accesso.Concedi all'account di servizio il ruolo IAM richiesto:
- Per le destinazioni Cloud Storage, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Creatore oggetti Storage (
roles/storage.objectCreator
). - Per le destinazioni BigQuery, aggiungi l'identità dello scrittore del canale come principale utilizzando IAM e poi concedi il ruolo Editor dati BigQuery (
roles/bigquery.dataEditor
). - Per le destinazioni Pub/Sub, tra cui Splunk, aggiungi l'identità dello scrittore del sink
come entità utilizzando IAM e poi concedile il
ruolo Publisher Pub/Sub
(
roles/pubsub.publisher
). - Per le destinazioni dei bucket di log in diversi
progetti Google Cloud, aggiungi l'identità dello scrittore dell'emissario come entità utilizzando IAM, quindi concedile il
ruolo Scrittore del bucket di log
(
roles/logging.bucketWriter
). - Per le destinazioni dei progetti Google Cloud, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Scrittore di log (
roles/logging.logWriter
). Nello specifico, un'entità deve disporre dell'autorizzazionelogging.logEntries.route
.
- Per le destinazioni Cloud Storage, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Creatore oggetti Storage (
-
-
gcloud
Assicurati di disporre dell'accesso Proprietario al progetto Google Cloud che contiene la destinazione. Se non disponi dell'accesso Proprietario alla destinazione dell'eseguitore, chiedi a un proprietario del progetto di aggiungere l'identità dell'autore come principale.
Per ottenere informazioni sull'account di servizio per la destinazione, chiama il metodo
gcloud logging sinks describe
.Prima di utilizzare il seguente comando, effettua le seguenti sostituzioni:
- SINK_NAME: il nome del sink di log. Non puoi modificare il nome di un sink dopo averlo creato.
Esegui il comando
gcloud logging sinks describe
:gcloud logging sinks describe SINK_NAME
Se i dettagli della destinazione contengono un campo denominato
writerIdentity
, vai al passaggio successivo. Se i dettagli non includono un campowriterIdentity
, non è necessario configurare le autorizzazioni di destinazione per l'emissario.Copia l'identità dello scrittore della destinazione negli appunti. La stringa
serviceAccount:
fa parte dell'identità dell'account di servizio.L'identità autore per l'account di servizio è simile alla seguente:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
Per aggiungere l'account di servizio come entità IAM nel progetto di destinazione, chiama il comando
gcloud projects add-iam-policy-binding
.Prima di utilizzare il seguente comando, effettua le seguenti sostituzioni:
- PROJECT_ID: l'identificatore del progetto.
- PRINCIPAL: un identificatore per l'entità a cui vuoi concedere il ruolo. Gli identificatori principali hanno in genere la seguente forma:
PRINCIPAL-TYPE:ID
. Ad esempio:user:my-user@example.com
. Per un elenco completo dei formati chePRINCIPAL
può avere, consulta Identificatori principali. ROLE: un ruolo IAM.
- Per le destinazioni Cloud Storage, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Creatore oggetti Storage (
roles/storage.objectCreator
). - Per le destinazioni BigQuery, aggiungi l'identità dello scrittore del canale come principale utilizzando IAM e poi concedi il ruolo Editor dati BigQuery (
roles/bigquery.dataEditor
). - Per le destinazioni Pub/Sub, tra cui Splunk, aggiungi l'identità dello scrittore del sink
come entità utilizzando IAM e poi concedile il
ruolo Publisher Pub/Sub
(
roles/pubsub.publisher
). - Per le destinazioni dei bucket di log in diversi
progetti Google Cloud, aggiungi l'identità dello scrittore dell'emissario come entità utilizzando IAM, quindi concedile il
ruolo Scrittore del bucket di log
(
roles/logging.bucketWriter
). - Per le destinazioni dei progetti Google Cloud, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Scrittore di log (
roles/logging.logWriter
). Nello specifico, un'entità deve disporre dell'autorizzazionelogging.logEntries.route
.
- Per le destinazioni Cloud Storage, aggiungi l'identità dello scrittore del canale come entità utilizzando IAM e poi concedile il ruolo Creatore oggetti Storage (
Esegui il comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
REST
Ti consigliamo di utilizzare la console Google Cloud o Google Cloud CLI per concedere un ruolo all'account di servizio.
Passaggi successivi
Scopri come creare visualizzazioni dei log in un bucket dei log. Le visualizzazioni dei log ti consentono di concedere alle entità l'accesso in lettura a un sottoinsieme di voci di log memorizzate in un bucket di log.
Per informazioni sulla gestione dei canali esistenti, consulta Indirizzare i log alle destinazioni supportate: gestire i canali.
Se riscontri problemi durante l'utilizzo dei sink per instradare i log, consulta Risolvere i problemi di routing e sink.
Per scoprire come visualizzare i log nelle relative destinazioni, nonché come vengono formattati e organizzati, consulta Visualizza i log nelle destinazioni sink
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-12-19 UTC.
-