Panoramica dei sink aggregati

Questo documento descrive i sink aggregati, che consentono di raccogliere e indirizzare le voci di log provenienti da risorse all'interno di una cartella o un'organizzazione a una destinazione supportata. Ti consigliamo di utilizzare sink aggregati per indirizzare i dati di log a una posizione di archiviazione centrale.

Informazioni sui sink aggregati

Un sink aggregato è simile a un sink a livello di progetto in quanto contiene filtri e una destinazione. Tuttavia, Log Router invia a un sink aggregato le seguenti voci di log:

  • Tutte le voci di log che hanno origine in una cartella o un'organizzazione.
  • Tutte le voci di log che hanno origine nelle risorse secondarie della cartella o dell'organizzazione.

Ad esempio, se crei un sink aggregato a livello di cartella, Log Router invia a questo sink tutte le voci di log che hanno origine nella cartella o nelle risorse secondarie della cartella.

Quando esistono sink aggregati nella gerarchia delle risorse di una voce di log, il router dei log invia inizialmente la voce di log a questi sink. Poiché i sink aggregati possono essere intercettanti o non intercettanti, il router dei log potrebbe non inviare una voce di log indirizzata da un sink aggregato ai sink a livello di progetto.

Sink aggregato di intercettazione

Un sink aggregato di intercettazione impedisce il routing delle voci di log ai sink nelle risorse secondarie, 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 attivare gli audit log di accesso ai dati a scopo di controllo. Per semplificare l'analisi, vuoi archiviare questi log in una posizione centrale. Tuttavia, per motivi di sicurezza e costi, vuoi anche impedire che questi log vengano archiviati a livello di progetto. Per questo scenario, puoi creare un sink aggregato intercettante.

Sink aggregato non intercettante

Un sink aggregato non di intercettazione non influisce sul modo in cui le voci di log vengono indirizzate ad altri sink. Ciò significa che, anche quando una voce di log corrisponde al filtro di un sink aggregato non intercettante, viene inoltrata ad altri sink nella gerarchia delle risorse della voce di log. Un sink aggregato non intercettante 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 intercettante che indirizzi tutte le voci di log generate dalle cartelle contenute in un'organizzazione a un bucket di log centrale. Le voci di log vengono archiviate nel bucket di log centrale. Tuttavia, poiché il sink non intercetta, Log Router invia le voci di log anche ai sink di log nella risorsa in cui sono state generate.

Esempi di routing

Questa sezione illustra come una voce di log che ha origine in un progetto potrebbe fluire attraverso i sink nella sua gerarchia delle risorse.

Esempio: non esistono sink aggregati

Se non esistono sink aggregati nella gerarchia delle risorse della voce di log, la voce di log viene inviata ai sink di log nel progetto di origine. Un sink a livello di progetto indirizza 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 intercettante

Supponi che esista un sink aggregato non intercettante nella gerarchia delle risorse per una voce di log. Dopo che Log Router invia la voce di log al sink aggregato non intercettante, si verifica quanto segue:

  1. La route del sink aggregato non intercettante indirizza la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione, ma non corrisponde ad alcun filtro di esclusione.

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

    Un sink a livello di progetto indirizza 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

Supponi che esista un sink aggregato di intercettazione nella gerarchia delle risorse per una voce di log. Dopo che Log Router invia la voce di log al sink aggregato di intercettazione, si verifica una delle seguenti situazioni:

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

    1. La voce di log viene indirizzata alla destinazione del sink aggregato di intercettazione.
    2. La voce di log viene inviata al sink _Required nel progetto in cui è stata creata.
  • 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 di log invia la voce di log ai sink di log nel progetto in cui ha avuto origine la voce di log.

      Un sink a livello di progetto indirizza 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 progettoGoogle Cloud .

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

La destinazione di un sink aggregato non di intercettazione può essere una delle seguenti:

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

Sono supportate le seguenti destinazioni:

Google Cloud progetto

Seleziona questa destinazione quando vuoi che i sink di log nel progetto di destinazione reindirizzino le voci di log oppure quando hai creato un sink aggregato di intercettazione. I sink di log nel progetto che è la destinazione del sink possono reindirizzare le voci di log a qualsiasi destinazione supportata, tranne un progetto.

Bucket di log

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

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

Set di dati BigQuery
Seleziona questa destinazione quando vuoi unire i dati di log con altri dati aziendali. Il set di dati specificato deve essere abilitato alla scrittura. Non impostare la destinazione di un sink su un set di dati BigQuery collegato. I set di dati collegati sono di sola lettura.
Bucket Cloud Storage
Seleziona questa destinazione quando vuoi archiviare i dati di log a lungo termine. 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.
Argomento Pub/Sub
Seleziona questa destinazione quando vuoi esportare i dati di log da Google Cloud e poi utilizzare integrazioni di terze parti come Splunk o Datadog. Le voci di log vengono formattate in JSON e poi indirizzate a un argomento Pub/Sub.

Best practice

Ti consigliamo di impostare come destinazione di un sink aggregato un progetto Google Cloud . Con questa destinazione, i sink di log nel progetto Google Cloud di destinazione reindirizzano le voci di log. Il sink _Required esegue il routing solo delle voci di log che corrispondono al suo 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 come segue:

  • Valuta se le risorse figlio necessitano di un controllo indipendente del routing delle voci di log. Se una risorsa secondaria richiede il controllo indipendente di determinate voci di log, verifica che il sink di intercettazione non le indirizzi.

  • Aggiungi i dati di contatto alla descrizione di un sink intercettore. 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 intercettante per verificare che le voci di log corrette vengano indirizzate.

Intercettazione dei sink aggregati e delle metriche basate su log

Le metriche basate su log sono metriche di Cloud Monitoring derivate dal contenuto delle voci di log. Il modo in cui una voce di log viene instradata determina per quali metriche basate su log può essere conteggiata. Poiché un sink aggregato di intercettazione influisce sul modo in cui vengono indirizzate le voci di log, la creazione di questo tipo di sink può comportare modifiche ai valori delle metriche basate sui log esistenti.

Per ulteriori informazioni, consulta Come le voci di log di routing influiscono sulle metriche basate su log.

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, ti consigliamo di utilizzare IAM per gestire le autorizzazioni Logging.

  • Controlli di servizio VPC non supporta l'aggiunta di risorse di cartelle o organizzazioni ai perimetri di servizio. Pertanto, non puoi utilizzare i controlli di servizio VPC per proteggere i log a livello di cartella e organizzazione, inclusi i log aggregati. Per gestire le autorizzazioni Logging a livello di cartella o organizzazione, ti consigliamo di utilizzare IAM.

  • Se indirizzi i log utilizzando un sink a livello di cartella o organizzazione a una risorsa protetta da un perimetro di servizio, devi aggiungere una regola di ingresso al perimetro di servizio. La regola di ingresso deve consentire l'accesso alla risorsa dall'account di servizio utilizzato dal sink aggregato. Per maggiori informazioni, consulta le seguenti pagine:

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

Passaggi successivi