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

Se vuoi controllare le voci di log su cui è possibile eseguire query in queste risorse, o instradato attraverso i sink di queste risorse, puoi configurare un sink aggregato non è una funzione di intercettazione o intercettazione:

  • Un sink aggregato non intercettante inoltra le voci di log tramite i sink nelle risorse figlie. Con questo sink, mantieni la visibilità delle voci di log nel e le 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 nell' bucket di log, nonché nelle risorse in cui le voci di log 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, considera gli audit log di accesso ai dati, che essere di grandi dimensioni e costoso archiviare più copie. Se hai gli audit log di accesso ai dati, potresti creare un'intercetta sink che instrada tutti gli audit log di accesso ai dati a un progetto centrale per l'analisi. Questo sink di intercettazione impedisce anche ai sink nelle risorse figlio di eseguire il routing 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é vengono intercettati, non vengono conteggiati ai fini delle metriche basate su log e i criteri di avviso basati su log nelle risorse figlio. Puoi visualizzare le intercette nella pagina Router dei log delle risorse figlio.

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ò archiviare le voci di log ricevute da più progetti Google Cloud. Il bucket di log può trovarsi nello stesso progetto in cui hanno origine le voci di log. in un altro progetto. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Panoramica delle query e delle visualizzazioni dei log e visualizzare i log con routing ai bucket Cloud Logging.

    Puoi combinare I dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log da utilizzare Analisi dei log e la creazione di un set di dati collegato, che è di sola lettura set di dati su cui è possibile eseguire query da BigQuery Studio e Looker Studio pagine.

  • 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 possono trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto. 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 origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log indirizzate a Cloud Storage: consulta Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce il supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e quindi instradate a un Pub/Sub per ogni argomento. L'argomento può trovarsi nello stesso progetto in cui si trovano le voci di log o in un altro progetto. 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: esegui il routing delle 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 l'intercettazione dei 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 figlio necessita del controllo indipendente di determinate di log, assicurati che il sink di intercettazione non le instrada le voci di log.

  • Aggiungi i dati di contatto alla descrizione di un sink di intercettazione. Questa funzionalità potrebbe essere utile se chi gestisce l'incanalamento con intercettazione è diverso da chi gestisce i progetti di cui vengono intercettate le voci di log.

  • Testa la configurazione del sink creando prima un elemento aggregato non intercettabile per garantire che vengano instradate le voci di log corrette.

Destinazioni aggregate e Controlli di servizio VPC

Quando utilizzi i canali aggregati e Controlli di servizio VPC, si applicano le seguenti limitazioni:

  • I sink aggregati possono accedere ai dati dei progetti all'interno di un servizio perimetrale. Per impedire ai sink aggregati di accedere ai dati all'interno di un è consigliabile usare IAM per gestire Autorizzazioni di logging.

  • Controlli di servizio VPC non supporta l'aggiunta di risorse di organizzazioni o cartelle ai perimetri di servizio. Di conseguenza, non puoi utilizzare VPC Service Controls per proteggere i log a livello di cartella e di organizzazione, inclusi i log aggregati. Per gestire il logging a livello di cartella o organizzazione, ti consigliamo di o IAM.

  • Se esegui il routing dei log utilizzando un sink a livello di cartella o organizzazione verso un risorsa protetta da un perimetro di servizio, devi aggiungere in entrata nel 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 usare ANY_SERVICE_ACCOUNT e ANY_USER_ACCOUNT come tipo di identità quando utilizzi un sink di log per il routing dei 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 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 stai instradando 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 modificare i sink. Per informazioni sull'impostazione dei ruoli IAM, consulta il Guida al controllo dell'accesso per il logging.

  • Hai una risorsa in una destinazione supportata o hai la possibilità di crearne una.

    La destinazione deve essere creata prima del sink, mediante Google Cloud CLI, la console Google Cloud o l'app su quelle di livello inferiore. 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.

    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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Creare un sink aggregato

Console

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

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

    Vai a Router dei log

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

    • (Facoltativo) Descrizione sink: descrivi lo scopo o il caso d'uso per nel lavandino.

  5. Esegui una di queste operazioni:

    • Per creare un sink di intercettazione, nel menu Seleziona servizio sink: seleziona Progetto Google Cloud, quindi inserisci il nome completo per la 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 eseguire il routing delle voci di log a un altro progetto Google Cloud, seleziona progetto Google Cloud, quindi inserisci il modello nome della destinazione. Per informazioni sulla sintassi, consulta Formati del percorso di destinazione:

      • Per eseguire il routing delle voci di log a un servizio corrispondente progetto Google Cloud, seleziona una delle seguenti opzioni:

        • Set di dati BigQuery: seleziona o crea il set di dati specifico per ricevere le voci di log instradate. Hai anche la possibilità di per utilizzare tabelle partizionate.
        • Bucket Cloud Storage: seleziona o crea l'elemento Bucket Cloud Storage 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 tuo Splunk completamente gestito di Google Cloud.
      • Per inoltrare le voci di log a un servizio in un altro progetto Google Cloud:

        1. Seleziona Altre risorse.
        2. 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
          
  6. 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 intercettabile, seleziona Includi log importati da questa risorsa e da tutte le risorse figlio.

  7. Completa la finestra di dialogo inserendo un'espressione filtro nel campo Crea filtro di inclusione che corrisponda alle voci di log da includere. Se non imposti un filtro, verranno applicate tutte le voci di log dell'elenco vengono instradate 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 Crea filtri per i sink aggregati.

    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. Nel campo Nome filtro di esclusione, inserisci un nome.

    2. Nel campo Crea un filtro di esclusione, inserisci un un'espressione di filtro corrisponde 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 le voci di log di un progetto specifico da essere indirizzato alla destinazione, aggiungi il seguente filtro di esclusione:

      logName:projects/PROJECT_ID
      

      Per escludere le voci di log da 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 20.000 caratteri.

  10. Seleziona Crea sink.

  11. Concedi all'account di servizio per il sink l'autorizzazione di scrittura le voci di log nella destinazione del sink. Per ulteriori informazioni, vedi Imposta le autorizzazioni della destinazione.

gcloud

Per creare un sink aggregato, utilizza logging sinks create :

  1. Per creare un sink, chiama 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 dove vuoi instradare le voci di log.
    • INCLUSION_FILTER: il filtro di inclusione per un sink. Per esempi di filtri, consulta Crea filtri per i sink 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"
  2. 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 o folders.sinks.create dell'API Logging. Prepara gli argomenti per il metodo come segue:

  1. Imposta il campo parent come organizzazione Google Cloud oppure cartella in cui creare il sink. Il publisher 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:

    • Imposta includeChildren su True.

    • Per creare un sink di intercettazione, imposta anche il valore interceptChildren su True.

  3. Imposta il campo filter in modo che corrisponda alle voci di log da includere.

    Per esempi di filtri, consulta Crea filtri per i sink aggregati.

    La lunghezza di un filtro non può superare i 20.000 caratteri.

  4. Imposta i restanti campi LogSink come faresti per qualsiasi destinazione. Per ulteriori informazioni, consulta Indirizzare i log alle destinazioni supportate.

  5. Chiama il numero organizations.sinks.create o folders.sinks.create a e creare il sink.

  6. Concedi all'account di servizio l'autorizzazione di scrittura nel sink destinazione. Per ulteriori informazioni, consulta Impostare le autorizzazioni di destinazione.

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

Crea filtri per i sink aggregati

Come qualsiasi destinazione, la destinazione aggregata 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 di filtri utili quando si utilizza il metodo la funzionalità dei sink aggregati. 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 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 viene inviato alla risorsa figlio. 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 che configura un sink aggregato per un'organizzazione con il filtro seguente:

resource.type="gce_instance"

Con il filtro precedente, le voci di log con un tipo di risorsa Istanze di Compute Engine scritte in qualsiasi elemento figlio di quell'organizzazione vengono instradate alla destinazione dal sink aggregato.

Tuttavia, potrebbero verificarsi situazioni in cui vuoi utilizzare un sink aggregato solo per il routing delle voci di log da risorse figlio 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 eseguire il routing delle voci di log da una cartella e da tutti i progetti quella cartella il filtro deve elencare la cartella e ognuno dei progetti contenuti quella cartella, oltre a 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 inoltrare 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 vengono secondari di my-folder non vengono indirizzati alla destinazione.

Seleziona la risorsa monitorata

a eseguire il routing delle voci di log solo da una specifica risorsa monitorata in un progetto Google Cloud, utilizza più confronti per specificare la risorsa esattamente:

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 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.

Imposta autorizzazioni per la 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'intera di ruoli e autorizzazioni di Logging, consulta Controllo dell'accesso.

Quando crei o aggiorni un sink che instrada le voci di log a qualsiasi destinazione diversa rispetto a un bucket di log nel progetto attuale, un account di servizio per quel sink è obbligatorio. Logging crea e gestisce automaticamente un 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 account di fatturazione.
  • Prima del 22 maggio 2023, Logging ha creato un servizio per ogni sink. A partire dal 22 maggio 2023, Logging utilizza un account di servizio condiviso per tutti gli sink nella risorsa di base.

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

Per instradare le voci di log a una risorsa protetta da un perimetro di servizio, devi aggiungere l'account di servizio per quel sink a un livello di accesso, quindi e assegnarlo al perimetro di servizio di destinazione. Questo non è necessario per i canali 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 ottenere 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 utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    2. Seleziona Menu, quindi scegli Visualizza i dettagli del sink. L'identità dell'autore viene visualizzata nella Riquadro Dettagli sink.

    3. Se il valore del campo writerIdentity contiene un indirizzo email, quindi procedi al passaggio successivo. Se il valore è None, non devi configurare le autorizzazioni della destinazione.

    4. Copia l'identità writer del sink negli appunti. La stringa serviceAccount: fa parte dell'identità dell'account di servizio. Ad esempio:

      serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
      
    5. Aggiungi l'account di servizio come entità IAM nel progetto di destinazione:

      1. Nella console Google Cloud, vai alla pagina IAM:

        Vai a IAM

        Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e Console di amministrazione.

      2. Seleziona il progetto di destinazione.

      3. Fai clic su Concedi l'accesso.

      4. Concedi all'account di servizio il ruolo IAM richiesto:

        • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale 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 Logging in diverse Per i progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM e poi assegnargli Ruolo Writer 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'autorizzazione logging.logEntries.route.

gcloud

  1. 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.

  2. Per ottenere informazioni sull'account di servizio per la destinazione, chiama il metodo gcloud logging sinks describe.

    Prima di utilizzare il seguente comando, apporta 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
    
  3. Se i dettagli della destinazione contengono un campo denominato writerIdentity, vai al passaggio successivo. Se i dettagli non includono un writerIdentity non devi configurare le autorizzazioni di destinazione per il sink.

  4. Copia l'identità writer del sink negli appunti. La stringa serviceAccount: è nell'identità dell'account di servizio.

    L'identità dell'autore per l'account di servizio è simile alla seguente:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  5. 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, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'identificatore del progetto.
    • PRINCIPAL: un identificatore per l'entità da utilizzare concedere il ruolo. Di solito, gli identificatori entità hanno il seguente formato: PRINCIPAL-TYPE:ID. Ad esempio: user:my-user@example.com. Per un elenco completo dei formati che PRINCIPAL 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à writer del sink come entità mediante IAM, quindi assegnale Ruolo di 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 Logging in diverse Per i progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM e poi assegnargli Ruolo Writer 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'autorizzazione logging.logEntries.route.

    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