Iniciar sesión con pgaudit

La extensión de auditoría « PostgreSQL » (pgaudit) permite habilitar el registro de sesiones en tus implementaciones de IBM Cloud® Databases for PostgreSQL. Para ver los registros de auditoría, asegúrese de haber habilitado el registro para Cloud Databases y de haber completado el paso para crear una S2S autorización que permita enviar registros a IBM® Cloud Logs.

Registro de sesión

El registro de sesión está desactivado de forma predeterminada. Puedes activar los parámetros de registro de sesión que registran toda la actividad correspondiente a determinados tipos de eventos de auditoría. El registro de sesión está habilitado para todo el clúster de base de datos y puede ser on u off para un tipo de suceso específico.

Tipos de sucesos

El registro de sesión se configura por tipo de suceso. Los tipos de sucesos admitidos en todas las versiones son:

  • FUNCIÓN
  • Rol
  • DDL
  • LEER
  • GRABAR
  • MISC
  • MISC_SET
  • NINGUNO (para desactivar el registro)

Para obtener más información, consulte pgaudit.

Activación del registro de sesiones de « pgaudit »

Para habilitar el registro de sesiones de « pgaudit », inicie sesión como usuario «admin» y llame a la función « set_pgaudit_session_logging » especificando los parámetros de evento adecuados. El registro de sesión se habilita directamente en la base de datos y no se proporciona acceso de API ni de CLI.

Por ejemplo, para habilitar DDL y ROLE, la llamada sería:

SELECT public.set_pgaudit_session_logging(current_database(),'{ddl, role}');

Puede especificar una base de datos con dbname en lugar de la función current_database().

Activación del registro de usuarios de « pgaudit »

Para habilitar el registro de usuarios de « pgaudit », inicia sesión como usuario «admin» y ejecuta la función « set_pgaudit_user_logging » especificando los parámetros de evento adecuados. El registro de usuarios se activa para un usuario específico en lugar de para todos los usuarios de la base de datos.

Por ejemplo, para activar READ y WRITE, utilice el siguiente comando :

SELECT public.set_pgaudit_user_logging(<CREATED USER>,'{read, write}');

Activación del registro de la base de datos de « pgaudit »

Para habilitar el registro de eventos específico de la base de datos « pgaudit », conéctate como usuario «admin» y llama a la función « set_pgaudit_database_logging » especificando los parámetros de evento adecuados. El registro de bases de datos se habilita para una base de datos específica, en caso de que haya varias bases de datos disponibles en una instancia.

Por ejemplo, para activar DDL y ROLE en base_de_datos_actual, utilice el siguiente comando :

SELECT public.set_pgaudit_database_logging(current_database(),'{ddl, role}');

o

SELECT public.set_pgaudit_database_logging('sampledatabase','{read, write, ddl}');

Cualquier llamada posterior sustituirá la configuración existente; no son aditivas. Por ejemplo, una llamada posterior a SELECT public.set_pgaudit_session_logging('{misc}'); solo registra misc , pero desactiva ddl y role``.

Inhabilitando pgaudit

Para desactivar el registro de auditoría, llama a la misma función especificando « none ». Por ejemplo:

SELECT public.set_pgaudit_session_logging(current_database(),'{none}');

El cambio de los niveles de auditoría se produce inmediatamente cuando se llama a la función sin interrumpir la actividad de la base de datos.

Registros de auditoría

Los sucesos de auditoría aparecen en IBM® Cloud Logs Routing con el siguiente formato:

LOG: AUDIT: SESSION,1,1,DDL,CREATE TABLE,,,create table f2 (id int);,<not logged>

Para más información, consulte pgaudit format.

Si desea ver el nivel de registro actual, puede ejecutar el mandato:

show pgaudit.log;