Ver los registros de auditoría generados por pgAudit en AlloyDB para PostgreSQL

En esta página se describe cómo ver los registros de auditoría generados por pgAudit, que le ayuda a configurar los registros que a menudo se requieren para cumplir las certificaciones gubernamentales, financieras y de ISO. En esta página también se describe el formato de registro de pgAudit. Para obtener más información sobre pgAudit, consulta Acerca de pgAudit.

Antes de empezar

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 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 mediante la interfaz Filtro avanzado:

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

Formato de registro de pgAudit

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

Ejemplo de entrada de registro de pgAudit:

{
  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 describen los campos de los registros de auditoría de acceso a datos:

  • auditClass. El tipo de instrucció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 producirse en los datos proporcionados en los campos parameter y statement. El campo chunkCount indica el número total de fragmentos. Consulta también la descripción del campo chunkIndex.
  • chunkIndex. Especifica el número de índice de los fragmentos de datos de los campos parameter y statement del contenedor request actual. El número inicial es 1. Consulta también la descripción del campo chunkCount.
  • comando. 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 define el valor de `pgaudit.log_parameter`, el campo parameter puede contener los parámetros de la instrucción como datos CSV entre comillas. Si no hay parámetros, este campo contiene [none]. De lo contrario, este campo contiene [not logged].
  • declaración. Instrucción que se ejecuta en el backend. El campo chunkIndex puede determinar el contenido del campo statement. Consulta la descripción del campo chunkIndex.
  • statementId. ID de instrucción único de esta sesión. Cada ID de instrucción representa una llamada backend. Los IDs de las instrucciones son secuenciales, aunque no se registren algunas instrucciones.
  • substatementId. ID secuencial de cada subinstrucción de la instrucción principal.

Siguientes pasos