Configurar el comportamiento de registro

Para configurar el comportamiento de registro de pgAudit, define la pgaudit.log marca o la pgaudit.role marca:

  • Define pgaudit.log para habilitar y configurar el registro de sesiones. Puedes definir esta marca en una instancia, una base de datos o un rol para definir el ámbito de las operaciones que registra pgAudit. Asigna a la marca un valor que define el tipo de operaciones que registra pgAudit.

  • Define pgaudit.role para habilitar y configurar el registro de objetos, que registra las instrucciones que afectan a relaciones concretas. Asigna este valor al nombre de un rol y, a continuación, concede acceso a la instrucción a objetos específicos de los que quieras registrar información. El acceso a la factura incluye SELECT, INSERT, UPDATE, and DELETE. pgAudit registra todas las operaciones que coinciden con la combinación de acceso y objeto ejecutada por cualquier usuario.

En las siguientes secciones se muestran ejemplos de las opciones para definir el comportamiento de registro de pgAudit.

Para obtener más información sobre las funciones de la extensión, consulta la documentación de pgAudit.

Configurar el registro de auditoría de sesiones para todas las bases de datos de una instancia

Para configurar la auditoría de todas las bases de datos de una instancia, define la marca pgaudit.log a nivel de instancia.

Por ejemplo:

  • Para habilitar la auditoría de todas las operaciones en todas las bases de datos de una instancia, sigue estos pasos:
    gcloud alloydb instances update my-instance \
        --database-flags pgaudit.log=all[,flag2=value2...] \
        --region=us-central1 \
        --cluster=my-cluster \
        --project=my-project
    
  • Para habilitar la auditoría solo para las operaciones de lectura y escritura en todas las bases de datos de una instancia, sigue estos pasos:
    gcloud alloydb instances update my-instance \
        --database-flags=^:^pgaudit.log=read,write[:flag2=value2...] \
        --region=us-central1 \
        --cluster=my-cluster \
        --project=my-project
    

Tenga en cuenta el uso de la sintaxis de delimitador alternativo, que le permite usar comas en un valor de marca.

Para obtener información sobre cómo configurar marcas de bases de datos, consulta el artículo Configurar marcas de bases de datos.

Configurar el registro de auditoría de sesiones de una base de datos específica

Puedes configurar la auditoría de una base de datos específica definiendo la marca pgaudit.log a nivel de base de datos.

Por ejemplo, para habilitar la auditoría de lectura/escritura de una base de datos, finance:

finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';

Configurar el registro de auditoría de sesiones de un solo usuario

Puede habilitar la auditoría de un usuario específico configurando pgaudit.log a nivel de rol.

Por ejemplo, para configurar la auditoría de todas las operaciones de la base de datos que ejecute el usuario Alice:

finance=> ALTER ROLE alice SET pgaudit.log = 'all';

Configurar el registro de auditoría de objetos

La auditoría de una relación es más limitada que la de una base de datos específica. Cuando auditas una relación, el sistema asigna un rol de auditor único al parámetro pgaudit.role. Esta operación registra cualquier objeto o relación que se conceda a este rol.

Por ejemplo:

  • Para configurar la auditoría de todas las consultas SELECT en la relación de salarios de la base de datos de empleados, haz lo siguiente:
    employee=> CREATE ROLE auditor WITH NOLOGIN;
    employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
    employee=> GRANT SELECT ON salary TO auditor;
    

También puede auditar un subconjunto de columnas de una relación determinada.

Por ejemplo:

  • Para configurar el registro de auditoría que se produce solo cuando se accede a las columnas income y tax_status desde la relación de salario, sigue estos pasos:
    employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;