Registrazione con pgaudit
L'estensione PostgreSQL Audit (pgaudit) consente la registrazione delle sessioni per le vostre IBM Cloud® Databases for PostgreSQL distribuzioni. Per visualizzare i registri di audit, assicurati di aver abilitato la registrazione per Cloud Databases e di aver completato la procedura per la creazione di S2S un'autorizzazione per concedere l'accesso all'invio dei registri a IBM® Cloud Logs.
Registrazione della sessione
La registrazione della sessione è disattivata per impostazione predefinita. È possibile attivare i parametri di registrazione della sessione che registrano tutte le attività per i set di tipi di eventi di audit. La registrazione della sessione
è abilitata per l'intero cluster DB ed è on o off per un tipo di evento specifico.
Tipi di evento
La registrazione della sessione è configurata per tipo di evento. I tipi di evento supportati in tutte le versioni sono:
- FUNZIONE
- RUOLO
- DDL
- LETTURA
- SCRITTURA
- Varie
- MISC_SET
- NESSUNO (per disabilitare la registrazione)
Per ulteriori informazioni, vedere pgaudit.
Abilitazione della registrazione delle sessioni di pgaudit
Per abilitare la registrazione delle sessioni di pgaudit, connettersi come utente amministratore e chiamare la funzione set_pgaudit_session_logging con i parametri dell'evento appropriati. La registrazione delle sessioni
è abilitata direttamente nel database e non è previsto alcun accesso API o CLI.
Ad esempio, per abilitare DDL e ROLE si chiamerà:
SELECT public.set_pgaudit_session_logging(current_database(),'{ddl, role}');
È possibile specificare un database con dbname invece della funzione current_database().
Abilitazione della registrazione degli utenti di pgaudit
Per abilitare la registrazione degli utenti di pgaudit, collegarsi come utente amministratore e chiamare la funzione set_pgaudit_user_logging con i parametri dell'evento appropriati. La registrazione degli utenti è
abilitata per un utente specifico anziché per tutti gli utenti del database.
Ad esempio, per abilitare la lettura e la scrittura, utilizzare il seguente comando:
SELECT public.set_pgaudit_user_logging(<CREATED USER>,'{read, write}');
Abilitazione della registrazione del database pgaudit
Per abilitare la registrazione specifica del database pgaudit, connettersi come utente amministratore e chiamare la funzione set_pgaudit_database_logging con i parametri dell'evento appropriati. La registrazione del
database è abilitata per un database specifico, nel caso di più database disponibili in un'istanza.
Ad esempio, per abilitare DDL e ROLE in current_database, utilizzare il seguente comando:
SELECT public.set_pgaudit_database_logging(current_database(),'{ddl, role}');
oppure
SELECT public.set_pgaudit_database_logging('sampledatabase','{read, write, ddl}');
Le chiamate successive sostituiscono la configurazione esistente e non sono additive. Ad esempio, una successiva chiamata a SELECT public.set_pgaudit_session_logging('{misc}'); registra solo misc ma disabilita ddl e role.
Disabilitazione pgaudit
Per disabilitare la registrazione di audit, richiamare la stessa funzione con none. Ad esempio:
SELECT public.set_pgaudit_session_logging(current_database(),'{none}');
La modifica dei livelli di revisione avviene immediatamente quando si chiama la funzione, senza interrompere l'attività del database.
Log di controllo
Gli eventi di audit vengono visualizzati in IBM® Cloud Logs Routing con il seguente formato:
LOG: AUDIT: SESSION,1,1,DDL,CREATE TABLE,,,create table f2 (id int);,<not logged>
Per ulteriori informazioni, vedere il formato pgaudit.
Se si desidera visualizzare il livello di log corrente, è possibile eseguire il comando:
show pgaudit.log;