Invio di eventi a CloudWatch Logs - AWS CloudTrail

Invio di eventi a CloudWatch Logs

Quando configuri il percorso per l'invio degli eventi a CloudWatch Logs, CloudTrail invia solo gli eventi che soddisfano le impostazioni di percorso definite. Ad esempio, se configuri il percorso in modo che vengano registrati nel log solo gli eventi di dati, il percorso invierà gli eventi di dati solo al gruppo di log di CloudWatch Logs. CloudTrail supporta l'invio di eventi di dati, Insights e di gestione a CloudWatch Logs. Per ulteriori informazioni, consulta . Utilizzo dei file di log di CloudTrail.

Per inviare eventi a un gruppo di registro di CloudWatch Logs:

Configurazione del monitoraggio di CloudWatch Logs mediante la console

Puoi usare la AWS Management Console per configurare il percorso per l'invio degli eventi a CloudWatch Logs per il monitoraggio.

Creazione di un gruppo di log o indicazione di un gruppo di log esistente

CloudTrail utilizza un gruppo di log di CloudWatch Logs come endpoint di distribuzione per gli eventi di log. Puoi creare un gruppo di log oppure specificarne uno esistente.

Per creare o specificare un gruppo di log
  1. Verifica di essere connesso con un utente o un ruolo IAM amministratore con autorizzazioni sufficienti per configurare l'integrazione di CloudWatch Logs. Per ulteriori informazioni, consulta . Concessione dell'autorizzazione per visualizzare e configurare le informazioni di Amazon CloudWatch Logs sulla console CloudTrail.

  2. Aprire la console CloudTrail all'indirizzo https://console.aws.amazon.com/cloudtrail/.

  3. Scegliere il nome del trail. Se scegli un trail valido per tutte le aree geografiche, verrai reindirizzato all'area geografica in cui il trail è stato creato. Puoi creare un gruppo di log o sceglierne uno esistente nella stessa area geografica del trail.

    Nota

    Un percorso valido per tutte le aree geografiche invia i file di log da tutte le aree geografiche al gruppo di log di CloudWatch Logs specificato.

  4. Per CloudWatch Logs (Log di CloudWatch), scegli Configure (Configura).

  5. In New or existing log group (Gruppo di log nuovo o esistente), inserire il nome del gruppo di log e quindi scegliere Continue (Continua). Per ulteriori informazioni, consulta . Denominazione del gruppo di log e del flusso di log di CloudWatch per CloudTrail.

  6. Per il ruolo IAM, scegli un ruolo esistente o creane uno nuovo. Se crei un ruolo IAM, inserisci il nome del ruolo.

  7. Scegli Allow (Consenti) per concedere a CloudTrail le autorizzazioni necessarie per creare un flusso di log di CloudWatch Logs e per distribuire gli eventi.

Specificare un ruolo IAM

Puoi specificare un ruolo che CloudTrail può assumere per distribuire gli eventi al flusso di log.

Per specificare un ruolo
  1. Per impostazione di default, il ruolo CloudTrail_CloudWatchLogs_Role viene specificato automaticamente. La policy del ruolo predefinita dispone delle autorizzazioni necessarie per creare un flusso di log di CloudWatch Logs in un gruppo di log specificato e per distribuire gli eventi CloudTrail a tale flusso.

    Nota

    Se vuoi utilizzare questo ruolo per un gruppo di log per un trail dell'organizzazione, devi modificare manualmente la policy dopo aver creato il ruolo. Per ulteriori informazioni, consulta questo esempio di policy e Creazione di un percorso per un'organizzazione.

    1. Per verificare il ruolo, visita la console di AWS Identity and Access Management all'indirizzo https://console.aws.amazon.com/iam/.

    2. Scegliere Roles (Ruoli) e quindi il ruolo CloudTrail_CloudWatchLogs_Role.

    3. Per visualizzare i contenuti della policy di ruolo, scegliere View Policy Document (Visualizza documento policy).

  2. Puoi specificare un ruolo diverso, ma devi allegare la policy di ruolo richiesta al ruolo esistente se vuoi utilizzarlo per inviare eventi a CloudWatch Logs. Per ulteriori informazioni, consulta . Documento sulla policy del ruolo per CloudTrail per l'utilizzo di CloudWatch Logs per il monitoraggio.

Visualizzazione di eventi nella console CloudWatch

Dopo aver configurato il percorso per l'invio degli eventi al gruppo di log di CloudWatch Logs, puoi visualizzare gli eventi nella console CloudWatch. In genere, CloudTrail distribuisce gli eventi al gruppo di log con una media di circa 15 minuti da una chiamata API. Questo tempo non è garantito. Per ulteriori informazioni, consulta l'Accordo sul Livello di Servizio (SLA) di AWS CloudTrail.

Per visualizzare eventi nella console CloudWatch
  1. Aprire la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Scegliere Logs (Log).

  3. Scegliere il gruppo di log specificato per il trail.

  4. Scegliere il nome del flusso di log.

  5. Per visualizzare i dettagli dell'evento registrato dal trail, scegliere un evento.

Nota

La colonna Time (UTC) (Ora (UTC)) nella console CloudWatch mostra quando l'evento è stato distribuito nel gruppo di log. Per visualizzare l'ora effettiva in cui l'evento è stato registrato da CloudTrail, fai riferimento al campo eventTime.

Configurazione del monitoraggio di CloudWatch Logs mediante la AWS CLI

Puoi usare la AWS CLI per configurare CloudTrail per l'invio degli eventi a CloudWatch Logs per il monitoraggio.

Creazione di un gruppo di log

  1. Se non disponi di un gruppo di log esistente, crea un gruppo di log di CloudWatch Logs come endpoint per la distribuzione degli eventi di log utilizzando il comando di CloudWatch Logs create-log-group.

    aws logs create-log-group --log-group-name name

    Nell'esempio seguente viene creato un gruppo di log denominato CloudTrail/logs:

    aws logs create-log-group --log-group-name CloudTrail/logs
  2. Recuperare l'ARN (Amazon Resource Name) del gruppo di log.

    aws logs describe-log-groups

Creazione di un ruolo

Crea un ruolo per CloudTrail che consenta l'invio degli eventi al gruppo di log di CloudWatch Logs. Il comando IAM create-role accetta due parametri: un nome di ruolo e un percorso di file di un documento di policy di ruolo in formato JSON. Il documento di policy che utilizzi concede a CloudTrail le autorizzazioni AssumeRole. Il comando create-role crea il ruolo con le autorizzazioni richieste.

Per creare il file JSON che conterrà il documento di policy, apri un editor di testo e salva i seguenti contenuti delle policy in un file denominato assume_role_policy_document.json.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Esegui il comando seguente per creare il ruolo con le autorizzazioni AssumeRole per CloudTrail.

aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json

Quando il comando viene completato, annota l'ARN del ruolo nell'output.

Creazione di un documento di policy

Crea il seguente documento di policy di ruolo per CloudTrail. Questo documento concede a CloudTrail le autorizzazioni necessarie per creare un flusso di log di CloudWatch Logs nel gruppo di log specificato e per distribuire gli eventi CloudTrail in tale flusso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] } ] }

Salva il documento di policy in un file denominato role-policy-document.json.

Se stai creando una policy che potrebbe essere utilizzata anche per il trail dell'organizzazione, dovrai configurarlo in modo leggermente diverso. Ad esempio, la policy seguente concede a CloudTrail le autorizzazioni necessarie per creare un flusso di log CloudWatch Logs nel gruppo di log specificato e per distribuire gli eventi CloudTrail per quel flusso di log sia per i percorsi nell'account AWS 111111111111, che per i percorsi dell'organizzazione creati nell'account 111111111111 applicati all'organizzazione AWS Organizations con ID o-exampleorgid:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] } ] }

Per ulteriori informazioni sui trail dell'organizzazione, consulta Creazione di un percorso per un'organizzazione.

Esegui il seguente comando per applicare la policy al ruolo.

aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json

Aggiornamento del percorso

Aggiorna il percorso con le informazioni sul gruppo di log e sul ruolo utilizzando il comando di CloudTrail update-trail.

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn

Per ulteriori informazioni sui comandi AWS CLI, consulta la Guida di riferimento alla riga di comando di AWS CloudTrail.

Limitazione

CloudWatch Logs e CloudWatch Events permettono una dimensione massima dell'evento di 256 KB ciascuno. Sebbene la maggior parte degli eventi dei servizi abbia una dimensione massima di 256 KB, alcuni servizi hanno eventi di dimensioni maggiori. CloudTrail non invia questi eventi a CloudWatch Logs o a CloudWatch Events.

A partire dalla versione 1.05 degli eventi CloudTrail, gli eventi hanno una dimensione massima di 256 KB. Questo ha lo scopo di aiutare a prevenire lo sfruttamento da parte di utenti malintenzionati e di consentire agli eventi di essere utilizzati da altri servizi AWS, come CloudWatch Logs e CloudWatch Events.