Come faccio a rimuovere i dati sensibili dai miei log di CloudFront?

4 minuti di lettura
0

Per impostazione predefinita, i log standard di Amazon CloudFront acquisiscono dati sensibili per alcuni dei suoi campi. Per motivi di privacy, desidero rimuovere questa parte dei log.

Breve descrizione

Nota: questo articolo utilizza l'esempio del campo Client-IP (c-ip).

Per impostazione predefinita, i log di CloudFront acquisiscono c-ip come uno dei suoi campi. Esistono tre modi per rimuovere c-ip dai log.

  • Attiva una funzione AWS Lambda che rimuove il campo sulla consegna del log in Amazon Simple Storage Service (Amazon S3).
  • Utilizza un processo Amazon Elastic Compute Cloud (Amazon EC2) che viene eseguito a determinati intervalli per rimuovere il campo.
  • Usa i log in tempo reale di CloudFront e rimuovi il campo sensibile prima di inviare i dati di log ad Amazon S3.

Risoluzione

Attivazione di una funzione Lambda

Un modo per rimuovere il campo c-ip consiste nell'utilizzare gli eventi di notifica di Amazon S3. Quando CloudFront invia il file di log nel bucket Amazon S3, configura il bucket per attivare una funzione Lambda.

Creazione di una funzione Lambda

1.    Apri la console AWS Lambda.

2.    In Funzioni, crea una nuova funzione Lambda con le seguenti configurazioni:

  • Utilizza il nome dell'oggetto dell'evento Amazon S3.
  • Ottiene l'oggetto dal bucket S3.

3.    Rimuovi la colonna c-ip o sostituisci i valori con dati anonimi.

Nota: sostituisci i valori per mantenere lo stesso formato nel caso in cui altre applicazioni elaborino ulteriormente i log.

4.    Salva e carica nuovamente il log su Amazon S3.

Creazione di una nuova immagine

1.    Nel bucket di destinazione dei log, vai a Proprietà.

2.    In Notifiche di eventi, crea un nuovo evento.

3.    Seleziona il tipo di evento Put e la funzione Lambda di destinazione.

4.    Seleziona la funzione Lambda creata nel passaggio 1, quindi scegli Salva.

Importante: per evitare una chiamata ricorsiva (ciclo infinito) con la funzione Lambda, esegui le seguenti azioni:

  • Fai recapitare i log di CloudFront a un prefisso di staging iniziale. Ad esempio, “originale”.
  • Fai in modo che l'evento Amazon S3 venga attivato solo su quel prefisso.
  • Fai in modo che la funzione Lambda fornisca i log in un prefisso diverso. Ad esempio, “elaborato”.

Se si forniscono i log con lo stesso prefisso, la funzione Lambda si attiva nuovamente e crea una chiamata ricorsiva. Per ulteriori informazioni, consulta Evitare le chiamate ricorsive con Amazon S3 e AWS Lambda.

Nota: per mantenere bassi i costi di Amazon S3, imposta una policy del ciclo di vita di Amazon S3 per far scadere i log originali dopo un determinato periodo di tempo.

Usa un processo Amazon EC2

Usa Amazon EventBridge per creare una regola pianificata (cron) che avvia un'istanza EC2 ed elabora i file di log in base a una ricorrenza pianificata. Ad esempio, una volta al giorno. Al termine del processo, interrompi l'istanza EC2 fino alla prossima ricorrenza per risparmiare sui costi.

1.    Configura EventBridge e Lambda per avviare un'istanza EC2 in un momento specifico. Per ulteriori informazioni, consulta In che modo posso interrompere e avviare istanze Amazon EC2 a intervalli regolari con Lambda?

2.    Sull'istanza EC2, implementa un codice che scaricherà i log per un determinato periodo di tempo. Ad esempio, una giornata intera. Rimuovi la colonna c-ip per elaborare i log o sostituisci i valori delle colonne con dati anonimizzati. Carica nuovamente i log elaborati nel bucket S3.

Facoltativo: unisci tutti i log elaborati in un unico file per risparmiare sui costi delle transizioni del ciclo di vita di Amazon S3. Questo processo è utile se intendi archiviare i log per lunghi periodi di tempo.

Utilizza Kinesis Data Firehose

Usa i log in tempo reale di CloudFront per selezionare i campi che desideri salvare. Successivamente, chiedi ad Amazon Kinesis Data Firehose di inviare i dati di log ad Amazon S3.

Quando configuri i log in tempo reale di CloudFront, è disponibile un elenco di campi inclusi in ogni record di log in tempo reale. Ogni record di log contiene fino a 40 campi. Hai la possibilità di ricevere tutti i campi disponibili o solo i campi che devi monitorare e di cui devi analizzare le prestazioni. Disattiva il campo c-ip per escluderlo dai tuoi log.

Nota: a causa dell'uso del flusso di dati Amazon Kinesis, questa opzione può diventare costosa. Valuta le altre due opzioni (Attivazione di una funzione Lambda o Usa un processo Amazon EC2) per una soluzione più economica.


AWS UFFICIALE
AWS UFFICIALEAggiornata un mese fa