DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

Audit del Database in YugabyteDB

Audit del Database in YugabyteDB

Introduzione

Nel panorama digitale odierno, implementare robusti audit trail dei database è fondamentale per mantenere sicurezza e conformità nelle operazioni sui database. Inoltre, YugabyteDB, un database SQL distribuito, offre funzionalità integrate per tracciare le 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 di Audit PostgreSQL (pgaudit) per fornire un logging di audit completo. Questa integrazione, quindi, abilita un dettagliato logging delle sessioni e degli oggetti attraverso il logging di YB-TServer, essenziale per soddisfare i vari requisiti di conformità.

Configurazione dell’Audit Logging Nativo

Per abilitare l’audit logging in YugabyteDB, gli amministratori possono configurare diversi approcci. Di seguito sono riportati i passaggi chiave per la configurazione:

  1. Configurazione di Avvio del Cluster – È possibile configurare l’audit logging utilizzando i flag di YB-TServer. Ad esempio:

    --ysql_pg_conf_csv="pgaudit.log='all, -misc',pgaudit.log_parameter=on,pgaudit.log_relation=on"
  2. Abilitare l’Estensione pgaudit – Nella tua sessione YSQL, puoi creare l’estensione con il seguente comando:

    CREATE EXTENSION IF NOT EXISTS pgaudit;
  3. Configurare i Parametri di Audit Logging – Imposta opzioni specifiche per l’audit logging. Ad esempio:

    -- Abilita il logging DDL
    SET pgaudit.log = 'DDL';
    
    -- Registra i parametri insieme alle istruzioni
    SET pgaudit.log_parameter = ON;
    
    -- Abilita il logging lato client
    SET pgaudit.log_client = ON;
    SET pgaudit.log_level = notice;

Esempi di Output del Log di Audit Nativo

Una volta configurato e attivato pgaudit, YugabyteDB registra le attività chiave nei log di YB-TServer. Questi log possono essere poi analizzati o visualizzati utilizzando strumenti di monitoraggio. Di seguito sono riportati due esempi di tabelle che mostrano tipiche voci del log di audit:

Esempio 1: Log Generale delle Attività

Questa tabella cattura una varietà di operazioni (SELECT, INSERT, UPDATE, DELETE) attraverso diverse sessioni.

Orario del LogUtenteDatabaseID SessioneComandoTipo di OggettoNome dell’OggettoDettagli
2025-02-11 10:15:23adminyugadb8a1b2c3dSELECTtabellacustomer_dataEseguito SELECT sulla tabella customer_data
2025-02-11 10:17:45adminyugadb8a1b2c3dINSERTtabellaordersInserito un nuovo record d’ordine
2025-02-11 10:20:11analystyugadbd4e5f6g7UPDATEtabellaordersAggiornato lo stato dell’ordine in “spedito”
2025-02-11 10:22:05analystyugadbd4e5f6g7DELETEtabellaobsolete_dataCancellato il record con id 123

Esempio 2: Log Dettagliato delle Operazioni DDL e di Scrittura

Questo output è incentrato sulle operazioni di Data Definition Language (DDL) e di modifica dei dati, includendo parametri aggiuntivi e dettagli sulle relazioni come configurato con pgaudit. Ecco alcuni esempi:

Orario del LogUtenteDatabaseID SessioneComandoTipo di OggettoNome dell’OggettoParametri della Query
2025-02-11 11:05:10dbayugadbf7g8h9i0CREATEtabellasensitive_dataCREATE TABLE sensitive_data ( … )
2025-02-11 11:06:50dbayugadbf7g8h9i0ALTERtabellasensitive_dataALTER TABLE sensitive_data ADD COLUMN …
2025-02-11 11:10:32app_useryugadbj1k2l3m4INSERTtabellasensitive_dataINSERT INTO sensitive_data (username, email, …)
2025-02-11 11:15:44app_useryugadbj1k2l3m4UPDATEtabellasensitive_dataUPDATE sensitive_data SET email = ‘…’ WHERE …

Audit Avanzato con Esempi Dettagliati

Esempio Completo di Regola di Audit

-- Crea una tabella di esempio per l'audit
CREATE TABLE sensitive_data (
    user_id SERIAL PRIMARY KEY,
    username TEXT,
    email TEXT,
    credit_card_last4 TEXT
);

-- Configura l'audit esteso
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 Avanzato con DataSunrise

Mentre le capacità native forniscono un audit di base, la soluzione di monitoraggio delle attività del database di DataSunrise offre funzionalità avanzate specificamente progettate per database distribuiti come YugabyteDB. Così, garantisce una soluzione più completa.

Proxy DataSunrise che gestisce molteplici connessioni al database

Caratteristiche Chiave:

  • Monitoraggio dell’attività in tempo reale
  • Audit trail completi
  • Mascheramento dinamico dei dati
  • Policy di sicurezza avanzate
  • Report di conformità automatizzati
Hub Session Trails di DataSunrise che ti consente di gestire le connessioni in corso a YugabyteDB

Best Practices per l’Audit in YugabyteDB

  1. Ottimizzazione delle Prestazioni – Per ottimizzare le prestazioni, è fondamentale implementare regole di audit selettive. Per esempio:
    • Utilizzare configurazioni di logging mirate
    • Monitorare l’impatto sul sistema
    -- Esempio di logging selettivo
    SET pgaudit.log = 'DDL, WRITE';  -- Registra solo le operazioni DDL e di scrittura
    SET pgaudit.log_catalog = OFF;   -- Riduci il rumore dai log del catalogo di sistema
  2. Considerazioni sulla Sicurezza – Inoltre, è importante proteggere i log di audit, implementare controlli di accesso granulari e rivedere e ruotare regolarmente i log. Queste misure sono essenziali per mantenere la sicurezza dei dati di audit.

Conclusione

In conclusione, un efficace audit del database in YugabyteDB richiede un approccio bilanciato tra le capacità native e soluzioni avanzate. Mentre il pgaudit nativo fornisce funzionalità di logging essenziali, le organizzazioni con requisiti di conformità complessi possono trarre grande beneficio dal monitoraggio avanzato e dalle funzionalità di sicurezza offerte da soluzioni specializzate come DataSunrise.

Per ulteriori informazioni sull’implementazione di un audit completo del database in YugabyteDB, consulta la documentazione sulla sicurezza di YugabyteDB.

Se desideri saperne di più su un audit completo del database in YugabyteDB con DataSunrise, ti consigliamo vivamente di prenotare la nostra demo online o di scaricare lo strumento per esplorarlo personalmente.

Successivo

Audit dei Dati per Hydra

Audit dei Dati per Hydra

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]