Log di Audit Vertica
Vertica è spesso utilizzato come nucleo delle piattaforme di analisi dove dozzine di applicazioni, job ETL e strumenti BI generano enormi volumi di SQL. Quando accade qualcosa di sospetto — un batch fallito, una modifica inattesa dello schema o un potenziale incidente di sicurezza — i team devono essere in grado di rispondere a una domanda semplice: chi ha fatto cosa, quando e come? Un log di audit Vertica ben implementato fornisce questa visibilità registrando gli eventi chiave del database e le query SQL che li hanno generati.
Questo articolo mostra come lavorare con le informazioni native di audit di Vertica direttamente da DBeaver e poi dimostra come DataSunrise trasformi queste voci a basso livello in un audit centralizzato e ricercabile. Esamineremo come interrogare lo schema v_monitor, configurare una regola di audit Vertica in DataSunrise e confrontare i log nativi con la vista arricchita in DataSunrise Audit Logs e Database Activity Monitoring. Per riferimento su tutte le tabelle di sistema e i parametri disponibili, consultare la documentazione ufficiale Vertica.
Comprendere i Log di Audit di Vertica
Vertica non espone una tabella “audit_log” monolitica unica. Invece, registra le informazioni rilevanti per l’audit in diverse viste di sistema e file di log. I due principali elementi costitutivi sono:
- File di log di audit del motore – file di log a livello di sistema operativo che contengono tentativi di autenticazione, modifiche ai privilegi e alcuni eventi di sistema.
- Viste
v_monitor– tabelle interrogabili tramite SQL che mostrano richieste eseguite, sessioni attive e storiche e vari eventi di monitoraggio.
Insieme, queste fonti possono rispondere a domande fondamentali richieste dai team di sicurezza, conformità e operazioni:
- Quale account ha tentato il login al cluster e da dove?
- Quale istruzione SQL ha eliminato o modificato una tabella sensibile?
- Quali query erano in esecuzione al momento di un incidente?
- Con quale frequenza si verificano tentativi di autenticazione falliti o errori?
Le sezioni seguenti utilizzano DBeaver e DataSunrise per rendere queste informazioni accessibili e utilizzabili.
Visualizzare le Informazioni Native di Audit Vertica in DBeaver
Poiché lo schema v_monitor è esposto come qualsiasi altro insieme di tabelle, è possibile usare DBeaver per esplorare le viste correlate all’audit di Vertica. Una delle più utili è v_monitor.query_requests, che registra ogni statement eseguito insieme a informazioni su utente, tempi e successo.
Interrogazione di v_monitor.query_requests da DBeaver. Ogni riga rappresenta una richiesta eseguita, inclusi nome utente, tipo di richiesta, testo SQL completo, timestamp di inizio e fine, e stato di successo.
Una query tipica per costruire un log di audit Vertica nativo è la seguente:
SELECT
user_name,
request_type,
request,
start_timestamp,
end_timestamp,
success,
error_count
FROM v_monitor.query_requests
ORDER BY start_timestamp DESC
LIMIT 50;
Questo output già si comporta come un log di audit: si vede quali utenti hanno eseguito quali istruzioni e quando, insieme ad eventuali errori. È possibile estendere la query con colonne aggiuntive da v_monitor.sessions (per indirizzo client e nome applicazione) o unire a tabelle di catalogo per allegare metadati sugli oggetti.
Campi Chiave in un Log di Audit Vertica
Mentre le viste di sistema di Vertica contengono molte colonne, un report di audit pratico si concentra solitamente su un sottoinsieme fondamentale. La tabella seguente descrive i campi più importanti e come vengono utilizzati durante le indagini.
| Campo | Scopo | Esempio |
|---|---|---|
user_name |
Identità dell’utente del database che ha eseguito la query | dbadmin |
request_type |
Categoria di alto livello come QUERY, DDL, COPY o LOAD | QUERY |
request |
Testo SQL completo dell’operazione (o frammento troncato) | SELECT col.constraint_name AS pk_name FROM v_catalog... |
start_timestamp |
Momento in cui Vertica ha iniziato l’esecuzione della richiesta | 2025-12-01 15:03:57.385 |
end_timestamp |
Ora di completamento; usata per misurare la durata e sovrapposizione con incidenti | 2025-12-01 15:03:58.010 |
success |
Indicatore booleano che mostra se la query è terminata con successo | true |
error_count |
Numero di errori verificatisi durante l’elaborazione della richiesta | 0 |
Con questi campi, DBeaver già fornisce un log di audit Vertica funzionante. È possibile filtrare per utente, cercare specifici pattern SQL o esportare i risultati in CSV per ulteriori analisi. Tuttavia, questo approccio presenta ancora alcune limitazioni: la cronologia è legata a un singolo cluster, la conservazione dei log segue le impostazioni del motore e la correlazione degli eventi tra sistemi è manuale.
Limitazioni di Affidarsi Solo ai Log Nativi
I log di audit nativi offrono grande profondità ma copertura limitata. Ogni cluster Vertica conserva la propria cronologia e la rotazione dei log può eliminare silenziosamente i record più vecchi. Potrebbe anche essere necessario unire informazioni da viste multiple e connetterle ai metadati di catalogo. Se si gestiscono più ambienti — sviluppo, staging, produzione — o si combina Vertica con altri database, questo diventa rapidamente difficile da gestire.
Inoltre, i log di motore e le viste v_monitor non categorizzano automaticamente gli eventi secondo regole aziendali. Ad esempio, potrebbero servire log dedicati a “tutte le modifiche DDL nello schema finance” o “tutti gli accessi alle colonne PII” con alert per violazioni. Realizzare ciò solo con i log nativi significa dover scrivere e mantenere script e query pianificate personalizzate.
Centralizzare i Log di Audit Vertica con DataSunrise
DataSunrise affronta queste sfide operando come uno strato di audit davanti a Vertica. Cattura ogni statement SQL, lo associa a utente, applicazione e database, lo valuta rispetto a regole configurabili e scrive il risultato in un repository centrale di audit. Questo repository può estendersi a molti cluster Vertica e altre piattaforme dati, offrendo una vista unificata sull’attività dei database.
Per abilitare l’audit, si registra Vertica come sorgente dati nella console DataSunrise e poi si crea una regola di audit — come “Vertica Audit Log” — che specifica quali query ed eventi registrare. Quando la regola è attiva, ogni operazione corrispondente appare nell’interfaccia Transactional Trails.
Transactional Trails di DataSunrise che mostrano eventi del log di audit Vertica. Ogni riga rappresenta un’operazione catturata, inclusi tipo di database, nome regola di audit, login utente, applicazione client, query SQL, ora di inizio e conteggio righe.
A differenza dei log grezzi del motore, questa vista è concepita per investigazione e reporting. È possibile filtrare per regola (ad esempio, “Vertica Audit Log”), approfondire utenti specifici o cercare una particolare tabella o pattern di istruzioni. Gli eventi possono inoltre essere inoltrati a piattaforme SIEM o SOAR usando integrazioni Syslog o webhook integrate, evitando parsing log personalizzati.
Come DataSunrise Arricchisce i Log di Audit Vertica
DataSunrise fa più che replicare semplicemente i log nativi. Poiché vede ogni richiesta SQL a livello di rete, può:
- Catturare il testo completo della query anche quando Vertica tronca i log interni.
- Applicare regole di audit per schema, tabella, utente o tipo di operazione senza modificare il codice applicativo.
- Correlare eventi tra piattaforme come Vertica, PostgreSQL, Oracle e data warehouse cloud in una singola console.
- Alimentare funzionalità di livello superiore come User Behavior Analysis e Compliance Manager, basate su dati di audit normalizzati.
- Fornire conservazione e reportistica flessibili tramite rapporti di audit pianificati ed esportazione su archiviazione esterna.
In pratica, le organizzazioni spesso utilizzano i log Vertica nativi per troubleshooting tecnico approfondito e si affidano a DataSunrise per il monitoraggio quotidiano della sicurezza e le evidenze di conformità. Questa combinazione offre sia l’accuratezza a basso livello dei log di motore sia la chiarezza ad alto livello di una piattaforma di audit specializzata.
Mettere Tutto Insieme
Implementare una strategia completa di log di audit Vertica non richiede di abbandonare gli strumenti nativi. Si può cominciare interrogando v_monitor.query_requests e viste correlate da DBeaver per comprendere come Vertica registra l’attività. Queste viste rivelano chi ha eseguito quali statement SQL, quando li ha eseguiti e se sono andati a buon fine.
Successivamente, si può collegare Vertica a DataSunrise, creare regole di audit mirate e usare Transactional Trails per mantenere un log di audit centralizzato e persistente che copra tutti gli ambienti. Allineando la cronologia nativa di Vertica con il monitoraggio avanzato, l’analisi comportamentale e il set di strumenti per la compliance dei dati di DataSunrise, si fornisce ai team di sicurezza e operazioni una fonte unica di verità per indagare sugli incidenti, convalidare i controlli e dimostrare che i dati sensibili rimangono protetti.
Proteggi i tuoi dati con DataSunrise
Metti in sicurezza i tuoi dati su ogni livello con DataSunrise. Rileva le minacce in tempo reale con il Monitoraggio delle Attività, il Mascheramento dei Dati e il Firewall per Database. Applica la conformità dei dati, individua le informazioni sensibili e proteggi i carichi di lavoro attraverso oltre 50 integrazioni supportate per fonti dati cloud, on-premises e sistemi AI.
Inizia a proteggere oggi i tuoi dati critici
Richiedi una demo Scarica ora