Questo documento descrive come gestire le voci di log generate dalle risorse contenute nella tua Google Cloud organizzazione utilizzando un sink aggregato non intercettante.
Puoi configurare un sink aggregato in modo che sia intercettante o non intercettante, a seconda che tu voglia controllare quali voci di log possono essere sottoposte a query o instradate tramite i sink nelle risorse figlio. In questo tutorial, creerai un sink aggregato che instrada gli audit log della tua organizzazione a un Google Cloud progetto, che a sua volta instrada gli audit log aggregati a un bucket di log. Per saperne di più, consulta la panoramica sui sink aggregati .
In questo tutorial, svolgerai i seguenti passaggi:
Inizia creando un bucket di log e un sink di log nel Google Cloud progetto in cui vuoi archiviare le voci di log aggregate.
Poi, crea un sink aggregato non intercettante a livello di organizzazione per instradare le voci di log al Google Cloud progetto che contiene il bucket di log.
Quindi, configura l'accesso in lettura alle visualizzazioni di log nel nuovo bucket di log.
Infine, esegui una query e visualizza le voci di log dalla pagina Esplora log.
Prima di iniziare
Assicurati di quanto segue:
-
Per ottenere le autorizzazioni necessarie per configurare un sink aggregato, chiedi all'amministratore di concederti i seguenti ruoli IAM nella tua organizzazione:
-
Per creare bucket di log e sink in un progetto:
Autore configurazione log (
roles/logging.configWriter) - il tuo progetto -
Per creare un sink aggregato:
Autore configurazione log (
roles/logging.configWriter) - la tua organizzazione -
Per concedere ruoli alle entità:
Proprietario (
roles/owner) - il tuo progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Per creare bucket di log e sink in un progetto:
Autore configurazione log (
- Se utilizzi i Controlli di servizio VPC, devi aggiungere una regola in entrata al perimetro di servizio. Per saperne di più sulle limitazioni dei Controlli di servizio VPC, consulta Limitazioni.
-
Nella Google Cloud console, attiva Cloud Shell.
Nella parte inferiore della Google Cloud console viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Crea un bucket di log
I bucket di log archiviano le voci di log instradate da altri Google Cloud progetti, cartelle o organizzazioni. Per saperne di più, consulta Configurare i bucket di log.
Per creare il bucket di log nel Google Cloud progetto in cui vuoi aggregare le voci di log, completa i seguenti passaggi:
Apri una shell.
Ad esempio, per utilizzare Cloud Shell:
-
Vai alla Google Cloud console:
- Nella barra degli strumenti, fai clic su terminal Attiva Cloud Shell.
-
Nella shell, esegui il comando
gcloud logging buckets create.Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
- BUCKET_NAME: il nome del bucket di log.
- LOCATION: la località del bucket di log. Dopo aver creato il bucket di log, non puoi modificarne la località.
- PROJECT_ID: l'identificatore del progetto in cui creare il bucket di log.
Esegui il
gcloud logging buckets createcomando:gcloud logging buckets create BUCKET_NAME \ --location=LOCATION --project=PROJECT_IDVerifica che il bucket di log sia stato creato:
gcloud logging buckets list --project=PROJECT_IDLa risposta del comando è un elenco dei bucket di log nel tuo progetto.
I bucket di log hanno periodi di conservazione configurabili. Se vuoi impostare il periodo di conservazione delle voci di log nel bucket di log, utilizza il comando
gcloud logging buckets update. Ad esempio, il comando seguente estende a 365 giorni la conservazione delle voci di log archiviate nel bucket di log:gcloud logging buckets update BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID \ --retention-days=365Per saperne di più sulle opzioni, consulta
gcloud logging buckets update.
Crea il sink di log a livello di progetto
Per instradare le voci di log a un bucket di log, devi creare un sink. Un sink include un filtro di inclusione, filtri di esclusione e una destinazione. In questo tutorial, configurerai un filtro di inclusione e la destinazione del nuovo bucket di log. Il sink non contiene filtri di esclusione. Per saperne di più sui sink, consulta Instrada i log verso destinazioni supportate.
Per creare un sink che instrada le voci di log al bucket di log appena creato, esegui il comando gcloud logging sinks create.
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
- PROJECT_LEVEL_SINK_NAME: il nome del sink di log a livello di progetto.
SINK_DESTINATION: il bucket di log in cui vengono instradate le voci di log. Il formato del percorso di destinazione per un bucket di log è il seguente:
logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAMEPROJECT_ID: l'identificatore del progetto in cui creare il sink di log. Imposta questa opzione sullo stesso progetto in cui hai creato il bucket di log.
Includi le seguenti opzioni:
--log-filter: utilizza questa opzione per impostare un filtro che corrisponda alle voci di log che vuoi includere nel sink. In questo tutorial, il filtro è impostato per selezionare tutte le voci degli audit log. Se non imposti un filtro, tutte le voci di log del tuo Google Cloud progetto vengono instradate alla destinazione.--description: utilizza questa opzione per descrivere lo scopo o il caso d'uso del sink.
Esegui il
gcloud logging sinks create
comando:
gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION
--project=PROJECT_ID
--log-filter='logName:cloudaudit.googleapis.com' \
--description="Audit logs from my organization" \
Crea il sink aggregato
I sink aggregati combinano e instradano le voci di log dalle risorse contenute in un'organizzazione o in una cartella a una destinazione.
In questo tutorial, creerai un sink aggregato non intercettante. Ciò significa che ogni voce di log instradata dal sink aggregato viene instradata anche dai sink nella risorsa in cui ha origine la voce di log. Ad esempio, un audit log che ha origine in un progetto viene instradato dal sink aggregato e dai sink in quel progetto. Pertanto, è possibile archiviare più copie di una voce di log.
Puoi creare sink intercettanti. Per saperne di più, consulta la panoramica sui sink aggregati .
Configura il sink a livello di organizzazione
Per creare un sink aggregato non intercettante che instrada le voci di log a un progetto:
Esegui il
gcloud logging sinks createcomando.Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
- SINK_NAME: il nome del sink di log. Non puoi modificare il nome di un sink dopo averlo creato.
- PROJECT_ID: l'identificatore del progetto che archivia il bucket di log.
- ORGANIZATION_ID: l'identificatore dell'organizzazione.
Esegui il comando
gcloud logging sinks create:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID \ --log-filter='logName:cloudaudit.googleapis.com' \ --description="