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

Questo documento descrive come creare sink aggregati. I sink aggregati consentono di combinare e indirizzare 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 delle risorse contenute in un'organizzazione o in una cartella verso una destinazione.

Se vuoi controllare quali log è possibile interrogare in queste risorse o instradati tramite i sink in queste risorse, puoi configurare un sink aggregato in modo che non intercetti o intercetta:

  • Un sink aggregato non di intercettazione instrada i log attraverso i sink nelle risorse figlio. Con questo sink, mantieni la visibilità dei log nelle risorse in cui sono stati generati. I sink non di intercettazione non sono visibili alle risorse figlio.

    Ad esempio, puoi creare un sink aggregato non di intercettazione che instrada tutte le voci di log generate dalle cartelle contenute da un'organizzazione a un bucket Cloud Storage centrale. I log vengono 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 i sink nelle risorse figlio, ad eccezione dei sink _Required. Questo sink può essere utile per evitare che copie duplicate dei log vengano archiviate in più posizioni.

    Ad esempio, prendi in considerazione gli audit log di accesso ai dati, che possono avere volumi elevati e un'archiviazione di più copie costose. Se hai abilitato gli audit log di accesso ai dati, potresti 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 indirizzare le copie dei log altrove.

    I sink di intercettazione impediscono 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 basate su log o dei criteri di avviso basati su log nelle risorse figlio. Puoi visualizzare i sink di intercettazione nella pagina Router dei log delle risorse figlio.

Per informazioni sulla gestione dei sink, consulta Routing dei log alle destinazioni supportate: gestione dei sink.

Puoi creare fino a 200 sink per cartella o organizzazione.

Destinazioni supportate

Puoi utilizzare i sink aggregati non intercettando i log per instradare i 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ò archiviare le voci di log ricevute da più progetti Google Cloud. Per combinare i dati di Cloud Logging con altri, puoi eseguire l'upgrade di un bucket di log per l'utilizzo dell'analisi dei log e poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Panoramica dei log di query e visualizzazioni e Visualizzare i log con routing ai bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log nei set di dati BigQuery. Puoi usare 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 per utilizzare l'analisi dei log e poi di creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log indirizzate a BigQuery, consulta Visualizzare i log indirizzati a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Le voci di log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log indirizzate a Cloud Storage, vedi Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e quindi instradate a un argomento Pub/Sub. Per informazioni sulla visualizzazione delle voci di log indirizzate a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
  • Splunk: fornisce assistenza per Splunk. Devi instradare le voci di log a un argomento Pub/Sub e quindi 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 progetto Google Cloud diverso, 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 progetto diverso. Per informazioni sui percorsi da utilizzare, vedi Formati del percorso di destinazione.

Best practice per l'intercettazione dei sink

Quando crei un sink di intercettazione, ti consigliamo di procedere come segue:

  • Valuta se le risorse figlio necessitano di un controllo indipendente del routing dei log. Se una risorsa figlio ha bisogno del controllo indipendente di alcuni log, assicurati che il sink di intercettazione non instrada i log.

  • Aggiungi i dati di contatto alla descrizione di un sink di intercettazione. Questo potrebbe essere utile se chi gestisce il sink di intercettazione è diverso da chi gestisce i progetti i cui log vengono intercettati.

  • Testa la configurazione del sink creando prima un sink aggregato non intercettazione per garantire che vengano indirizzati i 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 cartelle o organizzazione 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 di organizzazione, consigliamo di utilizzare IAM.

  • Se esegui il routing dei log utilizzando un sink a livello di cartella o organizzazione verso 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 saperne di più, 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 di Cloud Storage. Tuttavia, puoi utilizzare ANY_IDENTITY come tipo di identità.

Prima di iniziare

Prima di creare un sink, verifica quanto segue:

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

  • Hai 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 di intercettazione, 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 instrada le voci di log dell'organizzazione o della cartella e (in modo ricorsivo) di tutte le cartelle, gli account di fatturazione o i progetti Google Cloud contenuti. Per creare un sink di intercettazione, imposta entrambi i parametri includeChildren e interceptChildren su True.

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

Per creare un sink aggregato per la cartella o l'organizzazione, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Router dei log:

    Vai a Router dei log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  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 il sink, ma puoi eliminarlo e creare un nuovo sink.

    • (Facoltativo) Descrizione sink: 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 a cui vuoi instradare 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 di 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 lo specifico set di dati per ricevere i log con routing. Puoi anche utilizzare le tabelle partizionate.
    • Bucket Cloud Storage: seleziona o crea lo specifico bucket Cloud Storage 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 non di intercettazione, 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 un'espressione di filtro nel campo Crea filtro di inclusione che corrisponda alle voci di log che vuoi includere. Se non imposti un filtro, tutti i log della risorsa selezionata vengono indirizzati alla destinazione.

    Ad esempio, potresti creare un filtro per instradare tutti gli audit log di accesso ai dati a un singolo bucket di Logging. Questo filtro ha il seguente aspetto:

    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 Anteprima log. Esplora log si apre in una nuova scheda con il filtro precompilato.

  9. (Facoltativo) Nel riquadro Scegli i log da escludere dal sink:

    1. Nel campo Nome filtro di esclusione, inserisci un nome.

    2. Nel campo Crea un filtro di esclusione, inserisci un'espressione di filtro che corrisponda 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 i log di un progetto specifico dall'indirizzamento 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 i 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 per il metodo come segue:

  1. Imposta il parametro parent come l'organizzazione o la cartella Google Cloud in cui creare il sink. L'elemento principale 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 non intercettabile, 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 Creare filtri per i sink aggregati.

  4. Imposta i restanti campi LogSink come faresti per qualsiasi sink. Per ulteriori informazioni, consulta 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 API.

  7. Concedi all'account di servizio l'autorizzazione per scrivere nella destinazione del sink.

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

    Per ulteriori informazioni sulla concessione delle autorizzazioni agli 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 intercettabile, specifica il flag --include-children. Per creare un sink di intercettazione, specifica entrambi i flag --include-children e --intercept-children.

  1. Specifica il nome del sink, la destinazione, il filtro e l'ID della cartella o dell'organizzazione da cui esegui il routing dei log: nell'esempio seguente viene creato un sink aggregato non di intercettazione:

    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 tuo 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 il criterio viene impostato su false (valore predefinito), un sink instrada solo i log dalla risorsa host.

    • Per alcuni esempi di filtri utili, consulta 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 per scrivere nella destinazione del sink.

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

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

L'applicazione di qualsiasi modifica apportata a un sink potrebbe richiedere alcuni minuti.

Crea filtri per i sink aggregati

Come ogni altro sink, il sink aggregato contiene un filtro che seleziona singole voci di log. Per esempi di filtri che potresti utilizzare per creare il sink aggregato, consulta Esempi di query con Esplora log.

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

  • : è l'operatore della sottostringa. Non sostituire l'operatore =.
  • ... rappresenta eventuali confronti aggiuntivi di 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 maggiori dettagli sulla sintassi dei filtri, consulta Linguaggio di query di Logging.

Seleziona la sorgente log

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

Se vuoi che il sink esegua il routing dei log di 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 Compute Engine scritti in qualsiasi elemento figlio dell'organizzazione vengono instradati verso la destinazione dal sink aggregato.

Tuttavia, potrebbero verificarsi situazioni in cui vuoi utilizzare un sink aggregato per eseguire il routing dei log solo da risorse figlio specifiche. Ad esempio, per motivi di conformità, è consigliabile archiviare gli audit log di cartelle o progetti specifici nel relativo bucket Cloud Storage. In queste situazioni, configura il filtro di inclusione per specificare ogni risorsa secondaria di cui vuoi instradare i 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, nonché unire le istruzioni con una clausola OR.

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

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 eseguire il routing solo dei log scritti nelle istanze di 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, i log scritti in qualsiasi risorsa diversa da my-folder, inclusi quelli scritti nei progetti Google Cloud secondari di my-folder, non vengono instradati alla destinazione.

Seleziona la risorsa monitorata

Per eseguire il routing dei 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, vedi Tipi di risorse monitorate.

Seleziona un esempio di voci di log

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

sample(insertId, 0.10) AND ...

Per maggiori informazioni, consulta la funzione sample.

Per ulteriori informazioni sui filtri di Cloud Logging, consulta Linguaggio di query di Logging.

Imposta autorizzazioni per la 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 instrada 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 te:

  • 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 usa 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à writer di un sink è l'identificatore dell'account di servizio associato al sink. Tutti i sink hanno un'identità writer a meno che non scrivono in un bucket di log nel progetto Google Cloud attuale.

Per eseguire il routing dei log a una risorsa protetta da un perimetro di servizio, devi aggiungere l'account di servizio per il sink a un livello di accesso e 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 del sink in modo che venga instradato alla destinazione, segui questi passaggi:

Console

  1. Per ricevere informazioni sull'account di servizio per il sink, segui questi passaggi:

    1. Nella console Google Cloud, vai alla pagina Router dei log:

      Vai a Router dei log

      Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    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à writer il ruolo necessario affinché l'account di servizio scriva nella destinazione. Per concedere un ruolo a un'entità, devi disporre del ruolo Proprietario (roles/owner):

    • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in progetti Google Cloud diversi, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi assegna il ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Writer log (roles/logging.logWriter). In particolare, un'entità ha bisogno dell'autorizzazione logging.logEntries.route.
    Se non hai l'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità writer 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à writer il ruolo necessario affinché l'account di servizio scriva nella destinazione. Per concedere un ruolo a un'entità, devi disporre del ruolo Proprietario (roles/owner):

    • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in progetti Google Cloud diversi, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi assegna il ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM, quindi concedi il ruolo Writer log (roles/logging.logWriter). In particolare, un'entità ha bisogno dell'autorizzazione logging.logEntries.route.
    Se non hai l'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità writer 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à writer il ruolo necessario affinché l'account di servizio scriva nella destinazione. Per concedere un ruolo a un'entità, devi disporre del ruolo Proprietario (roles/owner):

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

Passaggi successivi