
Guida completa alla cronologia delle attività del database in YugabyteDB

Introduzione
In un mondo sempre più guidato dai dati, il tracciamento della cronologia delle attività del database in YugabyteDB è fondamentale per la sicurezza, il monitoraggio delle prestazioni e la conformità alle normative. La cronologia delle attività del database di YugabyteDB fornisce potenti strumenti per catturare e analizzare le operazioni svolte, offrendo preziose informazioni sui modelli di utilizzo del database. Sfruttando queste capacità, le organizzazioni possono migliorare il controllo, rilevare anomalie e garantire la conformità alle normative di settore come il GDPR e l’HIPAA.
Funzionalità di tracciamento native
La cronologia delle attività del database in YugabyteDB può essere monitorata attraverso vari meccanismi integrati. Sebbene YugabyteDB non supporti completamente l’estensione pgaudit
di PostgreSQL, fornisce il logging delle query, file di log esterni e il tracciamento basato su tabelle per catturare eventi chiave del database come modifiche agli schemi e accessi ai dati.
Monitoraggio base delle attività
Abilitare il logging delle query
Una valida alternativa a pgaudit
è abilitare il logging delle query, che aiuta a tracciare le istruzioni SQL eseguite. Configura questa funzionalità nelle impostazioni di yb-tserver
:
# Abilita il logging delle query in YugabyteDB
yb-tserver --ysql_log_statement=all --ysql_log_min_duration_statement=0
All’interno di una sessione, abilita il logging in modo dinamico:
SET ysql_log_statement = 'all';
SET ysql_log_min_duration_statement = 0;
Tracciamento delle attività con una tabella di log
Un altro approccio al tracciamento della cronologia delle attività del database in YugabyteDB consiste nel catturare manualmente le interazioni utilizzando una tabella di log dedicata:
CREATE TABLE database_interactions (
PRIMARY KEY,
interaction_id SERIAL
session_id TEXT,
action_type TEXT,
object_name TEXT,
query_text TEXT,timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO database_interactions (session_id, action_type, object_name, query_text)
VALUES
'sess_101', 'LOGIN', 'system', 'User login attempt'),
('sess_102', 'QUERY', 'customer_records', 'SELECT * FROM customer_records'); (
Output di esempio della cronologia delle attività
Data e ora dell’evento | ID sessione | Azione | Oggetto | Dettagli |
---|---|---|---|---|
2024-02-10 14:30:45 | sess_101 | LOGIN | system | Autenticazione utente riuscita |
2024-02-10 14:30:46 | sess_102 | QUERY | customer_records | Esecuzione di una scansione completa della tabella |
2024-02-10 14:30:47 | sess_103 | DDL | user_permissions | Schema della tabella modificato |
Monitoraggio avanzato con DataSunrise
Per le organizzazioni che necessitano di funzionalità di monitoraggio avanzato, soluzioni come DataSunrise offrono approfondimenti maggiori e avvisi di sicurezza in tempo reale. DataSunrise agisce come proxy del database, proteggendo sia gli strati API PostgreSQL che Cassandra di YugabyteDB.
Configurazione del monitoraggio con DataSunrise
Per integrare YugabyteDB con DataSunrise, seleziona il tipo di API appropriato all’interno dell’interfaccia web:

Una volta connesso, crea una regola di audit per registrare in modo efficiente gli eventi del database:

La scheda “Reporting” offre opzioni per generare report dettagliati sulla cronologia delle attività del database in YugabyteDB. Per creare un nuovo report, naviga in “Report Gen”, clicca su “New Task” e seleziona il tipo di report “Audit”:

Scegli l’istanza YugabyteDB preferita, salva il task e avvialo dalla pagina principale:

Queste funzionalità aiutano a garantire una migliore sicurezza e conformità alle normative come il GDPR e l’HIPAA. Per saperne di più sulla sicurezza del database con DataSunrise, puoi prenotare una demo online personalizzata oppure scaricare la versione di prova per esplorare lo strumento in autonomia.
Migliori pratiche
Ottimizzazione delle prestazioni
- Abilita il logging selettivo per ridurre il carico.
- Configura il tracciamento mirato delle attività in base a requisiti specifici.
- Rivedi e ottimizza regolarmente le impostazioni di logging.
CREATE ROLE database_analyst WITH LOGIN;
GRANT SELECT ON database_activity_summary TO database_analyst;
Conformità e sicurezza
- Implementa controlli di accesso granulari per proteggere i dati sensibili.
- Definisci chiare politiche di conservazione per i log delle attività.
- Cripta i log e limita l’accesso agli utenti autorizzati.
- Verifica regolarmente i meccanismi di tracciamento per garantirne l’integrità.
Conclusione
Gestire la cronologia delle attività del database in YugabyteDB richiede un equilibrio tra un tracciamento completo e un’efficiente gestione delle prestazioni. Mentre il logging nativo e il tracciamento basato su tabelle offrono informazioni fondamentali, l’integrazione di soluzioni di monitoraggio avanzato come DataSunrise può garantire una visibilità e una sicurezza maggiori. Seguendo le migliori pratiche, le organizzazioni possono creare un ambiente di database sicuro e ben controllato che soddisfi i requisiti di conformità e le esigenze operative.
Per una guida più dettagliata, consulta la documentazione sulla sicurezza di YugabyteDB oppure esplora le soluzioni di monitoraggio avanzato di DataSunrise.