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

En esta página, se describe cómo ver los registros de auditoría que genera pgAudit, lo que te ayuda a configurar los registros que suelen ser necesarios para cumplir con 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 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 a través de 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/your-project-name/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"

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.

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 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 o OBJECT.
  • chunkCount. Puede producirse una fragmentación 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 la cantidad de índices de los fragmentos de datos de los campos parameter y statement en el 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.
  • parámetro. El campo chunkIndex puede determinar el contenido de este campo. Consulta la descripción del campo chunkIndex. Si se establece el valor de "pgaudit.log_parameter", el campo parameter puede contener los parámetros de declaración como datos CSV entrecomillados. 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 declaración representa una llamada al backend. Los IDs de declaración son secuenciales, incluso si no se registran algunas declaraciones.
  • substatementId. Es el ID secuencial para cada subdeclaración dentro de la declaración principal.

¿Qué sigue?