Panoramica dei sink aggregati

I sink aggregati consentono di raccogliere e instradare le voci di log da tutte le risorse all'interno di una cartella o di un'organizzazione a una destinazione supportata. Puoi utilizzare i sink aggregati per archiviare i dati dei log in una posizione centrale e controllare se le risorse figlio archiviano copie duplicate.

Informazioni sui sink aggregati

Un sink aggregato è un sink a livello di cartella o organizzazione che instrada le voci di log sia dalla risorsa in cui è definito il sink sia da tutte le relative risorse figlio. Come un sink a livello di progetto, un sink aggregato ha una destinazione e un filtro che determina le voci di log da instradare, ma un sink a livello di progetto instrada le voci di log solo da un singolo progetto.

Tipi di sink aggregati

Puoi creare due tipi di sink aggregati, di intercettazione e non di intercettazione , a seconda che tu voglia che anche le risorse figlio instradino le voci di log. Quando nella gerarchia delle risorse di una voce di log esistono sink aggregati, il router dei log invia la voce di log a questi sink per primi e il tipo di sink determina cosa succede dopo:

Sink aggregato di intercettazione

Un sink aggregato di intercettazione impedisce l'instradamento delle voci di log ai sink nelle risorse figlio, ad eccezione dei sink _Required nelle risorse in cui hanno origine le voci di log. Un sink aggregato di intercettazione può essere utile per impedire l'archiviazione di copie duplicate di voci di log in più posizioni.

Ad esempio, supponiamo che tu debba abilitare i log di controllo dell'accesso ai dati per scopi di controllo. Per semplificare l'analisi, vuoi archiviare questi log in una posizione centrale. Tuttavia, per motivi di sicurezza e di costi, vuoi anche impedire che questi log vengano archiviati a livello di progetto. Per questo scenario, puoi creare un sink aggregato di intercettazione.

Sink aggregato non di intercettazione

Un sink aggregato non di intercettazione non influisce sulla modalità di instradamento delle voci di log ad altri sink. Ciò significa che, anche quando una voce di log corrisponde al filtro di un sink aggregato non di intercettazione, viene inoltrata ad altri sink nella gerarchia delle risorse della voce di log. Un sink aggregato non di intercettazione ti consente di mantenere la visibilità delle voci di log nelle risorse in cui sono state generate.

Ad esempio, potresti creare un sink aggregato non di intercettazione che instrada 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. Tuttavia, poiché il sink non è di intercettazione, il router dei log invia le voci di log anche ai sink di log nella risorsa in cui sono state generate.

Esempi di routing

Questa sezione illustra il flusso di una voce di log che ha origine in un progetto attraverso i sink nella relativa gerarchia delle risorse.

Esempio: non esistono sink aggregati

Quando nella gerarchia delle risorse della voce di log non esistono sink aggregati, la voce di log viene inviata ai sink di log nel progetto in cui ha origine. Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.

Esempio: esiste un sink aggregato non di intercettazione

Supponiamo che nella gerarchia delle risorse di una voce di log esista un sink aggregato non di intercettazione. Dopo che il router dei log invia la voce di log al sink aggregato non di intercettazione, si verifica quanto segue:

  1. Il sink aggregato non di intercettazione instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione, ma non corrisponde a nessun filtro di esclusione.

  2. Il router dei log invia la voce di log ai sink di log nel progetto in cui ha origine.

    Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.

Esempio: esiste un sink aggregato di intercettazione

Supponiamo che nella gerarchia delle risorse di una voce di log esista un sink aggregato di intercettazione. Dopo che il router dei log invia la voce di log al sink aggregato di intercettazione, si verifica una delle seguenti condizioni:

  • La voce di log corrisponde al filtro di inclusione, ma non corrisponde a nessun filtro di esclusione:

    1. La voce di log viene instradata alla destinazione del sink aggregato di intercettazione.
    2. La voce di log viene inviata al sink _Required nel progetto in cui ha origine.
  • La voce di log non corrisponde al filtro di inclusione o corrisponde ad almeno un filtro di esclusione:

    1. La voce di log non viene instradata dal sink aggregato di intercettazione.
    2. Il router dei log invia la voce di log ai sink di log nel progetto in cui ha origine.

      Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.

Destinazioni supportate per i sink aggregati

Questa sezione elenca le destinazioni supportate per i sink aggregati.

Sink di intercettazione

La destinazione di un sink aggregato di intercettazione deve essere un Google Cloud progetto.

I sink di log nel progetto di destinazione reindirizzano le voci di log alle rispettive destinazioni. Sono supportate tutte le destinazioni, ad eccezione dei progetti. Ad esempio, i sink di log nel progetto di destinazione potrebbero reindirizzare le voci di log a un bucket di log.

Sink non di intercettazione

Questa sezione descrive le destinazioni supportate per i sink aggregati non di intercettazione.

La destinazione di un sink può trovarsi in una risorsa diversa dal sink. Ad esempio, puoi utilizzare un sink di log per instradare le voci di log da un progetto a un bucket di log archiviato in un progetto diverso.

Sono supportate le seguenti destinazioni:

Google Cloud project

Seleziona questa destinazione quando vuoi che i sink di log nel progetto di destinazione reindirizzino le voci di log o quando hai creato un sink aggregato di intercettazione. I sink di log nel progetto di destinazione possono reindirizzare le voci di log a qualsiasi destinazione supportata, ad eccezione di un progetto.

I sink di log creati dal sistema nel progetto di destinazione escludono le voci di log instradate al bucket di log _Required nel progetto di origine. Ad esempio, se instradi i log delle attività di amministrazione a un altro progetto, sia i sink di log _Required sia _Default nel progetto di destinazione escludono queste voci di log. Per archiviare queste voci di log, nel progetto di destinazione aggiorna il _Default sink di log o crea un sink di log personalizzato.

Bucket di log

Seleziona questa destinazione quando vuoi archiviare i dati dei log nelle risorse gestite da Cloud Logging. I dati dei log archiviati nei bucket di log possono essere visualizzati e analizzati utilizzando servizi come Esplora log e Observability Analytics.

Se vuoi unire i dati dei log ad altri dati aziendali, puoi archiviarli in un bucket di log e creare un set di dati BigQuery collegato. Un set di dati BigQuery collegato è di sola lettura, ma puoi eseguirvi query come qualsiasi altro set di dati BigQuery.

Set di dati BigQuery
Seleziona questa destinazione quando vuoi unire i dati dei log ad altri dati aziendali. Il set di dati specificato deve essere abilitato per la scrittura. Non impostare la destinazione di un sink come set di dati BigQuery collegato. I set di dati BigQuery collegati sono di sola lettura.
Bucket Cloud Storage
Seleziona questa destinazione quando vuoi archiviare i dati dei log a lungo termine. Il bucket Cloud Storage può trovarsi nel progetto in cui hanno origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON.
Argomento Pub/Sub
Seleziona questa destinazione quando vuoi esportare i dati dei log da Google Cloud e poi utilizzare integrazioni di terze parti come Splunk o Datadog. Le voci di log vengono formattate come JSON e poi instradate a un argomento Pub/Sub.

Best practice

Ti consigliamo di impostare come destinazione di un sink aggregato un Google Cloud progetto. Con questa destinazione, i sink di log nel progetto di destinazione Google Cloud reindirizzano le voci di log. Il sink _Required instrada solo le voci di log che corrispondono al relativo filtro e che hanno origine nella risorsa in cui è definito il sink. Pertanto, se vuoi archiviare copie aggiuntive delle voci di log che corrispondono al filtro del sink _Required, devi creare un sink di log personalizzato o modificare il filtro del sink di log _Default.

Quando crei un sink di intercettazione, ti consigliamo di procedere nel seguente modo:

  • Valuta se le risorse figlio hanno bisogno di un controllo indipendente dell'instradamento delle voci di log. Se una risorsa figlio ha bisogno di un controllo indipendente di determinate voci di log, verifica che il sink di intercettazione non instradi queste voci di log.

  • Aggiungi le informazioni di contatto alla descrizione di un sink di intercettazione. Questo potrebbe essere utile se le persone che gestiscono il sink di intercettazione sono diverse da quelle che gestiscono i progetti le cui voci di log vengono intercettate.

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

Sink aggregati di intercettazione e metriche basate su log

Le metriche basate su log sono Cloud Monitoring metriche derivate dal contenuto delle voci di log. La modalità di instradamento di una voce di log determina le metriche basate su log a cui può contribuire. Poiché un sink aggregato di intercettazione influisce sulla modalità di instradamento delle voci di log, la creazione di questo tipo di sink può comportare modifiche ai valori delle metriche basate su log esistenti.

Per ulteriori informazioni, vedi In che modo l'instradamento delle voci di log influisce sulle metriche basate su log.

Sink aggregati e Controlli di servizio VPC

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

  • Accesso ai log del progetto all'interno di un perimetro: i sink aggregati possono accedere ai dati dei log dei progetti all'interno di un perimetro di servizio. Per impedire ai sink aggregati di accedere ai dati all'interno di un perimetro, utilizza Identity and Access Management per gestire le autorizzazioni di Cloud Logging.

  • Dati dei log a livello di cartella e organizzazione: un perimetro di servizio dei Controlli di servizio VPC non protegge i dati dei log a livello di cartella o organizzazione, inclusi i dati dei log aggregati. Sebbene tu possa aggiungere una cartella a un perimetro di servizio regolare, in questo modo vengono protetti solo i progetti all'interno della gerarchia delle cartelle, non le risorse o i log a livello di cartella. Non puoi aggiungere un'organizzazione come risorsa protetta in un perimetro di servizio.

    Per gestire le autorizzazioni di Logging a livello di cartella o organizzazione, utilizza IAM.

  • Regole in entrata per le destinazioni protette dal perimetro: se instradi i log utilizzando un sink a livello di cartella o organizzazione a una risorsa protetta da un perimetro di servizio, devi aggiungere una regola in entrata al perimetro di servizio di destinazione. La regola in entrata deve consentire l'accesso alla risorsa dal account di servizio (identità del writer) utilizzato dal sink aggregato. Per ulteriori informazioni, consulta le seguenti pagine:

  • Limitazioni del tipo di identità nelle regole in entrata e in uscita: quando un sink di log aggregato instrada i log a una risorsa Cloud Storage che si trova nel perimetro dei Controlli di servizio VPC, la regola in entrata o in uscita non può utilizzare ANY_SERVICE_ACCOUNT o ANY_USER_ACCOUNT come tipo di identità. Utilizza invece ANY_IDENTITY come tipo di identità.

    Non è necessario configurare una regola in entrata per i sink non aggregati.

Passaggi successivi