Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede auditar las actividades de la base de datos en Azure Database for PostgreSQL mediante la pgaudit extensión .
pgaudit proporciona un registro de auditoría detallado de sesiones y objetos.
Si desea obtener registros de nivel de recurso de Azure para operaciones como el escalado de procesos y de almacenamiento, consulte el registro de actividad de Azure.
Consideraciones de uso
De forma predeterminada, pgaudit registra sentencias, y el mecanismo estándar de registro de Postgres emite tus mensajes de registro habituales. En Azure Database for PostgreSQL, puede configurar todos los registros que se enviarán al almacén de registros de Azure Monitor para su posterior análisis en Log Analytics. Si habilita el registro de recursos de Azure Monitor, los registros se envían automáticamente (en formato JSON) a Azure Storage, Event Hubs y los registros de Azure Monitor, según la opción que elija.
Para aprender a configurar el registro en Azure Storage, Event Hubs o los registros de Azure Monitor, consulte la sección de registros de recursos del artículo de registros de servidor.
Instalar la extensión
Para usar la extensión pgaudit, inclúyala en la lista de permitidos, cárguela y créela en la base de datos donde vaya a usarla.
Configurar los valores de la extensión
pgaudit le permite configurar el registro de auditoría de sesión u objetos.
El registro de auditoría de sesión emite registros detallados de las instrucciones ejecutadas.
El registro de auditoría de objetos es una auditoría con un ámbito limitado a relaciones específicas. Puede optar por configurar uno o ambos tipos de registro.
Después de habilitar pgaudit, configure sus parámetros para iniciar el registro.
Para configurar pgaudit, siga estas instrucciones:
Usa el portal de Azure:
Seleccione la instancia de Servidor flexible de Azure Database for PostgreSQL.
En el menú de recursos, en la sección Configuración , seleccione Parámetros.
Busque los parámetros
pgaudit.Selecciona el parámetro correspondiente que deseas editar. Por ejemplo, para empezar a registrar las instrucciones
INSERT,UPDATE,DELETE,TRUNCATEyCOPY, establezcapgaudit.logenWRITE.Seleccione Guardar para guardar los cambios.
La documentación oficial de pgaudit proporciona la definición de cada parámetro. Pruebe primero los parámetros y confirme que obtiene el comportamiento esperado.
Por ejemplo, configurar pgaudit.log_client en ON no solo escribe eventos de auditoría en el registro del servidor, sino que también los envía a los procesos del cliente (como psql). Por lo general, deje esta configuración deshabilitada.
pgaudit.log_level solo se habilita cuando pgaudit.log_client está activado.
En el servidor flexible de Azure Database for PostgreSQL, no se puede configurar pgaudit.log con el atajo del signo - (menos), como se describe en la documentación de pgaudit. Especifique por separado todas las clases de sentencia necesarias (READ, WRITE y así sucesivamente).
Si establece el parámetro log_statement en DDL o ALL y ejecuta un comando CREATE ROLE/USER ... WITH PASSWORD ... ; o ALTER ROLE/USER ... WITH PASSWORD ... ;, PostgreSQL crea una entrada en los registros de PostgreSQL en la que la contraseña se registra en texto claro, lo que podría causar un posible riesgo de seguridad. Este comportamiento se espera según el diseño del motor de PostgreSQL.
Sin embargo, puede usar la extensión pgaudit y configurar pgaudit.log en DDL, lo que no registra ninguna sentencia CREATE/ALTER ROLE en los registros del servidor de Postgres, a diferencia de cuando se configura log_statement en DDL. Si necesita registrar estas sentencias, también puede establecer pgaudit.log en ROLE, lo que oculta la contraseña en los registros mientras registra CREATE/ALTER ROLE.
Formato de los registros de auditoría
Cada entrada de auditoría comienza con AUDIT:. El formato del resto de la entrada se detalla en la documentación de pgaudit.
Cómo empezar
Para comenzar rápidamente, configure pgaudit.log en ALL, y abra los registros de su servidor para revisar la salida.
Visualización de registros de auditoría
El método para acceder a los registros depende del punto de conexión que elija. Si se trata de Azure Storage, consulte el artículo sobre la cuenta de almacenamiento de registros. Si se trata de Event Hubs, consulte el artículo Transmisión de los registros de Azure.
En Azure Monitor Logs, envía los registros al área de trabajo que seleccionaste. Los registros de Postgres usan el modo de colección AzureDiagnostics , por lo que puede consultarlos desde la tabla AzureDiagnostics. Para obtener más información sobre las consultas y las alertas, consulte la información general de consultas de registros de Azure Monitor.
Puede usar esta consulta para comenzar. Puede configurar alertas basadas en las consultas.
Busque todas las pgaudit entradas de los registros de Postgres para un servidor determinado en el último día.
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Actualización de la versión principal con la extensión pgaudit instalada
Durante una actualización de la versión principal, el proceso quita automáticamente la extensión pgaudit y, a continuación, vuelve a crearla una vez completada la actualización. Aunque el proceso restaura la extensión, no conserva automáticamente ninguna configuración personalizada establecida en pgaudit.log u otros parámetros relacionados.