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:
Habilita los registros de auditoría de acceso a los datos para tu proyecto de AlloyDB.
Pídele a tu administrador que te otorgue el rol de Visualizador de registros privados (
roles/logging.privateLogViewer).
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
parameterystatement. El campochunkCountindica la cantidad total de fragmentos. Consulta también la descripción del campochunkIndex. - chunkIndex. Especifica el número de índice de los fragmentos de datos en los campos
parameterystatementdel contenedorrequestactual. El número inicial es1. Consulta también la descripción del campochunkCount. - command. Por ejemplo, ALTER TABLE o SELECT.
- parameter. El campo
chunkIndexpuede determinar el contenido de este campo; consulta la descripción del campochunkIndex. Si se establece el valor de la marcapgaudit.log_parameter, el campoparameterpuede 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
chunkIndexpuede determinar el contenido del campostatement. Consulta la descripción del campochunkIndex. - 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.