Auditor chiede: "chi ha modificato il prezzo dell'articolo X il 15 maggio?". Senza audit log strutturato: ore di indagine, forse senza trovare risposta. Con audit log: 30 secondi, risposta puntuale. Vediamo come strutturare audit log delle modifiche database via AI conforme a GDPR, ISO 27001 e altri standard.
Cosa deve contenere un audit log
Per ogni operazione di scrittura, log immodificabile con:
| Campo | Esempio |
|---|---|
| Timestamp | 2026-05-15 14:23:45 |
| Utente | marco.rossi@azienda.it |
| Ruolo | Manager prezzi |
| IP | 192.168.1.45 |
| User-Agent | Chrome/Windows |
| Domanda originale | "Aumenta del 5% prezzi Elettrodomestici" |
| SQL eseguita | UPDATE articoli SET prezzo = prezzo*1.05 WHERE... |
| Tipo operazione | UPDATE |
| Database | db_gestionale |
| Tabella | articoli |
| Righe coinvolte | 234 |
| Esito | Successo |
| Tempo esecuzione | 1240 ms |
Requisiti normativi
GDPR
- Tracciabilità accessi a dati personali.
- Diritto di accesso (interessato può richiedere chi ha visto i suoi dati).
- Diritto di rettifica (chi ha modificato).
- Cancellazione e diritto all'oblio.
- Conservazione: minimo 5 anni.
ISO 27001
- Audit trail di sistema.
- Controllo degli accessi.
- Tracciabilità modifiche.
- Immutabilità log.
SOX (per quotate USA o gruppi)
- Audit finanziario.
- Immutabilità log.
- Tracciabilità modifiche dati finanziari.
Le 4 caratteristiche di un buon audit log
1. Completezza
Tutto ciò che modifica dati deve essere loggato. Senza eccezioni.
2. Immodificabilità
Una volta scritto, non alterable da nessuno (incluso super admin).
Tecnologie:
- Append-only database.
- Hashing crittografico per detection di tampering.
- Storage WORM (Write Once Read Many).
3. Conservazione
Minimo legale: 5 anni. Per dati finanziari: 10 anni. Per audit critici: indefinito.
4. Esportabilità
Format standard per integration con SIEM esterni:
- CSV per Excel.
- JSON per Splunk, ELK.
- PDF per documentazione.
Funzionalità di consultazione
Filtri
- Per data range.
- Per utente.
- Per tipo operazione.
- Per tabella.
- Per esito.
Ricerca testuale
Cerca nelle SQL eseguite, nelle domande, negli errori.
Export
Per richieste GDPR, audit, investigazioni: esporta filtri specifici.
Casi d'uso pratici
Audit GDPR
Cliente chiede "chi ha visto i miei dati personali?":
- Filtro audit log per riferimenti al cliente.
- Esporta lista accessi.
- Risposta in 24-48 ore (entro termini GDPR).
Investigazione anomalia
"Perché questo prezzo è cambiato?":
- Filtro per articolo specifico.
- Vedi storia modifiche con timestamp e utente.
- Identificazione causa in 5 minuti.
Audit ISO certificazione
Auditor esterno chiede "mostratemi modifiche al database degli ultimi 12 mesi":
- Esportazione completa.
- Documentazione strutturata.
- Compliance dimostrata.
Sospetto abuso
Sospetto che un dipendente abbia modificato dati impropriamente:
- Filtra audit log per quell'utente.
- Identifica pattern sospetti (operazioni notturne, bulk operations).
- Investigation con prove.
Sicurezza dell'audit log stesso
Il log è il "guardiano" del sistema. Va protetto:
Accesso ristretto
- Solo super admin può consultare.
- Eventuale CISO/auditor con permesso dedicato.
- Audit log degli accessi al log (meta-audit).
Backup separato
Log backuppato in storage diverso dal database principale. Compromissione del DB non compromette i log.
Cifratura at-rest
Log cifrato. Solo chiave di sistema può decifrare.
Verifica integrità
Hashing periodico per rilevare tampering. Se qualcuno modifica un record di log, la verifica fallisce.
Conservazione e ciclo vita
| Tipo log | Conservazione |
|---|---|
| Operazioni scrittura standard | 5 anni |
| Modifiche dati finanziari | 10 anni |
| Modifiche dati personali | 5 anni dopo cancellazione interessato |
| Operazioni admin (configurazione) | 7 anni |
| Eventi sicurezza (login falliti) | 3 anni |
Cancellazione automatica oltre i termini, con eventuale archiviazione cold storage.
I moduli ReportIA correlati
Scopri ReportIA con audit log compliance-ready.