Esta página describe la auditoría de bases de datos mediante la extensión pgAudit , que le ayuda a configurar muchos de los registros que a menudo se requieren para cumplir con las certificaciones gubernamentales, financieras e ISO.
Para obtener información general sobre las extensiones de PostgreSQL en Cloud SQL, consulte Extensiones de PostgreSQL .
Descripción general
La auditoría de bases de datos en Cloud SQL para PostgreSQL está disponible a través de la extensión de código abierto pgAudit.
Con esta extensión, puede registrar y rastrear selectivamente las operaciones SQL realizadas en una instancia de base de datos determinada. La extensión proporciona funciones de auditoría para supervisar y registrar un subconjunto seleccionado de operaciones.
La extensión pgAudit se aplica a los comandos y consultas SQL ejecutados. Por el contrario, los registros de auditoría de Cloud deberían usarse para auditar las operaciones administrativas y de mantenimiento realizadas en una instancia de Cloud SQL.
Consulta la página de registros de auditoría para obtener más información sobre el registro de auditoría en Cloud SQL.
Configurar la auditoría de bases de datos en Cloud SQL
Los pasos para el registro de auditoría utilizando la extensión pgAudit incluyen:
- Habilitación del indicador
cloudsql.enable_pgaudit
en Cloud SQL. - Ejecutar un comando para crear la extensión pgAudit.
- Establecer valores para el indicador
pgaudit.log
.
Después de configurar la auditoría de la base de datos, puede ver los registros y, si es necesario, deshabilitar el registro.
Configurar auditoría
Esta sección describe los conceptos básicos de la configuración de operaciones de auditoría de bases de datos.
Bandera inicial para habilitar la auditoría
En Cloud SQL, se utilizan indicadores de base de datos para muchas operaciones, como ajustar parámetros de PostgreSQL y configurar una instancia. El indicador cloudsql.enable_pgaudit
habilita la auditoría de una instancia de base de datos determinada. Puede cambiar el valor del indicador cloudsql.enable_pgaudit
mediante Google Cloud consola o mediante el comando gcloud
.
Utilice las instrucciones estándar para indicadores para habilitar el indicador cloudsql.enable_pgaudit
y establecer el valor en on
. Por ejemplo, para usar el comando gcloud
, especifique lo siguiente, sustituyendo el nombre de su instancia por [INSTANCE_NAME]
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags cloudsql.enable_pgaudit=on
El indicador cloudsql.enable_pgaudit
aparece junto con los demás indicadores compatibles y es específico de Cloud SQL.
Ejecute el comando para crear la extensión pgAudit
Tras habilitar la marca de base de datos, ejecute el comando CREATE EXTENSION
con un cliente psql compatible. El siguiente comando crea la extensión pgAudit para todas las bases de datos de una instancia de Cloud SQL:
CREATE EXTENSION pgaudit;
Establecer valores para el indicador pgaudit.log
Utilice las instrucciones estándar para indicadores para establecer valores para el indicador pgaudit.log
.
Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede utilizar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar otros ajustes para la base de datos
Para configurar los ajustes de auditoría para la base de datos, siga los procedimientos de la sección Personalización del registro de auditoría de la base de datos .
Ver registros de auditoría de la base de datos
Para ver los registros de auditoría, habilite los registros de auditoría de acceso a datos en su proyecto. Los registros de pgAudit generados para una instancia determinada se envían a Cloud Logging como registros de auditoría de acceso a datos . Los usuarios pueden ver los registros de pgAudit generados a través de la aplicación Explorador de registros .
En la aplicación Explorador de registros , los registros de pgAudit se pueden ver seleccionando el filtro de registro cloudaudit.googleapis.com/data_access .
Como alternativa, puede utilizar la siguiente consulta para mostrar todos los registros de pgAudit para un proyecto de Cloud SQL determinado:
resource.type="cloudsql_database"
logName="projects/<your-project-name>/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
Formato de registro para pgAudit
Cada entrada del registro de pgAudit en los registros de auditoría de acceso a datos tiene campos que representan la información recopilada para una consulta.
He aquí un ejemplo:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" methodName: "cloudsql.instances.query" request: { @type: "type.googleapis.com/google.cloud.sql.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 datos:
- auditClass . Tipo de la instrucción registrada. Los valores posibles son
READ
,WRITE
,FUNCTION
,ROLE
,DDL
,MISC
yMISC_SET
. - auditType .
SESSION
oOBJECT
. - chunkCount . La fragmentación puede ocurrir en los datos proporcionados en los campos de
parameter
ystatement
. El campochunkCount
indica el número total de fragmentos. Consulte también la descripción del campochunkIndex
. - chunkIndex . Especifica el número de índice de los fragmentos de datos en los campos de
parameter
ystatement
(en el contenedorrequest
actual). El número inicial es1
Consulte también la descripción del campochunkCount
. - Comando . Por ejemplo,
ALTER TABLE
oSELECT
. - Parámetro . El campo
chunkIndex
puede determinar el contenido de este campo; consulte la descripción del campochunkIndex
. Si se establece el valor depgaudit.log_parameter
, el campoparameter
puede contener los parámetros de la instrucción como datos CSV entrecomillados. Si no hay parámetros, este campo contiene[none]
. De lo contrario, contiene[not logged]
. - Declaración . Declaración ejecutada en el backend. El campo
chunkIndex
puede determinar el contenido del campostatement
; consulte la descripción del campochunkIndex
. - statementId . ID de instrucción único para esta sesión. Cada ID de instrucción representa una llamada de backend. Los ID de instrucción son secuenciales, incluso si algunas instrucciones no se registran.
- substatementId . ID secuencial para cada subdeclaración dentro de la declaración principal.
Algunos de estos campos también se describen en la documentación de pgAudit .
Deshabilitar auditoría
Para deshabilitar la auditoría de la base de datos, establezca el valor del indicador cloudsql.enable_pgaudit
en off
. Este valor se puede cambiar mediante Google Cloud Consola o mediante el comando gcloud
. Use las instrucciones estándar para desactivar la opción cloudsql.enable_pgaudit
.
Además, ejecute el comando DROP EXTENSION
, utilizando un cliente psql compatible, para eliminar el estado de la extensión:
DROP EXTENSION pgaudit;
Personalizar el registro de auditoría de bases de datos en Cloud SQL
Esta sección describe formas de personalizar el comportamiento de auditoría de una instancia de base de datos.
Para conocer las capacidades adicionales de la extensión, revise la documentación de pgAudit .
Requisito de privilegios de superusuario
En Cloud SQL, solo los usuarios con el rol cloudsqlsuperuser
pueden crear extensiones. Al crear una instancia de PostgreSQL, se crea automáticamente el usuario predeterminado de PostgreSQL (aunque debe configurar su contraseña). El usuario predeterminado de PostgreSQL forma parte del rol cloudsqlsuperuser
. Para obtener más información, consulte Usuarios de PostgreSQL .
Configurar la auditoría para todas las operaciones de base de datos en la instancia
Para configurar la auditoría de todas las bases de datos de una instancia, debe aplicar la configuración de pgAudit a nivel de sistema. Los parámetros de auditoría a nivel de sistema solo se pueden configurar como indicadores de base de datos a través de Google Cloud Consola o el comando gcloud
. Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede usar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar operaciones específicas en todas las bases de datos de instancia
Para auditar todas las bases de datos de instancia, puede utilizar elGoogle Cloud consola o el comando gcloud
. Por ejemplo, para activar la auditoría solo para operaciones de lectura y escritura en la instancia, puede usar el siguiente comando gcloud
. Este ejemplo utiliza una sintaxis basada en listas para especificar varios valores:
gcloud sql instances patch [INSTANCE_NAME] \
--database-flags ^:^cloudsql.enable_pgaudit=on:pgaudit.log=read,write
El comando sobrescribe los indicadores de la base de datos existentes.
Configurar la auditoría para una base de datos específica
Para configurar la auditoría de una base de datos específica, configure los parámetros de pgAudit a nivel de base de datos. Por ejemplo, el siguiente comando SQL puede usarse para activar la auditoría de lectura/escritura para una base de datos llamada finance
:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Configurar la auditoría para una relación
La auditoría de una relación es más limitada que la auditoría de una base de datos específica.
Al auditar una relación, se asigna un rol de auditor único al parámetro pgaudit.role
. Cualquier objeto o relación asignado a este rol se registra.
Por ejemplo, para configurar la auditoría de todas las consultas SELECT
sobre la relación salary
dentro de la base de datos employee
, puede utilizar estos comandos:
employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
También puede auditar un subconjunto de columnas para una relación determinada.
Por ejemplo, el siguiente comando configura el registro de auditoría para que se produzca solo cuando se accede a las columnas income
y tax_status
desde la relación salary
:
employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;
Configurar la auditoría para un usuario de base de datos
Puede activar la auditoría para un usuario específico configurando el parámetro pgaudit.log
en un nivel por ROLE
.
Por ejemplo, el siguiente comando SQL establece la auditoría para todas las operaciones de base de datos ejecutadas por el usuario Alice
:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Consejos para la gestión de auditorías en Cloud SQL
Al personalizar el comportamiento de auditoría, recuerde lo siguiente:
- Al desactivar la opción
cloudsql.enable_pgaudit
de la base de datos, el registro de auditoría se detiene inmediatamente. Sin embargo, la configuración de pgAudit aplicada (por ejemplo, la configuración del parámetropgaudit.log
) se conserva, a menos que se elimine explícitamente. - La instancia de la base de datos se reinicia siempre que se cambia el valor del indicador de base de datos para
cloudsql.enable_pgaudit
. - Los usuarios de bases de datos creados mediante comandos explícitos
CREATE ROLE
no tienen el privilegio de modificar la configuración de auditoría. Solo los usuarios de bases de datos creados mediante Google Cloud La consola y el comandogcloud
pueden modificar la configuración de auditoría. - Al habilitar tanto el registro de auditoría de sesiones como el de objetos, las declaraciones correspondientes a ambos se agregan a los registros. El registro de sesiones y el de objetos no se cancelan ni modifican entre sí.
Limitaciones de la extensión pgAudit en Cloud SQL para PostgreSQL
Los registros de auditoría se escriben temporalmente en el disco de su instancia, ocupando espacio antes de enviarse a Cloud Logging. Por lo tanto, revise la siguiente información antes de usar esta función:
- La tasa de ingesta de registros es de 4 MB por segundo. Cuando la carga generada por los registros supera esta tasa, puede ocurrir lo siguiente:
- Puede ocurrir un crecimiento no deseado en el uso del disco.
- El espacio en disco puede agotarse.
- Si ha habilitado esta función y ejecuta muchas consultas que cumplen con sus criterios de auditoría, el uso del disco puede crecer demasiado rápido.
- Antes de utilizar esta función, planifique lo siguiente:
- Habilitar aumentos automáticos de almacenamiento .
- Monitoree el uso general del disco; la carga generada por la generación de registros no se puede monitorear por separado. Use la métrica cloudsql.googleapis.com/database/disk/utilization en el Explorador de métricas .
- Si es necesario, reduzca el uso del disco ejecutando menos consultas o reduciendo la auditoría.
- Si se agota el espacio disponible en el disco, es posible que se pierdan los registros de auditoría de algunas consultas.
Esta página describe la auditoría de bases de datos mediante la extensión pgAudit , que le ayuda a configurar muchos de los registros que a menudo se requieren para cumplir con las certificaciones gubernamentales, financieras e ISO.
Para obtener información general sobre las extensiones de PostgreSQL en Cloud SQL, consulte Extensiones de PostgreSQL .
Descripción general
La auditoría de bases de datos en Cloud SQL para PostgreSQL está disponible a través de la extensión de código abierto pgAudit.
Con esta extensión, puede registrar y rastrear selectivamente las operaciones SQL realizadas en una instancia de base de datos determinada. La extensión proporciona funciones de auditoría para supervisar y registrar un subconjunto seleccionado de operaciones.
La extensión pgAudit se aplica a los comandos y consultas SQL ejecutados. Por el contrario, los registros de auditoría de Cloud deberían usarse para auditar las operaciones administrativas y de mantenimiento realizadas en una instancia de Cloud SQL.
Consulta la página de registros de auditoría para obtener más información sobre el registro de auditoría en Cloud SQL.
Configurar la auditoría de bases de datos en Cloud SQL
Los pasos para el registro de auditoría utilizando la extensión pgAudit incluyen:
- Habilitación del indicador
cloudsql.enable_pgaudit
en Cloud SQL. - Ejecutar un comando para crear la extensión pgAudit.
- Establecer valores para el indicador
pgaudit.log
.
Después de configurar la auditoría de la base de datos, puede ver los registros y, si es necesario, deshabilitar el registro.
Configurar auditoría
Esta sección describe los conceptos básicos de la configuración de operaciones de auditoría de bases de datos.
Bandera inicial para habilitar la auditoría
En Cloud SQL, se utilizan indicadores de base de datos para muchas operaciones, como ajustar parámetros de PostgreSQL y configurar una instancia. El indicador cloudsql.enable_pgaudit
habilita la auditoría de una instancia de base de datos determinada. Puede cambiar el valor del indicador cloudsql.enable_pgaudit
mediante Google Cloud consola o mediante el comando gcloud
.
Utilice las instrucciones estándar para indicadores para habilitar el indicador cloudsql.enable_pgaudit
y establecer el valor en on
. Por ejemplo, para usar el comando gcloud
, especifique lo siguiente, sustituyendo el nombre de su instancia por [INSTANCE_NAME]
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags cloudsql.enable_pgaudit=on
El indicador cloudsql.enable_pgaudit
aparece junto con los demás indicadores compatibles y es específico de Cloud SQL.
Ejecute el comando para crear la extensión pgAudit
Tras habilitar la marca de base de datos, ejecute el comando CREATE EXTENSION
con un cliente psql compatible. El siguiente comando crea la extensión pgAudit para todas las bases de datos de una instancia de Cloud SQL:
CREATE EXTENSION pgaudit;
Establecer valores para el indicador pgaudit.log
Utilice las instrucciones estándar para indicadores para establecer valores para el indicador pgaudit.log
.
Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede utilizar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar otros ajustes para la base de datos
Para configurar los ajustes de auditoría para la base de datos, siga los procedimientos de la sección Personalización del registro de auditoría de la base de datos .
Ver registros de auditoría de la base de datos
Para ver los registros de auditoría, habilite los registros de auditoría de acceso a datos en su proyecto. Los registros de pgAudit generados para una instancia determinada se envían a Cloud Logging como registros de auditoría de acceso a datos . Los usuarios pueden ver los registros de pgAudit generados a través de la aplicación Explorador de registros .
En la aplicación Explorador de registros , los registros de pgAudit se pueden ver seleccionando el filtro de registro cloudaudit.googleapis.com/data_access .
Como alternativa, puede utilizar la siguiente consulta para mostrar todos los registros de pgAudit para un proyecto de Cloud SQL determinado:
resource.type="cloudsql_database"
logName="projects/<your-project-name>/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
Formato de registro para pgAudit
Cada entrada del registro de pgAudit en los registros de auditoría de acceso a datos tiene campos que representan la información recopilada para una consulta.
He aquí un ejemplo:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" methodName: "cloudsql.instances.query" request: { @type: "type.googleapis.com/google.cloud.sql.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 datos:
- auditClass . Tipo de la instrucción registrada. Los valores posibles son
READ
,WRITE
,FUNCTION
,ROLE
,DDL
,MISC
yMISC_SET
. - auditType .
SESSION
oOBJECT
. - chunkCount . La fragmentación puede ocurrir en los datos proporcionados en los campos de
parameter
ystatement
. El campochunkCount
indica el número total de fragmentos. Consulte también la descripción del campochunkIndex
. - chunkIndex . Especifica el número de índice de los fragmentos de datos en los campos de
parameter
ystatement
(en el contenedorrequest
actual). El número inicial es1
Consulte también la descripción del campochunkCount
. - Comando . Por ejemplo,
ALTER TABLE
oSELECT
. - Parámetro . El campo
chunkIndex
puede determinar el contenido de este campo; consulte la descripción del campochunkIndex
. Si se establece el valor depgaudit.log_parameter
, el campoparameter
puede contener los parámetros de la instrucción como datos CSV entrecomillados. Si no hay parámetros, este campo contiene[none]
. De lo contrario, contiene[not logged]
. - Declaración . Declaración ejecutada en el backend. El campo
chunkIndex
puede determinar el contenido del campostatement
; consulte la descripción del campochunkIndex
. - statementId . ID de instrucción único para esta sesión. Cada ID de instrucción representa una llamada de backend. Los ID de instrucción son secuenciales, incluso si algunas instrucciones no se registran.
- substatementId . ID secuencial para cada subdeclaración dentro de la declaración principal.
Algunos de estos campos también se describen en la documentación de pgAudit .
Deshabilitar auditoría
Para deshabilitar la auditoría de la base de datos, establezca el valor del indicador cloudsql.enable_pgaudit
en off
. Este valor se puede cambiar mediante Google Cloud Consola o mediante el comando gcloud
. Use las instrucciones estándar para desactivar la opción cloudsql.enable_pgaudit
.
Además, ejecute el comando DROP EXTENSION
, utilizando un cliente psql compatible, para eliminar el estado de la extensión:
DROP EXTENSION pgaudit;
Personalizar el registro de auditoría de bases de datos en Cloud SQL
Esta sección describe formas de personalizar el comportamiento de auditoría de una instancia de base de datos.
Para conocer las capacidades adicionales de la extensión, revise la documentación de pgAudit .
Requisito de privilegios de superusuario
En Cloud SQL, solo los usuarios con el rol cloudsqlsuperuser
pueden crear extensiones. Al crear una instancia de PostgreSQL, se crea automáticamente el usuario predeterminado de PostgreSQL (aunque debe configurar su contraseña). El usuario predeterminado de PostgreSQL forma parte del rol cloudsqlsuperuser
. Para obtener más información, consulte Usuarios de PostgreSQL .
Configurar la auditoría para todas las operaciones de base de datos en la instancia
Para configurar la auditoría de todas las bases de datos de una instancia, debe aplicar la configuración de pgAudit a nivel de sistema. Los parámetros de auditoría a nivel de sistema solo se pueden configurar como indicadores de base de datos a través de Google Cloud Consola o el comando gcloud
. Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede usar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar operaciones específicas en todas las bases de datos de instancia
Para auditar todas las bases de datos de instancia, puede utilizar elGoogle Cloud consola o el comando gcloud
. Por ejemplo, para activar la auditoría solo para operaciones de lectura y escritura en la instancia, puede usar el siguiente comando gcloud
. Este ejemplo utiliza una sintaxis basada en listas para especificar varios valores:
gcloud sql instances patch [INSTANCE_NAME] \
--database-flags ^:^cloudsql.enable_pgaudit=on:pgaudit.log=read,write
El comando sobrescribe los indicadores de la base de datos existentes.
Configurar la auditoría para una base de datos específica
Para configurar la auditoría de una base de datos específica, configure los parámetros de pgAudit a nivel de base de datos. Por ejemplo, el siguiente comando SQL puede usarse para activar la auditoría de lectura/escritura para una base de datos llamada finance
:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Configurar la auditoría para una relación
La auditoría de una relación es más limitada que la auditoría de una base de datos específica.
Al auditar una relación, se asigna un rol de auditor único al parámetro pgaudit.role
. Cualquier objeto o relación asignado a este rol se registra.
Por ejemplo, para configurar la auditoría de todas las consultas SELECT
sobre la relación salary
dentro de la base de datos employee
, puede utilizar estos comandos:
employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
También puede auditar un subconjunto de columnas para una relación determinada.
Por ejemplo, el siguiente comando configura el registro de auditoría para que se produzca solo cuando se accede a las columnas income
y tax_status
desde la relación salary
:
employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;
Configurar la auditoría para un usuario de base de datos
Puede activar la auditoría para un usuario específico configurando el parámetro pgaudit.log
en un nivel por ROLE
.
Por ejemplo, el siguiente comando SQL establece la auditoría para todas las operaciones de base de datos ejecutadas por el usuario Alice
:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Consejos para la gestión de auditorías en Cloud SQL
Al personalizar el comportamiento de auditoría, recuerde lo siguiente:
- Al desactivar la opción
cloudsql.enable_pgaudit
de la base de datos, el registro de auditoría se detiene inmediatamente. Sin embargo, la configuración de pgAudit aplicada (por ejemplo, la configuración del parámetropgaudit.log
) se conserva, a menos que se elimine explícitamente. - La instancia de la base de datos se reinicia siempre que se cambia el valor del indicador de base de datos para
cloudsql.enable_pgaudit
. - Los usuarios de bases de datos creados mediante comandos explícitos
CREATE ROLE
no tienen el privilegio de modificar la configuración de auditoría. Solo los usuarios de bases de datos creados mediante Google Cloud La consola y el comandogcloud
pueden modificar la configuración de auditoría. - Al habilitar tanto el registro de auditoría de sesiones como el de objetos, las declaraciones correspondientes a ambos se agregan a los registros. El registro de sesiones y el de objetos no se cancelan ni modifican entre sí.
Limitaciones de la extensión pgAudit en Cloud SQL para PostgreSQL
Los registros de auditoría se escriben temporalmente en el disco de su instancia, ocupando espacio antes de enviarse a Cloud Logging. Por lo tanto, revise la siguiente información antes de usar esta función:
- La tasa de ingesta de registros es de 4 MB por segundo. Cuando la carga generada por los registros supera esta tasa, puede ocurrir lo siguiente:
- Puede ocurrir un crecimiento no deseado en el uso del disco.
- El espacio en disco puede agotarse.
- Si ha habilitado esta función y ejecuta muchas consultas que cumplen con sus criterios de auditoría, el uso del disco puede crecer demasiado rápido.
- Antes de utilizar esta función, planifique lo siguiente:
- Habilitar aumentos automáticos de almacenamiento .
- Monitoree el uso general del disco; la carga generada por la generación de registros no se puede monitorear por separado. Use la métrica cloudsql.googleapis.com/database/disk/utilization en el Explorador de métricas .
- Si es necesario, reduzca el uso del disco ejecutando menos consultas o reduciendo la auditoría.
- Si se agota el espacio disponible en el disco, es posible que se pierdan los registros de auditoría de algunas consultas.
Esta página describe la auditoría de bases de datos mediante la extensión pgAudit , que le ayuda a configurar muchos de los registros que a menudo se requieren para cumplir con las certificaciones gubernamentales, financieras e ISO.
Para obtener información general sobre las extensiones de PostgreSQL en Cloud SQL, consulte Extensiones de PostgreSQL .
Descripción general
La auditoría de bases de datos en Cloud SQL para PostgreSQL está disponible a través de la extensión de código abierto pgAudit.
Con esta extensión, puede registrar y rastrear selectivamente las operaciones SQL realizadas en una instancia de base de datos determinada. La extensión proporciona funciones de auditoría para supervisar y registrar un subconjunto seleccionado de operaciones.
La extensión pgAudit se aplica a los comandos y consultas SQL ejecutados. Por el contrario, los registros de auditoría de Cloud deberían usarse para auditar las operaciones administrativas y de mantenimiento realizadas en una instancia de Cloud SQL.
Consulta la página de registros de auditoría para obtener más información sobre el registro de auditoría en Cloud SQL.
Configurar la auditoría de bases de datos en Cloud SQL
Los pasos para el registro de auditoría utilizando la extensión pgAudit incluyen:
- Habilitación del indicador
cloudsql.enable_pgaudit
en Cloud SQL. - Ejecutar un comando para crear la extensión pgAudit.
- Establecer valores para el indicador
pgaudit.log
.
Después de configurar la auditoría de la base de datos, puede ver los registros y, si es necesario, deshabilitar el registro.
Configurar auditoría
Esta sección describe los conceptos básicos de la configuración de operaciones de auditoría de bases de datos.
Bandera inicial para habilitar la auditoría
En Cloud SQL, se utilizan indicadores de base de datos para muchas operaciones, como ajustar parámetros de PostgreSQL y configurar una instancia. El indicador cloudsql.enable_pgaudit
habilita la auditoría de una instancia de base de datos determinada. Puede cambiar el valor del indicador cloudsql.enable_pgaudit
mediante Google Cloud consola o mediante el comando gcloud
.
Utilice las instrucciones estándar para indicadores para habilitar el indicador cloudsql.enable_pgaudit
y establecer el valor en on
. Por ejemplo, para usar el comando gcloud
, especifique lo siguiente, sustituyendo el nombre de su instancia por [INSTANCE_NAME]
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags cloudsql.enable_pgaudit=on
El indicador cloudsql.enable_pgaudit
aparece junto con los demás indicadores compatibles y es específico de Cloud SQL.
Ejecute el comando para crear la extensión pgAudit
Tras habilitar la marca de base de datos, ejecute el comando CREATE EXTENSION
con un cliente psql compatible. El siguiente comando crea la extensión pgAudit para todas las bases de datos de una instancia de Cloud SQL:
CREATE EXTENSION pgaudit;
Establecer valores para el indicador pgaudit.log
Utilice las instrucciones estándar para indicadores para establecer valores para el indicador pgaudit.log
.
Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede utilizar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar otros ajustes para la base de datos
Para configurar los ajustes de auditoría para la base de datos, siga los procedimientos de la sección Personalización del registro de auditoría de la base de datos .
Ver registros de auditoría de la base de datos
Para ver los registros de auditoría, habilite los registros de auditoría de acceso a datos en su proyecto. Los registros de pgAudit generados para una instancia determinada se envían a Cloud Logging como registros de auditoría de acceso a datos . Los usuarios pueden ver los registros de pgAudit generados a través de la aplicación Explorador de registros .
En la aplicación Explorador de registros , los registros de pgAudit se pueden ver seleccionando el filtro de registro cloudaudit.googleapis.com/data_access .
Como alternativa, puede utilizar la siguiente consulta para mostrar todos los registros de pgAudit para un proyecto de Cloud SQL determinado:
resource.type="cloudsql_database"
logName="projects/<your-project-name>/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
Formato de registro para pgAudit
Cada entrada del registro de pgAudit en los registros de auditoría de acceso a datos tiene campos que representan la información recopilada para una consulta.
He aquí un ejemplo:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" methodName: "cloudsql.instances.query" request: { @type: "type.googleapis.com/google.cloud.sql.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 datos:
- auditClass . Tipo de la instrucción registrada. Los valores posibles son
READ
,WRITE
,FUNCTION
,ROLE
,DDL
,MISC
yMISC_SET
. - auditType .
SESSION
oOBJECT
. - chunkCount . La fragmentación puede ocurrir en los datos proporcionados en los campos de
parameter
ystatement
. El campochunkCount
indica el número total de fragmentos. Consulte también la descripción del campochunkIndex
. - chunkIndex . Especifica el número de índice de los fragmentos de datos en los campos de
parameter
ystatement
(en el contenedorrequest
actual). El número inicial es1
Consulte también la descripción del campochunkCount
. - Comando . Por ejemplo,
ALTER TABLE
oSELECT
. - Parámetro . El campo
chunkIndex
puede determinar el contenido de este campo; consulte la descripción del campochunkIndex
. Si se establece el valor depgaudit.log_parameter
, el campoparameter
puede contener los parámetros de la instrucción como datos CSV entrecomillados. Si no hay parámetros, este campo contiene[none]
. De lo contrario, contiene[not logged]
. - Declaración . Declaración ejecutada en el backend. El campo
chunkIndex
puede determinar el contenido del campostatement
; consulte la descripción del campochunkIndex
. - statementId . ID de instrucción único para esta sesión. Cada ID de instrucción representa una llamada de backend. Los ID de instrucción son secuenciales, incluso si algunas instrucciones no se registran.
- substatementId . ID secuencial para cada subdeclaración dentro de la declaración principal.
Algunos de estos campos también se describen en la documentación de pgAudit .
Deshabilitar auditoría
Para deshabilitar la auditoría de la base de datos, establezca el valor del indicador cloudsql.enable_pgaudit
en off
. Este valor se puede cambiar mediante Google Cloud Consola o mediante el comando gcloud
. Use las instrucciones estándar para desactivar la opción cloudsql.enable_pgaudit
.
Además, ejecute el comando DROP EXTENSION
, utilizando un cliente psql compatible, para eliminar el estado de la extensión:
DROP EXTENSION pgaudit;
Personalizar el registro de auditoría de bases de datos en Cloud SQL
Esta sección describe formas de personalizar el comportamiento de auditoría de una instancia de base de datos.
Para conocer las capacidades adicionales de la extensión, revise la documentación de pgAudit .
Requisito de privilegios de superusuario
En Cloud SQL, solo los usuarios con el rol cloudsqlsuperuser
pueden crear extensiones. Al crear una instancia de PostgreSQL, se crea automáticamente el usuario predeterminado de PostgreSQL (aunque debe configurar su contraseña). El usuario predeterminado de PostgreSQL forma parte del rol cloudsqlsuperuser
. Para obtener más información, consulte Usuarios de PostgreSQL .
Configurar la auditoría para todas las operaciones de base de datos en la instancia
Para configurar la auditoría de todas las bases de datos de una instancia, debe aplicar la configuración de pgAudit a nivel de sistema. Los parámetros de auditoría a nivel de sistema solo se pueden configurar como indicadores de base de datos a través de Google Cloud Consola o el comando gcloud
. Por ejemplo, para activar la auditoría de todas las operaciones de base de datos en una instancia, puede usar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar operaciones específicas en todas las bases de datos de instancia
Para auditar todas las bases de datos de instancia, puede utilizar elGoogle Cloud consola o el comando gcloud
. Por ejemplo, para activar la auditoría solo para operaciones de lectura y escritura en la instancia, puede usar el siguiente comando gcloud
. Este ejemplo utiliza una sintaxis basada en listas para especificar varios valores:
gcloud sql instances patch [INSTANCE_NAME] \
--database-flags ^:^cloudsql.enable_pgaudit=on:pgaudit.log=read,write
El comando sobrescribe los indicadores de la base de datos existentes.
Configurar la auditoría para una base de datos específica
Para configurar la auditoría de una base de datos específica, configure los parámetros de pgAudit a nivel de base de datos. Por ejemplo, el siguiente comando SQL puede usarse para activar la auditoría de lectura/escritura para una base de datos llamada finance
:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Configurar la auditoría para una relación
La auditoría de una relación es más limitada que la auditoría de una base de datos específica.
Al auditar una relación, se asigna un rol de auditor único al parámetro pgaudit.role
. Cualquier objeto o relación asignado a este rol se registra.
Por ejemplo, para configurar la auditoría de todas las consultas SELECT
sobre la relación salary
dentro de la base de datos employee
, puede utilizar estos comandos:
employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
También puede auditar un subconjunto de columnas para una relación determinada.
Por ejemplo, el siguiente comando configura el registro de auditoría para que se produzca solo cuando se accede a las columnas income
y tax_status
desde la relación salary
:
employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;
Configurar la auditoría para un usuario de base de datos
Puede activar la auditoría de un usuario específico configurando el parámetro pgaudit.log
en un nivel de rol por ROLE
.
Por ejemplo, el siguiente comando SQL establece la auditoría de todas las operaciones de la base de datos ejecutadas por el usuario Alice
:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Consejos para la gestión de auditorías en la nube SQL
Cuando personalice el comportamiento de auditoría, recuerde lo siguiente:
- Cuando el indicador de la base de datos
cloudsql.enable_pgaudit
está apagado, el registro de auditoría se detiene inmediatamente. Sin embargo, se conservan la configuración de PGaudit aplicada (por ejemplo, la configuración del parámetropgaudit.log
), a menos que se eliminen explícitamente. - La instancia de la base de datos se reinicia cada vez que se cambia el valor del indicador de la base de datos para
cloudsql.enable_pgaudit
. - Los usuarios de bases de datos creados a través de comandos
CREATE ROLE
explícitos carecen del privilegio para modificar la configuración de auditoría. Solo usuarios de bases de datos creados a través del Google Cloud La consola y el comandogcloud
pueden modificar la configuración de auditoría. - Cuando habilita el registro de auditorías de sesión y el registro de auditorías de objetos, las declaraciones relacionadas con ambos se agregan a los registros. El registro de la sesión y el registro de objetos no se cancelan ni se modifican.
Limitaciones de la extensión PGAUDIT en Cloud SQL para PostgreSQL
Los registros de auditoría se escriben temporalmente en el disco de su instancia, ocupando espacio en el disco antes de que los registros se envíen a la registro de la nube. Por lo tanto, revise toda la siguiente información antes de usar esta función:
- La tasa de ingestión de registros es de 4 MB por segundo. Cuando la carga de la generación de registro excede la tasa de ingestión, puede ocurrir lo siguiente:
- Puede ocurrir un crecimiento no deseado en el uso del disco.
- El espacio en el disco puede agotarse.
- Si ha habilitado esta función y ejecuta muchas consultas que cumplen con sus criterios de auditoría, el uso del disco puede crecer demasiado rápido.
- Antes de usar esta función, planifique:
- Habilitar aumentos automáticos de almacenamiento .
- Monitorear el uso general del disco; La carga de la generación de registro no se puede monitorear por separado. Use el Cloudsql.googleapis.com/database/disk/utilization Metric en el Explorador de métricas .
- Si es necesario, reduzca el uso del disco ejecutando menos consultas o reduciendo la auditoría.
- Si el espacio de disco disponible está agotado, se pueden perder registros de auditoría para algunas consultas.
Esta página describe la auditoría de la base de datos utilizando la extensión PGaudit , que le ayuda a configurar muchos de los registros que a menudo se requieren para cumplir con las certificaciones gubernamentales, financieras e ISO.
Para obtener información general sobre las extensiones de PostgreSQL en la nube SQL, consulte las extensiones PostgreSQL .
Descripción general
La auditoría de la base de datos en Cloud SQL para PostgreSQL está disponible a través de la extensión PGAUDIT de código abierto.
Usando esta extensión, puede registrar y rastrear selectivamente las operaciones SQL realizadas en una instancia de base de datos dada. La extensión le proporciona capacidades de auditoría para monitorear y registrar un subconjunto seleccionado de operaciones.
La extensión PGaudit se aplica a los comandos y consultas SQL ejecutados. Por el contrario, los registros de auditoría en la nube deben usarse para auditar las operaciones administrativas y de mantenimiento realizadas en una instancia de SQL en la nube.
Consulte la página de registros de auditoría para obtener más información sobre el registro de auditorías en Cloud SQL.
Configurar la auditoría de la base de datos en la nube SQL
Los pasos para registrar la auditoría utilizando la extensión PGaudit incluyen:
- Habilitando el indicador
cloudsql.enable_pgaudit
en la nube SQL. - Ejecutando un comando para crear la extensión PGaudit.
- Configuración de valores para el indicador
pgaudit.log
.
Después de configurar la auditoría de la base de datos, puede ver los registros y, si es necesario, deshabilitar el registro.
Configurar auditoría
Esta sección describe los conceptos básicos de configurar operaciones de auditoría de bases de datos.
Bandera inicial para habilitar la auditoría
En la nube SQL, utiliza indicadores de bases de datos para muchas operaciones, incluido el ajuste de los parámetros PostgreSQL y la configuración de una instancia. El indicador cloudsql.enable_pgaudit
permite la auditoría para una instancia de base de datos dada. Puede cambiar el valor de la bandera de cloudsql.enable_pgaudit
a través del Google Cloud consola o a través del comando gcloud
.
Use las instrucciones estándar para los Flags para habilitar el indicador cloudsql.enable_pgaudit
, configurando el valor en on
. Por ejemplo, para usar el comando gcloud
, especifique lo siguiente, sustituyendo el nombre de su instancia por [INSTANCE_NAME]
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags cloudsql.enable_pgaudit=on
El indicador cloudsql.enable_pgaudit
se enumera con las otras banderas compatibles y es específica de Cloud SQL.
Ejecute el comando para crear la extensión PGaudit
Después de habilitar el indicador de la base de datos, ejecute el comando CREATE EXTENSION
utilizando un cliente PSQL compatible. El siguiente comando crea la extensión PGaudit para todas las bases de datos en una instancia de SQL en la nube:
CREATE EXTENSION pgaudit;
Establecer valores para la bandera pgaudit.log
Use las instrucciones estándar para los indicadores para establecer valores para el indicador pgaudit.log
.
Por ejemplo, para activar la auditoría de todas las operaciones de la base de datos en una instancia, puede usar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar otras configuraciones para la base de datos
Para configurar la configuración de auditoría para la base de datos, siga los procedimientos en la sección de registro de auditoría de la base de datos de personalización .
Ver registros de auditoría de la base de datos
Para ver los registros de auditoría, habilite los registros de auditoría de acceso a datos para su proyecto. Los registros de PGaudit generados para una instancia determinada se envían a la registro de la nube como registros de auditoría de acceso a datos . Los usuarios pueden ver los registros de PGaudit generados a través de la aplicación Logs Explorer .
En la aplicación Logs Explorer , los registros de PGAUDIT se pueden ver seleccionando el filtro de registro de Cloudaudit.googleapis.com/data_access .
Alternativamente, puede usar la siguiente consulta para mostrar todos los registros de PGaudit para un proyecto SQL de nube dado:
resource.type="cloudsql_database"
logName="projects/<your-project-name>/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
Formato de registro para PGAUDIT
Cada entrada de registro de PGAUDIT en los registros de auditoría de acceso a datos tiene campos que representan la información recopilada para una consulta.
He aquí un ejemplo:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" methodName: "cloudsql.instances.query" request: { @type: "type.googleapis.com/google.cloud.sql.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" } } }
Las siguientes son descripciones de los campos en los registros de auditoría de acceso a datos:
- auditoría . El tipo de declaración que está registrada. Los valores posibles son
READ
,WRITE
,FUNCTION
,ROLE
,DDL
,MISC
yMISC_SET
. - Audittype .
SESSION
uOBJECT
. - Cuero . La fragmentación puede ocurrir en los datos proporcionados en los campos de
parameter
ystatement
. El campo dechunkCount
indica el número total de fragmentos. También vea la descripción del campochunkIndex
. - Chunkindex . Especifica el número de índice de los fragmentos de datos en los campos
parameter
ystatement
(en el contenedorrequest
actual). El número inicial es1
También vea la descripción del campo de lachunkCount
. - comando . Por ejemplo,
ALTER TABLE
oSELECT
. - parámetro . El campo
chunkIndex
puede determinar el contenido de este campo; Consulte la descripción del campochunkIndex
. Si se establece el valor parapgaudit.log_parameter
, el campoparameter
puede contener los parámetros de instrucción como los datos citados de CSV. Si no hay parámetros, este campo contiene[none]
. De lo contrario, este campo contiene[not logged]
. - declaración . Declaración que se ejecutó en el backend. El campo
chunkIndex
puede determinar el contenido del campostatement
; Consulte la descripción del campochunkIndex
. - Declarado . ID de declaración única para esta sesión. Cada ID de declaración representa una llamada de backend. Los ID de instrucción son secuenciales, incluso si algunas declaraciones no están registradas.
- Substatementid . ID secuencial para cada subestimación dentro de la declaración principal.
Algunos de estos campos también se describen en la documentación de PGAUDIT .
Deshabilitar la auditoría
Para deshabilitar la auditoría de la base de datos, establezca el valor del indicador cloudsql.enable_pgaudit
en off
. El valor se puede cambiar a través del Google Cloud consola o a través del comando gcloud
. Use las instrucciones estándar de los Flags para deshabilitar la bandera cloudsql.enable_pgaudit
.
Además, ejecute el comando DROP EXTENSION
, utilizando un cliente PSQL compatible, para eliminar el estado de extensión:
DROP EXTENSION pgaudit;
Personalizar el registro de auditorías de la base de datos en Cloud SQL
Esta sección describe formas de personalizar el comportamiento de auditoría de una instancia de base de datos.
Para capacidades adicionales de la extensión, revise la documentación de PGAUDIT .
Requisito de privilegios de superusuario
En la nube SQL, los usuarios solo pueden crear extensiones que forman parte del rol de cloudsqlsuperuser
. Cuando crea una nueva instancia de PostgreSQL, el usuario PostgreSQL predeterminado se crea para usted (aunque debe establecer la contraseña del usuario). El usuario PostgreSQL predeterminado es parte del rol de cloudsqlsuperuser
. Para obtener más información, consulte los usuarios de PostgreSQL .
Configurar la auditoría para todas las operaciones de la base de datos en la instancia
Para configurar la auditoría para todas las bases de datos en una instancia, debe aplicar la configuración de PGaudit a nivel del sistema. Los parámetros de auditoría a nivel de sistema se pueden establecer solo como indicadores de la base de datos a través del Google Cloud consola o el comando gcloud
. Por ejemplo, para activar la auditoría de todas las operaciones de la base de datos en una instancia, puede usar el siguiente comando gcloud
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags \
cloudsql.enable_pgaudit=on,pgaudit.log=all
Configurar operaciones específicas en todas las bases de datos de instancias
Para auditar en todas las bases de datos de instancias, puede usar elGoogle Cloud consola o el comando gcloud
. Por ejemplo, para activar la auditoría de operaciones solo de lectura y escritura en la instancia, puede usar el siguiente comando gcloud
. Este ejemplo utiliza una sintaxis basada en listas para especificar múltiples valores:
gcloud sql instances patch [INSTANCE_NAME] \
--database-flags ^:^cloudsql.enable_pgaudit=on:pgaudit.log=read,write
El comando sobrescribe los indicadores de la base de datos existentes.
Configurar la auditoría para una base de datos específica
Para configurar la auditoría para una base de datos específica, establezca los parámetros PGaudit en el nivel de base de datos. Por ejemplo, el siguiente comando SQL se puede usar para activar la auditoría de lectura/escritura para una base de datos llamada finance
:
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
Configurar la auditoría para una relación
La auditoría para una relación es más estrecha que la auditoría para una base de datos específica.
Cuando audita para una relación, se asigna un rol de auditor único al parámetro pgaudit.role
. Se registra cualquier objeto o relación que se otorgue a este rol.
Por ejemplo, para configurar la auditoría para todas las consultas SELECT
en la relación salary
dentro de la base de datos employee
, puede usar estos comandos:
employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
También puede auditar un subconjunto de columnas para una relación dada.
Por ejemplo, el siguiente comando configura el registro de auditorías para ocurrir solo cuando se accede a los income
de las columnas y tax_status
a la relación salary
:
employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;
Configurar la auditoría para un usuario de la base de datos
Puede activar la auditoría de un usuario específico configurando el parámetro pgaudit.log
en un nivel de rol por ROLE
.
Por ejemplo, el siguiente comando SQL establece la auditoría de todas las operaciones de la base de datos ejecutadas por el usuario Alice
:
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
Consejos para la gestión de auditorías en la nube SQL
Cuando personalice el comportamiento de auditoría, recuerde lo siguiente:
- Cuando el indicador de la base de datos
cloudsql.enable_pgaudit
está apagado, el registro de auditoría se detiene inmediatamente. Sin embargo, se conservan la configuración de PGaudit aplicada (por ejemplo, la configuración del parámetropgaudit.log
), a menos que se eliminen explícitamente. - La instancia de la base de datos se reinicia cada vez que se cambia el valor del indicador de la base de datos para
cloudsql.enable_pgaudit
. - Los usuarios de bases de datos creados a través de comandos
CREATE ROLE
explícitos carecen del privilegio para modificar la configuración de auditoría. Solo usuarios de bases de datos creados a través del Google Cloud La consola y el comandogcloud
pueden modificar la configuración de auditoría. - Cuando habilita el registro de auditorías de sesión y el registro de auditorías de objetos, las declaraciones relacionadas con ambos se agregan a los registros. El registro de la sesión y el registro de objetos no se cancelan ni se modifican.
Limitaciones de la extensión PGAUDIT en Cloud SQL para PostgreSQL
Los registros de auditoría se escriben temporalmente en el disco de su instancia, ocupando espacio en el disco antes de que los registros se envíen a la registro de la nube. Por lo tanto, revise toda la siguiente información antes de usar esta función:
- La tasa de ingestión de registros es de 4 MB por segundo. Cuando la carga de la generación de registro excede la tasa de ingestión, puede ocurrir lo siguiente:
- Puede ocurrir un crecimiento no deseado en el uso del disco.
- El espacio en el disco puede agotarse.
- Si ha habilitado esta función y ejecuta muchas consultas que cumplen con sus criterios de auditoría, el uso del disco puede crecer demasiado rápido.
- Antes de usar esta función, planifique:
- Habilitar aumentos automáticos de almacenamiento .
- Monitorear el uso general del disco; La carga de la generación de registro no se puede monitorear por separado. Use el Cloudsql.googleapis.com/database/disk/utilization Metric en el Explorador de métricas .
- Si es necesario, reduzca el uso del disco ejecutando menos consultas o reduciendo la auditoría.
- Si el espacio de disco disponible está agotado, se pueden perder registros de auditoría para algunas consultas.