Colla e instrada i log a livello di organizzazione e cartella verso destinazioni supportate

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 instradano le voci di log dalle risorse contenute in un'organizzazione o in una cartella a una destinazione.

Se vuoi controllare i log su cui è possibile eseguire query in queste risorse o instradare tramite i sink di queste risorse, puoi configurare un sink aggregato in modo che non intercetti o intercettano:

  • Un sink aggregato non intercettato instrada i log tramite i sink nelle risorse figlio. Con questo sink, manterrai la visibilità dei log nelle risorse in cui sono stati generati. I sink che non intercettano non sono visibili alle risorse figlio.

    Ad esempio, puoi creare un sink aggregato di non intercettazione che indirizza tutte le voci di log generate dalle cartelle contenute da un'organizzazione a un bucket Cloud Storage centrale. I log sono archiviati nel bucket Cloud Storage centrale e anche nelle risorse in cui sono stati generati.

  • Un intercettazione del sink aggregato impedisce il routing dei log tramite sink nelle risorse figlio, ad eccezione dei sink _Required. Questo sink può essere utile per impedire l'archiviazione di copie duplicate dei log in più posizioni.

    Ad esempio, prendi in considerazione gli audit log di accesso ai dati, che possono avere volumi elevati e costi di archiviazione di più copie. Se hai abilitato gli audit log di accesso ai dati, puoi creare un sink di intercettazione a livello di cartella che instrada 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 figlio di eseguire il routing delle copie dei log altrove.

    L'intercettazione dei sink impedisce il passaggio dei log attraverso il router dei 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 o degli avvisi basati su log nelle risorse figlio. Puoi visualizzare i sink intercettati nella pagina Router dei log delle risorse figlio.

Per informazioni sulla gestione dei sink, consulta Eseguire il routing dei log alle destinazioni supportate: gestire i sink.

Puoi creare fino a 200 sink per cartella o organizzazione.

Destinazioni supportate

Puoi utilizzare sink aggregati non intercettati per eseguire il routing dei log all'interno o tra le stesse organizzazioni e cartelle verso le seguenti destinazioni:

  • Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può archiviare le voci di log ricevute da più progetti Google Cloud. Per combinare i dati di Cloud Logging con altri dati, esegui l'upgrade di un bucket di log in modo da utilizzare Analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Eseguire query e visualizzare la panoramica dei log e Visualizzare i log con routing a bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log nei set di dati BigQuery. Puoi utilizzare le funzionalità di analisi dei big data nelle voci di log archiviate. Per combinare i dati di Cloud Logging con altre origini dati, ti consigliamo di eseguire l'upgrade dei bucket di log in modo da utilizzare l'analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log instradate a BigQuery, consulta Visualizzare i log con routing a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Le voci dei log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log instradate a Cloud Storage, consulta Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce assistenza per le integrazioni di terze parti. Le voci dei log vengono formattate in JSON e quindi instradate a un argomento Pub/Sub. Per informazioni sulla visualizzazione delle voci di log instradate a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
  • Splunk: fornisce il supporto per Splunk. Devi eseguire il routing delle voci di log a un argomento Pub/Sub e poi sottoscrivere l'argomento utilizzando Splunk.
  • Progetto Google Cloud: esegui il routing delle voci di log a un altro progetto Google Cloud. Quando esegui il routing delle voci di log a un altro progetto Google Cloud, il router dei log del progetto di destinazione riceve le voci di log e le elabora. I sink nel progetto di destinazione determinano il modo in cui vengono instradate le voci di log ricevute. Error Reporting può analizzare le voci di log quando il progetto di destinazione le instrada a un bucket di log di proprietà del progetto di destinazione.
  • Altre risorse: instrada le voci di log a una destinazione supportata che si trova in un altro progetto. Per informazioni sui percorsi da utilizzare, consulta Formati del percorso di destinazione.

Best practice per l'intercettazione dei sink

Quando crei un sink di intercettazione, segui questi passaggi:

  • Valuta se le risorse figlio hanno bisogno di un controllo indipendente per il routing dei log. Se una risorsa figlio deve avere il controllo indipendente di determinati log, assicurati che il sink di intercettazione non instrada questi log.

  • Aggiungi i dati di contatto alla descrizione di un sink di intercettazione. Ciò potrebbe essere utile se coloro che gestiscono il sink di intercettazione sono diversi da quelli che gestiscono i progetti i cui log vengono intercettati.

  • Testa la configurazione del sink creando prima un sink aggregato di non intercettazione per garantire il routing dei log corretti.

Sink aggregati e Controlli di servizio VPC

Quando utilizzi sink aggregati e Controlli di servizio VPC si applicano le seguenti limitazioni:

  • I sink aggregati possono accedere ai dati dei progetti all'interno di un perimetro di 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 dell'organizzazione o di cartelle ai perimetri di servizio. Pertanto, non puoi utilizzare Controlli di servizio VPC per proteggere i log a livello di cartella e organizzazione, inclusi i log aggregati. Per gestire le autorizzazioni di Logging a livello di cartella o organizzazione, consigliamo di utilizzare IAM.

  • Se esegui il routing dei log utilizzando un sink a livello di cartella o organizzazione su una risorsa protetta da un perimetro di servizio, devi aggiungere una regola in entrata al perimetro di servizio. La regola in entrata deve consentire l'accesso alla risorsa dall'account di servizio utilizzato dal sink aggregato. Per ulteriori informazioni, consulta le seguenti pagine:

  • Quando specifichi un criterio in entrata o in uscita per un perimetro di servizio, non puoi utilizzare ANY_SERVICE_ACCOUNT e ANY_USER_ACCOUNT come tipo di identità quando utilizzi un sink di log per instradare i log alle risorse Cloud Storage. Tuttavia, puoi utilizzare ANY_IDENTITY come tipo di identità.

Prima di iniziare

Prima di creare un sink, verifica quanto segue:

  • Disponi di una cartella o un'organizzazione Google Cloud con log che puoi visualizzare in Esplora log.

  • Devi disporre di uno dei seguenti ruoli IAM per l'organizzazione o la cartella Google Cloud da cui esegui il routing dei log.

    • Proprietario (roles/owner)
    • Amministratore Logging (roles/logging.admin)
    • Writer configurazione log (roles/logging.configWriter)

    Le autorizzazioni contenute in questi ruoli consentono di creare, eliminare o modificare i sink. Per informazioni sull'impostazione dei ruoli IAM, consulta la guida al controllo dell'accesso di Logging.

  • Hai una risorsa in una destinazione supportata o puoi crearne una.

    La destinazione di routing deve essere creata prima del sink tramite Google Cloud CLI, la console Google Cloud o le API Google Cloud. Puoi creare la destinazione in qualsiasi progetto Google Cloud in qualsiasi organizzazione, ma devi assicurarti che l'account di servizio del sink disponga delle autorizzazioni per scrivere nella destinazione.

Crea un sink aggregato

Per creare un sink aggregato non intercettato, crea un sink in un'organizzazione o una cartella Google Cloud e imposta il parametro includeChildren del sink su True. Quando imposti il parametro includeChildren, il sink indirizza le voci di log dall'organizzazione o dalla cartella, oltre che (in modo ricorsivo) da qualsiasi cartella, account di fatturazione o progetto Google Cloud incluso. Per creare un sink di intercettazione, imposta entrambi i parametri includeChildren e interceptChildren su True.

Per specificare le voci di log che vuoi indirizzare alla tua destinazione, imposta i filtri di inclusione ed esclusione del sink.

Per creare un sink aggregato per la cartella o l'organizzazione:

Console

  1. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Router dei log:

    Vai a Router dei log

  2. Seleziona una cartella o un'organizzazione esistente.

  3. Seleziona Crea sink.

  4. Nel riquadro Dettagli sink, inserisci i seguenti dettagli:

    • Nome sink: fornisci un identificatore per il sink. Tieni presente che, dopo aver creato il sink, non puoi rinominare quest'ultimo, ma puoi eliminarlo e crearne uno nuovo.

    • Descrizione sink (facoltativa): descrivi lo scopo o il caso d'uso del sink.

  5. Nel riquadro Destinazione sink, seleziona il servizio sink e la destinazione:

    • Seleziona servizio sink: seleziona il servizio in cui vuoi indirizzare i log. Se stai creando un sink di intercettazione, puoi selezionare solo un progetto Google Cloud come destinazione.

    In base al servizio selezionato, puoi scegliere tra le seguenti destinazioni:

    • Bucket Cloud Logging: seleziona o crea un bucket Logging. Se crei un bucket di log, deve essere a livello di progetto. Non puoi creare un bucket di log a livello di cartella o organizzazione.
    • Tabella BigQuery: seleziona o crea il set di dati specifico per ricevere i log con routing. Puoi anche utilizzare le tabelle partizionate.
    • Bucket Cloud Storage: seleziona o crea il bucket Cloud Storage specifico per ricevere i log con routing.
    • Argomento Pub/Sub: seleziona o crea l'argomento specifico per ricevere i log con routing.
    • Splunk: seleziona l'argomento Pub/Sub per il tuo servizio Splunk.
    • Progetto Google Cloud: seleziona il progetto Google Cloud per ricevere i log delle route.

      Ad esempio, se la destinazione del sink è un set di dati BigQuery, la destinazione del sink sarà la seguente:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  6. Nel riquadro Scegli i log da includere nel sink, esegui una delle seguenti operazioni:

    • Per creare un sink aggregato che non intercetta, seleziona Includi i log importati da questa risorsa e da tutte le risorse figlio.

    • Per creare un sink di intercettazione, seleziona Intercetta i log importati da questa organizzazione e da tutte le risorse figlio.

  7. Completa la finestra di dialogo inserendo nel campo Crea filtro di inclusione un'espressione di filtro corrispondente alle voci di log che vuoi includere. Se non imposti un filtro, tutti i log della risorsa selezionata vengono instradati alla destinazione.

    Ad esempio, potresti voler creare un filtro per instradare tutti gli audit log di accesso ai dati a un singolo bucket di Logging. Questo filtro è simile al seguente:

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.

  8. (Facoltativo) Per verificare di aver inserito il filtro corretto, seleziona Visualizza l'anteprima dei log. Si apre Esplora log in una nuova scheda con il filtro precompilato.

  9. (Facoltativo) Nel riquadro Scegli i log da escludere dal sink, segui questi passaggi:

    1. Inserisci un nome nel campo Nome filtro di esclusione.

    2. Nel campo Crea un filtro di esclusione, inserisci un'espressione di filtro che corrisponda alle voci di log da escludere. Puoi anche utilizzare la funzione sample per selezionare una parte delle voci di log da escludere.

      Ad esempio, per escludere i log di un progetto specifico dal routing alla destinazione, aggiungi il seguente filtro di esclusione:

      logName:projects/PROJECT_ID
      

      Per escludere i log da più progetti, utilizza l'operatore logico OR per unire le clausole logName.

    Puoi creare fino a 50 filtri di esclusione per sink. Tieni presente che la lunghezza di un filtro non può superare 20.000 caratteri.

  10. Seleziona Crea sink.

API

Per creare un sink, utilizza organizations.sinks.create o folders.sinks.create nell'API Logging. Prepara gli argomenti del metodo come segue:

  1. Imposta il parametro parent sull'organizzazione o sulla cartella Google Cloud in cui creare il sink. L'elemento padre deve essere uno dei seguenti:

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
  2. Nell'oggetto LogSink nel corpo della richiesta del metodo, esegui una delle seguenti operazioni:

    • Per creare un sink aggregato che non intercetta, imposta includeChildren su True.

    • Per creare un sink di intercettazione, imposta i parametri includeChildren e interceptChildren su True.

  3. Imposta la proprietà filter in modo che corrisponda alle voci di log da includere. Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.

    Per alcuni esempi di filtri utili, consulta la pagina Creare filtri per i sink aggregati.

  4. Imposta i restanti campi LogSink come faresti per qualsiasi sink. Per maggiori informazioni, consulta Eseguire il routing dei log alle destinazioni supportate.

  5. Chiama organizations.sinks.create o folders.sinks.create per creare il sink.

  6. Recupera il nome dell'account di servizio dal campo writer_identity restituito dalla risposta dell'API.

  7. Concedi a quell'account di servizio l'autorizzazione a scrivere nella destinazione del sink.

    Se non disponi dell'autorizzazione per apportare questa modifica alla destinazione del sink, invia il nome dell'account di servizio a qualcuno che possa apportare questa modifica per te.

    Per ulteriori informazioni sulla concessione delle autorizzazioni degli account di servizio per le risorse, consulta la sezione Impostare le autorizzazioni di destinazione.

gcloud

Per creare un sink aggregato, utilizza il comando logging sinks create. Per creare un sink aggregato non intercettato, specifica il flag --include-children. Per creare un sink di intercettazione, specifica entrambi i flag --include-children e --intercept-children.

  1. Fornisci il nome del sink, la destinazione del sink, il filtro e l'ID della cartella o dell'organizzazione da cui esegui il routing dei log. L'esempio seguente crea un sink aggregato che non viene intercettato:

    gcloud logging sinks create SINK_NAME \
      SINK_DESTINATION  --include-children \
      --folder=FOLDER_ID --log-filter="LOG_FILTER"
    

    Ad esempio, se stai creando un sink aggregato a livello di cartella e la cui destinazione è un set di dati BigQuery, il comando potrebbe avere il seguente aspetto:

    gcloud logging sinks create SINK_NAME \
      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID --include-children \
      --folder=FOLDER_ID --log-filter="logName:activity"
    

    Note

    • Per creare un sink a livello di organizzazione, sostituisci --folder=FOLDER_ID con --organization=ORGANIZATION_ID.

    • Affinché il sink includa tutte le risorse all'interno dell'organizzazione, è necessario impostare il flag --include-children, anche quando il flag --organization viene passato a create. Se impostato su false (valore predefinito), un sink instrada solo i log dalla risorsa host.

    • Per alcuni esempi di filtri utili, consulta la pagina Creare filtri per i sink aggregati.

  2. Recupera il nome dell'account di servizio utilizzato per creare il sink dall'output comando.

  3. Concedi all'account di servizio l'autorizzazione a scrivere nella destinazione del sink.

    Se non disponi dell'autorizzazione per apportare questa modifica alla destinazione del sink, invia il nome dell'account di servizio a qualcuno che possa apportare questa modifica per te.

    Per ulteriori informazioni sulla concessione delle autorizzazioni degli account di servizio per le risorse, consulta la sezione Impostare le autorizzazioni di destinazione.

L'applicazione delle modifiche apportate a un sink potrebbe richiedere alcuni minuti.

Crea filtri per i sink aggregati

Come per qualsiasi sink, anche il sink aggregato contiene un filtro che seleziona le singole voci di log. Per esempi di filtri che potresti utilizzare per creare il sink aggregato, consulta Esempi di query utilizzando Esplora log.

Di seguito sono riportati alcuni esempi di confronti di filtri utili quando si utilizza la funzionalità dei sink aggregati. Alcuni esempi utilizzano la seguente notazione:

  • : è l'operatore di sottostringa. Non sostituire l'operatore =.
  • ... rappresenta eventuali ulteriori confronti di filtri.
  • Le variabili sono indicate da un testo colorato. Sostituiscile con valori validi.

Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.

Per maggiori dettagli sulla sintassi di filtro, consulta Linguaggio delle query di Logging.

Seleziona la sorgente log

Per un sink aggregato, per ogni risorsa secondaria dell'organizzazione o della cartella vengono applicati i filtri di inclusione ed esclusione del sink a ogni voce di log inviata alla risorsa figlio. Viene instradata una voce di log che corrisponde al filtro di inclusione e non è esclusa.

Se vuoi che il sink instrada i log da tutte le risorse figlio, non specificare un progetto, una cartella o un'organizzazione nei filtri di inclusione ed esclusione del sink. Ad esempio, supponi di configurare un sink aggregato per un'organizzazione con il seguente filtro:

resource.type="gce_instance"

Con il filtro precedente, i log con un tipo di risorsa di istanze di Compute Engine scritte in qualsiasi organizzazione secondaria di quell'organizzazione vengono instradati alla destinazione dal sink aggregato.

Tuttavia, potrebbero verificarsi situazioni in cui utilizzare un sink aggregato per instradare i log solo da risorse figlio specifiche. Ad esempio, per motivi di conformità, potresti voler archiviare gli audit log di cartelle o progetti specifici nel proprio bucket Cloud Storage. In queste situazioni, configura il filtro di inclusione in modo da specificare ogni risorsa figlio di cui vuoi eseguire il routing dei log. Se vuoi eseguire il routing dei log da una cartella e da tutti i progetti al suo interno, il filtro deve elencare la cartella e tutti i progetti contenuti nella cartella e anche unire le istruzioni con una clausola OR.

I seguenti filtri limitano i log a organizzazioni, cartelle o progetti specifici di Google Cloud:

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 i log scritti su istanze di Compute Engine scritte nella cartella my-folder, utilizza il filtro seguente:

logName:"folders/my-folder/logs/" AND resource.type="gce_instance"

Con il filtro precedente, i log scritti in qualsiasi risorsa diversa da my-folder, inclusi quelli scritti nei progetti Google Cloud figlio di my-folder, non vengono instradati alla destinazione.

Seleziona la risorsa monitorata

Per instradare i log solo da una specifica risorsa monitorata 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 esempio di voci di log

Per instradare un campione casuale di voci di log, aggiungi la funzione integrata sample. Ad esempio, per instradare solo il dieci% delle voci di log corrispondenti al filtro attuale, utilizza questa aggiunta:

sample(insertId, 0.10) AND ...

Per ulteriori informazioni, consulta la funzione sample.

Per ulteriori informazioni sui filtri di Cloud Logging, consulta il linguaggio delle query di Logging.

Imposta le autorizzazioni della destinazione

Questa sezione descrive come concedere a Logging le autorizzazioni Identity and Access Management per scrivere i log nella destinazione del sink. Per l'elenco completo dei ruoli e delle autorizzazioni di Logging, consulta Controllo dell'accesso.

Quando crei o aggiorni un sink che indirizza i log a qualsiasi destinazione diversa da un bucket di log nel progetto attuale, è necessario un account di servizio per quel sink. Logging crea e gestisce automaticamente l'account di servizio per conto tuo:

  • A partire dal 22 maggio 2023, quando crei un sink e non esiste nessun account di servizio per la risorsa sottostante, Logging crea l'account di servizio. Logging utilizza lo stesso account di servizio per tutti i 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 ha creato un account di servizio per ogni sink. A partire dal 22 maggio 2023, Logging utilizza un account di servizio condiviso per tutti i sink nella risorsa sottostante.

L'identità autore di un sink è l'identificatore dell'account di servizio associato al sink. Tutti i sink hanno un'identità autore, a meno che non scrivono in un bucket di log nel progetto Google Cloud attuale.

Per eseguire il routing dei log su una risorsa protetta da un perimetro di servizio, devi aggiungere l'account di servizio per il sink a un livello di accesso e poi assegnarlo al perimetro di servizio di destinazione. Ciò non è necessario per i sink non aggregati. Per i dettagli, consulta Controlli di servizio VPC: Cloud Logging.

Per impostare le autorizzazioni per il routing del sink alla destinazione:

Console

  1. Per ottenere informazioni sull'account di servizio per il sink:

    1. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Router dei log:

      Vai a Router dei log

    2. Seleziona Menu, quindi Visualizza dettagli sink.

      Nel riquadro Dettagli sink, il campo writerIdentity contiene l'identità dell'account di servizio. La stringa serviceAccount: fa parte dell'identità dell'account di servizio. Ad esempio:

      serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
      
  2. Nel progetto di destinazione, concedi all'identità dell'autore il ruolo necessario all'account di servizio per scrivere nella destinazione. Per concedere un ruolo a un'entità, devi avere il ruolo di Proprietario (roles/owner):

    • Per le destinazioni Cloud Storage, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedi al ruolo Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diversi progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedile il ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Writer log (roles/logging.logWriter). In particolare, un'entità ha bisogno dell'autorizzazione logging.logEntries.route.
    Se non disponi dell'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità autore come entità.

API

  1. Per ottenere informazioni sull'account di servizio per il sink, chiama il metodo API organizations.sinks.get o folders.sinks.get.

    Il campo writerIdentity contiene l'identità dell'account di servizio. La stringa serviceAccount: fa parte dell'identità dell'account di servizio. Ad esempio:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Nel progetto di destinazione, concedi all'identità dell'autore il ruolo necessario all'account di servizio per scrivere nella destinazione. Per concedere un ruolo a un'entità, devi avere il ruolo di Proprietario (roles/owner):

    • Per le destinazioni Cloud Storage, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedi al ruolo Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diversi progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedile il ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Writer log (roles/logging.logWriter). In particolare, un'entità ha bisogno dell'autorizzazione logging.logEntries.route.
    Se non disponi dell'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità autore come entità.

gcloud

  1. Per ottenere informazioni sull'account di servizio per il sink, esegui questo comando:

    gcloud logging sinks describe SINK_NAME
    

    Il campo writerIdentity contiene l'identità dell'account di servizio. La stringa serviceAccount: fa parte dell'identità dell'account di servizio. Ad esempio:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Nel progetto di destinazione, concedi all'identità dell'autore il ruolo necessario all'account di servizio per scrivere nella destinazione. Per concedere un ruolo a un'entità, devi avere il ruolo di Proprietario (roles/owner):

    • Per le destinazioni Cloud Storage, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedi al ruolo Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diversi progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi concedile il ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi l'identità autore del sink come entità utilizzando IAM, quindi assegnale il ruolo Writer log (roles/logging.logWriter). In particolare, un'entità ha bisogno dell'autorizzazione logging.logEntries.route.
    Se non disponi dell'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità autore come entità.

Passaggi successivi