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;