Aggrega e archivia i log dell'organizzazione

Questo documento descrive come gestire i log generati dalle risorse contenute nella tua organizzazione Google Cloud utilizzando un sink aggregato che non intercetta.

Puoi configurare un sink aggregato in modo che venga intercettato o meno, a seconda che tu voglia controllare quali log possono essere sottoposti a query o instradati tramite i sink nelle risorse figlio. In questo tutorial creerai un sink aggregato che instrada gli audit log della tua organizzazione a un bucket di log. Puoi configurare il filtro del sink in modo da indirizzare altri tipi di voci di log. Per saperne di più sui sink aggregati, consulta Collate e instrada i log a livello di organizzazione e cartella alle destinazioni supportate.

In questo tutorial imparerai a:

  1. Creazione del bucket Cloud Logging per l'archiviazione dei log aggregati.

  2. Creazione di un sink aggregato non intercettato a livello di organizzazione per instradare i log al nuovo bucket di log.

  3. È in corso la configurazione dell'accesso in lettura al nuovo bucket di log.

  4. Esecuzione di query e visualizzazione dei log dalla pagina Esplora log.

Prima di iniziare

Verifica quanto segue:

  • 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 ti consentono di creare, eliminare o modificare i sink. Per informazioni sull'impostazione dei ruoli IAM, consulta la guida al controllo dell'accesso di Logging.

  • Se utilizzi Controlli di servizio VPC, devi aggiungere una regola in entrata al perimetro di servizio. Per ulteriori informazioni sulle limitazioni dei Controlli di servizio VPC, consulta Limitazioni dei sink aggregati e dei Controlli di servizio VPC.

Crea un bucket di log

I bucket di log archiviano i log che vengono instradati da altri progetti, cartelle o organizzazioni di Google Cloud. Per ulteriori informazioni, consulta Configurare i bucket di log.

Per creare il bucket di log nel progetto Google Cloud in cui vuoi aggregare i log, completa questi passaggi:

  1. Vai alla console Google Cloud o fai clic sul pulsante seguente:

    Vai alla console Google Cloud

  2. In un terminale Cloud Shell, esegui questo comando per creare un bucket di log, sostituendo le variabili con i valori appropriati:

     gcloud logging buckets create all-audit-logs-bucket \
       --location=global \
       --project=logs-test-project
    
  3. Verifica che il bucket di log sia stato creato:

    gcloud logging buckets list --project=logs-test-project
    
  4. (Facoltativo) Imposta il periodo di conservazione dei log nel bucket. In questo esempio, la conservazione dei log archiviati nel bucket viene estesa a 365 giorni:

    gcloud logging buckets update all-audit-logs-bucket --location=global --project=logs-test-project --retention-days=365
    

Crea il sink

Puoi eseguire il routing dei log su un bucket di log creando un sink. Un sink include un filtro di inclusione, un filtro di esclusione facoltativo e una destinazione. In questo tutorial, la destinazione è un bucket di log, all-audit-logs-bucket. Per maggiori informazioni sui sink, consulta Instradare i log alle destinazioni supportate.

Configura il sink a livello di organizzazione

Per creare un sink, completa i seguenti passaggi.

  1. Esegui questo comando, sostituendo le variabili con i valori appropriati:

    gcloud logging sinks create all-audit-logs-sink \
    logging.googleapis.com/projects/logs-test-project/locations/global/buckets/all-audit-logs-bucket \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="All audit logs from my org log sink" \
      --organization=12345 \
      --include-children
    

    Il flag --include-children è importante per includere anche i log di tutti i progetti Google Cloud all'interno della tua organizzazione. Per maggiori informazioni, consulta Collate e instrada i log a livello di organizzazione verso destinazioni supportate.

  2. Verifica che il sink sia stato creato:

    gcloud logging sinks list --organization=12345
    
  3. Recupera il nome dell'account di servizio:

    gcloud logging sinks describe all-audit-logs-sink --organization=12345
    

    L'output è simile al seguente:

    writerIdentity: serviceAccount:o1234567890-12345@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Copia l'intera stringa per writerIdentity iniziando con serviceAccount:.

Concedi l'accesso al sink

Dopo aver creato il sink, devi concedere al sink l'autorizzazione di scrittura nel bucket di log. Puoi farlo utilizzando la console Google Cloud o modificando manualmente il criterio di Identity and Access Management (IAM), come descritto in Impostare le autorizzazioni della destinazione.

In questo tutorial, impostiamo le autorizzazioni tramite la console Google Cloud utilizzando i passaggi seguenti.

  1. Nel pannello di navigazione della console Google Cloud, seleziona IAM:

    Vai a IAM

  2. Assicurati di aver selezionato il progetto Google Cloud di destinazione che contiene il bucket a livello di organizzazione che stai utilizzando per aggregare i log.

  3. Fai clic su Concedi l'accesso.

  4. Nel campo Nuove entità, aggiungi l'account di servizio senza il prefisso serviceAccount:.

  5. Nel menu Seleziona un ruolo, scegli Writer bucket di log.

  6. Fai clic su Salva.

Genera log per facilitare la verifica del sink

Se il sink utilizza gli audit log, un modo per verificare che il sink indirizzi correttamente i log consiste nell'avviare una VM in un altro progetto Google Cloud e poi ridurre la VM per vedere se questo evento appare nei log.

Se nella tua organizzazione sono già presenti molti progetti Google Cloud, il traffico degli audit log potrebbe essere sufficiente per evitare che questo passaggio sia necessario.

Configura l'accesso in lettura al nuovo bucket di log

Ora che il sink instrada i log dell'intera organizzazione al tuo bucket di log, puoi cercare in tutti questi log. Puoi utilizzare le viste log per limitare l'accesso ai log all'interno dei tuoi bucket di log, creando una visualizzazione di log e concedendo alle entità il ruolo IAM roles/logging.viewAccessor.

In questo tutorial, impostiamo le autorizzazioni tramite la console Google Cloud utilizzando i passaggi seguenti.

  1. Nel pannello di navigazione della console Google Cloud, seleziona IAM:

    Vai a IAM

    Assicurati di aver selezionato il progetto Google Cloud che stai utilizzando per aggregare i log.

  2. Fai clic su Aggiungi.

  3. Nel campo Nuova entità, aggiungi il tuo account email.

  4. Nel menu Seleziona un ruolo, scegli Funzione di accesso delle viste log.

    Questo ruolo fornisce un'entità con accesso in lettura alle visualizzazioni dei log sui bucket di log nel progetto Google Cloud. Per limitare l'accesso di un utente, crea o seleziona una visualizzazione di log esistente e aggiungi una condizione che consenta all'utente di leggere solo dal nuovo bucket di log:

    1. Fai clic su Aggiungi condizione.

    2. Inserisci un Titolo e una Descrizione per la condizione.

    3. Nel menu Tipo di condizione, seleziona Risorsa e poi Nome.

    4. Nel menu Operatore, seleziona Termina con.

    5. Nel campo Valore, inserisci il nome della visualizzazione log. Per informazioni sulle viste dei log, consulta Configurare le viste dei log in un bucket di log.

      Il nome di una visualizzazione log ha il seguente formato:

      locations/global/buckets/all-audit-logs-bucket/views/view_id
      
    6. Fai clic su Salva per aggiungere la condizione.

  5. Fai clic su Salva per impostare le autorizzazioni.

Cercare i log dalla pagina Esplora log

Dopo aver impostato le autorizzazioni nella sezione precedente, vai alla console Google Cloud e completa questi passaggi:

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

    Vai a Esplora log

  2. Seleziona Perfeziona ambito.

  3. Nel riquadro Perfeziona ambito, seleziona Ambito in base all'archiviazione.

  4. Seleziona all-audit-logs-bucket.

  5. Fai clic su Applica.

    Esplora log si aggiorna per mostrare i log del bucket di log.

    Per informazioni sull'utilizzo di Esplora log, consulta Utilizzo di Esplora log.