Audit del Database in YugabyteDB

Introduzione
Nell’attuale scenario digitale, implementare robuste tracce di audit del database è fondamentale per mantenere la sicurezza e la conformità nelle operazioni del database. Inoltre, YugabyteDB, un database SQL distribuito, offre capacità integrate per il tracciamento delle attività del database. Allo stesso tempo, supporta un monitoraggio avanzato tramite soluzioni di terze parti.
Capacità di Audit Native in YugabyteDB
YugabyteDB utilizza l’estensione PostgreSQL Audit (pgaudit) per fornire una completa registrazione di audit. Tale integrazione consente, infatti, una dettagliata registrazione delle sessioni e degli oggetti tramite il logging di YB-TServer, aspetto essenziale per soddisfare i vari requisiti di conformità.
Configurazione della Registrazione di Audit Nativa
Per abilitare la registrazione di audit in YugabyteDB, gli amministratori possono configurare diverse modalità. Di seguito i passaggi chiave per la configurazione:
Configurazione all’avvio del Cluster – È possibile configurare la registrazione di audit utilizzando le flag di YB-TServer. Ad esempio:
--ysql_pg_conf_csv="pgaudit.log='all, -misc',pgaudit.log_parameter=on,pgaudit.log_relation=on"Abilitare l’estensione pgaudit – Nella Sua sessione YSQL, può creare l’estensione con il seguente comando:
CREATE EXTENSION IF NOT EXISTS pgaudit;Configurare i Parametri della Registrazione di Audit – Impostare specifiche opzioni per il logging di audit. Ad esempio:
-- Abilita il logging DDL SET pgaudit.log = 'DDL'; -- Registra i parametri con le istruzioni SET pgaudit.log_parameter = ON; -- Abilita il logging lato client SET pgaudit.log_client = ON; SET pgaudit.log_level = notice;
Esempi di Output della Registrazione di Audit Nativa
Una volta configurato e attivato pgaudit, YugabyteDB registra le attività chiave nei log di YB-TServer. Tali log possono essere poi analizzati o visualizzati attraverso strumenti di monitoraggio. Di seguito sono riportati due esempi di tabelle che mostrano le tipiche voci del log di audit:
Esempio 1: Log delle Attività Generali
Questa tabella raccoglie una varietà di operazioni (SELECT, INSERT, UPDATE, DELETE) effettuate in differenti sessioni.
| Data/Ora | Utente | Database | ID Sessione | Comando | Tipo di Oggetto | Nome Oggetto | Dettagli |
|---|---|---|---|---|---|---|---|
| 2025-02-11 10:15:23 | admin | yugadb | 8a1b2c3d | SELECT | table | customer_data | Eseguito SELECT sulla tabella customer_data |
| 2025-02-11 10:17:45 | admin | yugadb | 8a1b2c3d | INSERT | table | orders | Inserito un nuovo record d’ordine |
| 2025-02-11 10:20:11 | analyst | yugadb | d4e5f6g7 | UPDATE | table | orders | Aggiornato lo stato dell’ordine a ‘shipped’ |
| 2025-02-11 10:22:05 | analyst | yugadb | d4e5f6g7 | DELETE | table | obsolete_data | Eliminato record con id 123 |
Esempio 2: Log Dettagliato delle Operazioni DDL e di Scrittura
Questo output è focalizzato su operazioni DDL e di modifica dei dati, inclusi parametri supplementari e dettagli sulle relazioni come configurato con pgaudit. Di seguito alcune voci di esempio:
| Data/Ora | Utente | Database | ID Sessione | Comando | Tipo di Oggetto | Nome Oggetto | Parametri della Query |
|---|---|---|---|---|---|---|---|
| 2025-02-11 11:05:10 | dba | yugadb | f7g8h9i0 | CREATE | table | sensitive_data | CREATE TABLE sensitive_data ( … ) |
| 2025-02-11 11:06:50 | dba | yugadb | f7g8h9i0 | ALTER | table | sensitive_data | ALTER TABLE sensitive_data ADD COLUMN … |
| 2025-02-11 11:10:32 | app_user | yugadb | j1k2l3m4 | INSERT | table | sensitive_data | INSERT INTO sensitive_data (username, email, …) |
| 2025-02-11 11:15:44 | app_user | yugadb | j1k2l3m4 | UPDATE | table | sensitive_data | UPDATE sensitive_data SET email = ‘…’ WHERE … |
Audit Avanzato con Esempi Dettagliati
Esempio Completo di Regola di Audit
-- Crea una tabella di esempio da auditare
CREATE TABLE sensitive_data (
user_id SERIAL PRIMARY KEY,
username TEXT,
email TEXT,
credit_card_last4 TEXT
);
-- Configura un auditing estensivo
SET pgaudit.log = 'all';
SET pgaudit.log_parameter = ON;
SET pgaudit.log_relation = ON;
-- Esegui alcune operazioni di esempio
INSERT INTO sensitive_data (username, email, credit_card_last4)
VALUES ('johndoe', '[email protected]', '1234');
UPDATE sensitive_data
SET email = '[email protected]'
WHERE username = 'johndoe';Audit Potenziato con DataSunrise
Mentre le capacità native forniscono un auditing di base, la soluzione di monitoraggio delle attività del database di DataSunrise offre funzionalità avanzate specificamente progettate per database distribuiti come YugabyteDB. Pertanto, essa rappresenta una soluzione più completa.

Caratteristiche Chiave:
- Monitoraggio in tempo reale delle attività
- Tracce di audit complete
- Mascheramento Dinamico dei Dati
- Politiche di sicurezza avanzate
- Reportistica automatizzata per la conformità

Buone Pratiche per l’Auditing in YugabyteDB
- Ottimizzazione delle Prestazioni – Per ottimizzare le prestazioni, è fondamentale implementare regole di audit selettive. Ad esempio:
- Utilizzare configurazioni di logging mirate
- Monitorare l’impatto sulle prestazioni del sistema
-- Esempio di logging selettivo SET pgaudit.log = 'DDL, WRITE'; -- Registrare solo operazioni DDL e di scrittura SET pgaudit.log_catalog = OFF; -- Ridurre il rumore dai log del catalogo di sistema - Considerazioni sulla Sicurezza – Inoltre, è importante proteggere i log di audit, implementare controlli di accesso granulari e rivedere regolarmente e ruotare i log. Queste misure sono essenziali per mantenere la sicurezza dei dati di audit.
Conclusione
In conclusione, un efficace auditing del database in YugabyteDB richiede un approccio bilanciato tra capacità native e soluzioni potenziate. Mentre pgaudit nativo offre funzionalità di logging essenziali, le organizzazioni con requisiti di conformità complessi possono trarre grande beneficio dalle funzionalità avanzate di monitoraggio e sicurezza offerte da soluzioni specializzate come DataSunrise.
Per ulteriori informazioni sull’implementazione di un auditing completo del database in YugabyteDB, La invitiamo a consultare la documentazione sulla sicurezza di YugabyteDB.
Se desidera saperne di più sul comprehensive database audit in YugabyteDB con DataSunrise, Le raccomandiamo vivamente di prenotare una nostra demo online o di scaricare lo strumento per esplorarlo personalmente.
