Consulta los registros de auditoría que genera pgAudit para AlloyDB para PostgreSQL

Para supervisar la actividad de la base de datos y ayudar a cumplir con los requisitos de cumplimiento gubernamentales, financieros y de ISO, puedes ver y consultar los registros de auditoría de acceso a los datos que genera pgAudit para AlloyDB para PostgreSQL en Cloud Logging. También puedes inspeccionar el formato de entrada de registro de pgAudit y supervisar el estado de la canalización de registros de auditoría en Cloud Monitoring. Para obtener más información sobre pgAudit, consulta Acerca de pgAudit.

Antes de comenzar

Para ver los registros de auditoría, debes hacer lo siguiente:

Ver registros de auditoría

Los registros de pgAudit generados para una instancia determinada se envían a Cloud Logging como registros de auditoría de acceso a los datos.

Puedes ver los registros de pgAudit generados con la aplicación Explorador de registros.

Para ver los registros de pgAudit, selecciona el filtro de registros cloudaudit.googleapis.com/data_access en la aplicación Explorador de registros.

Para ver todos los registros de pgAudit de un proyecto de AlloyDB, ejecuta la siguiente consulta con la interfaz de Filtro avanzado:

resource.type="alloydb.googleapis.com/Instance"
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"

Reemplaza PROJECT_ID por el ID de tu proyecto de AlloyDB.

Formato de registro para pgAudit

Cada entrada de registro de pgAudit en los registros de auditoría de acceso a los datos contiene campos que representan la información recopilada para una consulta. Para obtener más información sobre estos campos de entrada de registro, consulta la documentación de pgAudit.

Entrada de registro de pgAudit de muestra:

{
  protoPayload: {
    @type: "type.googleapis.com/google.cloud.audit.AuditLog"
    methodName: "alloydb.instances.query"
    request: {
      @type: "type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
      auditClass: "READ"
      auditType: "SESSION"
      chunkCount: "1"
      chunkIndex: "1"
      command: "SELECT"
      database: "finance"
      databaseSessionId: 2209692
      parameter: "[not logged]"
      statement: "SELECT * FROM revenue"
      statementId: 2
      substatementId: 1
      user: "alice"
    }
  }
}

A continuación, se presentan descripciones de los campos en los registros de auditoría de acceso a los datos:

  • auditClass. El tipo de declaración que se registra. Los valores posibles son READ, WRITE, FUNCTION, ROLE, DDL, MISC y MISC_SET.
  • auditType. SESSION u OBJECT.
  • chunkCount. La fragmentación puede ocurrir en los datos proporcionados en los campos parameter y statement. El campo chunkCount indica la cantidad total de fragmentos. Consulta también la descripción del campo chunkIndex.
  • chunkIndex. Especifica el número de índice de los fragmentos de datos en los campos parameter y statement del contenedor request actual. El número inicial es 1. Consulta también la descripción del campo chunkCount.
  • command. Por ejemplo, ALTER TABLE o SELECT.
  • parameter. El campo chunkIndex puede determinar el contenido de este campo; consulta la descripción del campo chunkIndex. Si se establece el valor de la marca pgaudit.log_parameter, el campo parameter puede contener los parámetros de la sentencia como datos CSV entre comillas. Si no hay parámetros, este campo contiene [none]. De lo contrario, este campo contiene [not logged].
  • statement. Es la sentencia que se ejecuta en el backend. El campo chunkIndex puede determinar el contenido del campo statement. Consulta la descripción del campo chunkIndex.
  • statementId. Es el ID de declaración único para esta sesión. Cada ID de sentencia representa una llamada de backend. Los IDs de las sentencias son secuenciales, incluso si algunas sentencias no se registran.
  • substatementId. Es el ID secuencial de cada subdeclaración dentro de la declaración principal.

Supervisa el estado de la canalización de registros de auditoría

AlloyDB procesa los registros de auditoría generados por el usuario de forma asíncrona antes de reenviarlos de forma segura a Cloud Logging. Puedes supervisar el estado, la capacidad de procesamiento y la lista de tareas pendientes de la canalización de registros de auditoría para tus instancias y nodos con Cloud Monitoring.

Las siguientes métricas están disponibles en el recurso supervisado alloydb.googleapis.com/InstanceNode en el Explorador de métricas:

Nombre de la métrica Nombre visible Tipo de métrica / Tipo de valor Unidad Descripción
alloydb.googleapis.com/node/database/logging/audit/backlog_bytes_count Tamaño de la lista de tareas pendientes del registro de auditoría GAUGE / INT64 Bytes (By) Es el tamaño, en bytes, de la lista de tareas pendientes del registro de auditoría en el nodo que espera el procesamiento y la carga en Cloud Logging. Un valor alto o en aumento sostenido indica una contrapresión en la canalización de reenvío de registros de auditoría.
alloydb.googleapis.com/node/database/logging/audit/processed_bytes_count Bytes de registro de auditoría procesados DELTA / INT64 Bytes (By) Es la cantidad total de bytes de datos de registro de auditoría que se procesaron y reenviaron correctamente a Cloud Logging desde el nodo.
alloydb.googleapis.com/node/database/logging/audit/processed_entries_count Entradas de registro de auditoría procesadas DELTA / INT64 Recuento (1) Es la cantidad total de entradas de registro de auditoría que se procesaron y reenviaron correctamente a Cloud Logging desde el nodo.

Para obtener más información, consulta la referencia de métricas de estadísticas del sistema.

¿Qué sigue?