Configuración de la extensión pgAudit
Para configurar la extensión pgAudit en el clúster de base de datos de Aurora PostgreSQL, primero hay que añadir pgAudit a las bibliotecas compartidas en el grupo de parámetros de clústeres de bases de datos personalizados para su clúster de bases de datos de Aurora PostgreSQL. Para obtener información acerca de cómo crear el grupo de parámetros del clúster de base de datos, consulte Grupos de parámetros para Amazon Aurora. A continuación, instale la extensión pgAudit. Por último, especifique las bases de datos y objetos que desea auditar. Los procedimientos de esta sección le muestran cómo hacerlo. Puede utilizar la AWS Management Console o la AWS CLI.
Debe tener permisos como el rol rds_superuser para realizar todas estas tareas.
En los pasos siguientes se supone que el clúster de ase de datos de Aurora PostgreSQL está asociado a un grupo de parámetros de clúster de base de datos.
Para configurar la extensión pgAudit
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija la instancia de escritor del clúster de base de datos de Aurora PostgreSQL .
-
Abra la pestaña Configuration (Configuración) para su instancia de escritor del clúster de base de datos de Aurora PostgreSQL. Entre los detalles de la instancia, busque el enlace del grupo de parámetros.
-
Elija el enlace para abrir los parámetros personalizados asociados al clúster de base de datos de Aurora PostgreSQL.
-
En el campo de búsqueda Parametes (Parámetros), escriba
shared_prepara buscar el parámetroshared_preload_libraries. -
Seleccione Edit parameters (Editar parámetros) para acceder a los valores de las propiedades.
-
Añada
pgaudita la lista en el campo Values (Valores). Utilice una coma para separar los elementos de la lista de valores.
Reinicie la instancia de escritor de su clúster de base de datos de Aurora PostgreSQL para que surta efecto el cambio en el parámetro
shared_preload_libraries.Cuando la instancia esté disponible, compruebe que pgAudit se haya inicializado. Use
psqlpara conectarse a la instancia de escritor de su clúster de bases de datos Aurora PostgreSQL, y, a continuación, ejecute el siguiente comando.SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)Con pgAudit inicializado, ahora puede crear la extensión. Debe crear la extensión después de inicializar la biblioteca, ya que la extensión
pgauditinstala activadores de eventos para auditar las sentencias del lenguaje de definición de datos (DDL).CREATE EXTENSION pgaudit;Cierre la sesión de
psql.labdb=>\qInicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. Busque el parámetro
pgaudit.logen la lista y configúrelo con el valor adecuado para su caso de uso. Por ejemplo, al establecer el parámetropgaudit.logenwritecomo se muestra en la siguiente imagen, se capturan las inserciones, las actualizaciones, las eliminaciones y algunos otros tipos de cambios en el registro.
También puede elegir uno de los siguientes valores para el parámetro
pgaudit.log.none: es el valor predeterminado. No se registran cambios en la base de datos.
all: registra todo (read, write, function, role, ddl, misc).
ddl: registra todas las instrucciones del lenguaje de definición de datos (DDL) que no están incluidas en la clase
ROLE.function: registra llamadas a funciones y bloques
DO.misc: registra comandos variados como, por ejemplo,
DISCARD,FETCH,CHECKPOINT,VACUUMySET.read: registra
SELECTyCOPYcuando el origen es una relación (como una tabla) o una consulta.role: registra instrucciones relacionadas con roles y privilegios, como
GRANT,REVOKE,CREATE ROLE,ALTER ROLEyDROP ROLE.write: registra
INSERT,UPDATE,DELETE,TRUNCATEyCOPYcuando el destino es una relación (tabla).
Elija Guardar cambios.
Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. Elija su instancia de escritor de clúster de base de datos de Aurora PostgreSQL desde la lista de bases de datos.
Para configurar pgAudit
Para configurar pgAudit mediante AWS CLI, llame a la operación modify-db-parameter-group para modificar los parámetros del registro de auditoría de su grupo de parámetros personalizado, como se muestra en el siguiente procedimiento.
Utilice el siguiente comando AWS CLI para añadir
pgaudital parámetroshared_preload_libraries.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region-
Utilice el siguiente comando AWS CLI para reiniciar la instancia de escritor de la instancia de base de datos de Aurora PostgreSQL para que se inicialice la biblioteca pgaudit.
aws rds reboot-db-instance \ --db-instance-identifierwriter-instance\ --regionaws-region Cuando la instancia esté disponible, puede verificar si
pgauditse ha inicializado. Usepsqlpara conectarse a la instancia de escritor de su clúster de bases de datos Aurora PostgreSQL, y, a continuación, ejecute el siguiente comando.SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)Con pgAudit inicializado, ahora puede crear la extensión.
CREATE EXTENSION pgaudit;Cierre la sesión de
psqlpara poder utilizar AWS CLI.labdb=>\qUtilice el siguiente comando AWS CLI para especificar las clases de instrucciones que desea registrar con el registro de auditoría de sesión. El ejemplo establece el parámetro
pgaudit.logenwrite, que captura las inserciones, las actualizaciones y las eliminaciones del registro.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \ --regionaws-regionTambién puede elegir uno de los siguientes valores para el parámetro
pgaudit.log.none: es el valor predeterminado. No se registran cambios en la base de datos.
all: registra todo (read, write, function, role, ddl, misc).
ddl: registra todas las instrucciones del lenguaje de definición de datos (DDL) que no están incluidas en la clase
ROLE.function: registra llamadas a funciones y bloques
DO.misc: registra comandos variados como, por ejemplo,
DISCARD,FETCH,CHECKPOINT,VACUUMySET.read: registra
SELECTyCOPYcuando el origen es una relación (como una tabla) o una consulta.role: registra instrucciones relacionadas con roles y privilegios, como
GRANT,REVOKE,CREATE ROLE,ALTER ROLEyDROP ROLE.write: registra
INSERT,UPDATE,DELETE,TRUNCATEyCOPYcuando el destino es una relación (tabla).
Reinicie la instancia de escritor de su clúster de bases de datos Aurora PostgreSQL mediante el siguiente comando AWS CLI.
aws rds reboot-db-instance \ --db-instance-identifierwriter-instance\ --regionaws-region