Volcar los registros de auditoría de la base de datos
GaussDB(DWS) registra información (registros de auditoría) sobre las conexiones y actividades de los usuarios en su base de datos. Con la información, puede monitorear la base de datos para garantizar la seguridad y facilitar la solución de problemas de fallas y la localización de registros de operaciones históricos. Estos registros de auditoría se almacenan en la base de datos de forma predeterminada. También puede volcarlos a OBS para que los usuarios que son responsables de supervisar la base de datos puedan ver los registros más convenientemente.
- Esta función no se puede utilizar si OBS no está disponible.
- Los datos pueden cambiar durante las especificaciones del grupo, la adición de CN o la eliminación de CN. Se recomienda deshabilitar el volcado del registro de auditoría durante estas operaciones.
- Después de habilitar el volcado de registros de auditoría, los registros de auditoría se volcarán si el tamaño de los registros de auditoría guardados supera 1 GB. Esto puede causar resultados anormales de la consulta. Tenga cuidado cuando realice esta operación.
- Si un nodo CN es defectuoso, los datos en el nodo CN pueden perderse.
- El soporte de versión para la partición de directorio de volcado de registro de auditoría es el siguiente:
- Para los clústeres 8.1.3.x, solo 8.1.3.322 y versiones posteriores admiten esta función. Para los clústeres 8.2.0.x, solo 8.2.0.106 y versiones posteriores admiten esta característica. De forma predeterminada, la partición del directorio de volcado del registro de auditoría está habilitada y no se puede deshabilitar.
- Para utilizar esta función en versiones anteriores, póngase en contacto con el soporte técnico para actualizar el clúster primero. Habilite manualmente esta función después de la actualización.
Prerrequisitos
Después de crear un clúster de GaussDB(DWS), puede habilitar el volcado de registros para que vuele los registros de auditoría a OBS. Antes de activar el volcado de registros de auditoría, asegúrese de que se cumplen las siguientes condiciones:
- Ha creado un bucket OBS para almacenar los registros de auditoría. Para obtener más información, consulte "Gestión de Buckets > Creación de un bucket" en la Guía de operación de la consola del servicio de almacenamiento de objetos.
Habilitación de volcados de registro de auditoría
- Inicie sesión en la consola de gestión de GaussDB(DWS).
- En el árbol de navegación de la izquierda, haga clic en Clusters.
- En la lista de clúster, haga clic en el nombre del clúster para el que desea habilitar el volcado del registro de auditoría. En el panel de navegación, elija Security.
- En el área Audit Settings, habilite Audit Log Dump.
indica que la función está habilitada. indica que la función está deshabilitada.
Cuando habilita el volcado de registros de auditoría para un proyecto en una región por primera vez, el sistema le pedirá que cree una agencia denominada DWSAccessOBS. Después de crear la delegación, GaussDB(DWS) puede volcar los registros de auditoría a OBS.
De forma predeterminada, solo las cuentas de Huawei Cloud o los usuarios con permisos de administrador de seguridad pueden consultar y crear delegaciones. Los usuarios de IAM con una cuenta no tienen permiso para consultar o crear delegaciones de forma predeterminada. Póngase en contacto con un usuario con ese permiso y complete la autorización en la página actual.
Figura 1 Habilitación de volcados de registro de auditoría- OBS Foreign Table: Los registros de auditoría pueden leerse utilizando tablas externas OBS durante el volcado. Los registros de auditoría se almacenan en formato CSV y se comprimen en formato GZ.
- OBS Bucket: Nombre del bucket OBS utilizado para almacenar los datos de auditoría. Si no hay ningún bucket OBS disponible, haga clic en View OBS Bucket para acceder a la consola OBS y crear uno. Para obtener más información, consulte en la Guía de operación de consola de Object Storage Service.
- OBS Path: Directorio definido por el usuario en OBS para almacenar archivos de auditoría. Diferentes niveles de directorio están separados por barras diagonales (/). El valor es una cadena que contiene de 1 a 50 caracteres, que no puede comenzar con una barra diagonal (/). Si la ruta de acceso OBS introducida no existe, el sistema crea una y volca los datos en ella.
- Dump Interval (Minute): Intervalo basado en el que GaussDB(DWS) volca periódicamente datos a OBS. El rango de valores es de 5 a 43200. La unidad es un minuto.
- Haga clic en Apply.
Si Configuration Status es Applying, el sistema guarda la configuración.
Cuando el estado cambia a Synchronized, las configuraciones se guardan y tienen efecto.
Modificación de configuraciones de volcado de registros de auditoría
Una vez habilitado el volcado del registro de auditoría, puede modificar las configuraciones de volcado, por ejemplo, modificando el bucket de OBS, la ruta de acceso y el intervalo de volcado.
El procedimiento es el siguiente:
- Inicie sesión en la consola de gestión de GaussDB(DWS).
- En el árbol de navegación de la izquierda, haga clic en Clusters.
- En la lista de clúster, haga clic en el nombre del clúster para el que desea modificar las configuraciones de volcado del registro de auditoría. En el panel de navegación, elija Security.
- En el área Audit Settings, modifique las configuraciones de Audit Log Dump.
- Haga clic en Apply.
Si Configuration Status es Applying, el sistema guarda la configuración.
Cuando el estado cambia a Synchronized, las configuraciones se guardan y tienen efecto.
Consulta de volcados de registro de auditoría
Una vez habilitado el volcado del registro de auditoría, puede ver los registros de auditoría volcados en OBS.
El procedimiento es el siguiente:
- Inicie sesión en la consola de gestión de GaussDB(DWS).
- En el árbol de navegación de la izquierda, haga clic en Clusters.
- En la lista de clústeres, haga clic en el nombre del clúster de destino para el que desea ver el historial de volcado de registros. En el panel de navegación, elija Security.
- En el área Audit Settings, haga clic en View Dump Record.
- En el cuadro de diálogo Audit Log Dump Records, haga clic en View OBS Bucket. Se muestra la página de consola OBS.
- Seleccione el bucket OBS y la carpeta donde se almacenan los registros para ver los archivos de registro.
Puede descargar y descomprimir los archivos para ver. Los campos de los archivos de registro de auditoría se describen de la siguiente manera:
Tabla 1 Campos de archivo de registro Campo
Tipo
Descripción
begintime
timestamp with time zone
Fecha y hora de inicio de la operación
endtime
timestamp with time zone
Fecha y hora de fin de la operación
operation_type
text
Tipo de operación. Para obtener más información, véase Tabla 2.
audit_type
text
Tipo de auditoría. Para obtener más información, véase Tabla 3.
result
text
Resultado de la operación
username
text
Nombre del usuario que realiza la operación
database
text
Nombre de base de datos
client_conninfo
text
Información de conexión del cliente, es decir, gsql, JDBC u ODBC.
object_name
text
Nombre del objeto
command_text
text
Comando utilizado para realizar la operación
detail_info
text
Detalles de operación
transaction_xid
text
ID de transacción
query_id
text
ID de consulta
node_name
text
Nombre del nodo
thread_id
text
ID de subproceso
local_port
text
Puerto local
remote_port
text
Puerto remoto
Tabla 2 Tipos de operación Tipo de operación
Descripción
audit_switch
Indica que se auditan las operaciones de activación y desactivación de la función de registro de auditoría.
login_logout
Indica que se auditan las operaciones de inicio de sesión y cierre de sesión del usuario.
system
Indica que se auditan las operaciones de inicio, apagado y conmutación de instancia del sistema.
sql_parse
Indica que se auditan las operaciones de análisis de sentencias SQL.
user_lock
Indica que se auditan las operaciones de bloqueo y desbloqueo del usuario.
grant_revoke
Indica que se auditan las operaciones de concesión y revocación de permisos de usuario.
violation
Indica que se auditan las operaciones de violación de acceso del usuario.
ddl
Indica que se auditan las operaciones DDL. Las operaciones de DDL se controlan con una granularidad fina basada en objetos de operación. Por lo tanto, se utiliza audit_system_object para controlar los objetos cuyas operaciones DDL deben auditarse. (La función de auditoría tiene efecto siempre que audit_system_object esté configurado, sin importar si ddl está configurado.)
dml
Indica que se auditan las operaciones DML.
select
Indica que se auditan las operaciones SELECT.
internal_event
Indica que se auditan las operaciones de incidentes internos.
user_func
Indica que se auditan las operaciones relacionadas con las funciones definidas por el usuario, los procedimientos almacenados y los bloques anónimos.
special_func
Indica que se auditan las operaciones de invocación de funciones especiales. Entre las funciones especiales se incluyen pg_terminate_backend y pg_cancel_backend.
copy
Indica que se auditan las operaciones COPY.
set
Indica que se auditan las operaciones SET.
transaction
Indica que se auditan las operaciones de transacción.
vacuum
Indica que las operaciones VACUUM están auditadas.
analyze
Indica que se auditan las operaciones ANALYZE.
cursor
Indica que se auditan las operaciones del cursor.
anonymous_block
Indica que se auditan las operaciones de bloque anónimo.
explain
Indica que se auditan las operaciones EXPLAIN.
show
Indica que se auditan las operaciones SHOW.
lock_table
Indica que se auditan las operaciones de bloqueo de tabla.
comment
Indica que se auditan las operaciones COMMENT.
preparestmt
Indica que las operaciones PREPARE, EXECUTE y DEALLOCATE están auditadas.
cluster
Indica que se auditan las operaciones CLUSTER.
constraints
Indica que se auditan las operaciones CONSTRAINTS.
checkpoint
Indica que se auditan las operaciones CHECKPOINT.
barrier
Indica que se auditan las operaciones BARRIER.
cleanconn
Indica que se auditan las operaciones CLEAN CONNECTION.
seclabel
Indica que se auditan las operaciones de etiquetas de seguridad.
notify
Indica que se auditan las operaciones de notificación.
load
Indica que se auditan las operaciones de carga.
Tabla 3 audit_type parameters Parámetro
Descripción
audit_open/audit_close
Indica que el tipo de auditoría son operaciones que habilitan o deshabilitan registros de auditoría.
user_login/user_logout
Indica que el tipo de auditoría son operaciones y usuarios con inicio de sesión/salida correctos.
system_start/system_stop/system_recover/system_switch
Indica que el tipo de auditoría es el inicio del sistema, el apagado y el cambio de instancia.
sql_wait/sql_parse
Indica que el tipo de auditoría es el análisis de sentencias SQL.
lock_user/unlock_user
Indica que el tipo de auditoría se bloquea y desbloquea correctamente por el usuario.
grant_role/revoke__role
Indica que el tipo de auditoría es la concesión y revocación de permisos de usuario.
user_violation
Indica que el tipo de auditoría son operaciones de acceso de usuario no autorizadas.
ddl_database_object
Indica que se auditan las operaciones DDL correctas. Las operaciones de DDL se controlan con una granularidad fina basada en objetos de operación. Por lo tanto, se utiliza audit_system_object para controlar los objetos cuyas operaciones DDL deben auditarse. (La función de auditoría tiene efecto siempre que audit_system_object esté configurado, sin importar si ddl está configurado.)
Por ejemplo, ddl_sequence indica que el tipo de auditoría son operaciones relacionadas con la secuencia.
dml_action_insert/dml_action_delete/dml_action_update/dml_action_merge/dml_action_select
Indica que el tipo de auditoría son operaciones DML como INSERT, DELETE, UPDATE y MERGE.
internal_event
Indica que el tipo de auditoría son eventos internos.
user_func
Indica que el tipo de auditoría son funciones definidas por el usuario, procedimientos almacenados u operaciones de bloque anónimas.
special_func
Indica que el tipo de auditoría es una invocación de función especial. Entre las funciones especiales se incluyen pg_terminate_backend y pg_cancel_backend.
copy_to/copy_from
Indica que el tipo de auditoría son operaciones de COPY.
set_parameter
Indica que el tipo de auditoría son operaciones de SET.
trans_begin/trans_commit/trans_prepare/trans_rollback_to/trans_release/trans_savepoint/trans_commit_prepare/trans_rollback_prepare/trans_rollback
Indica que el tipo de auditoría son operaciones relacionadas con transacciones.
vacuum/vacuum_full/vacuum_merge
Indica que el tipo de auditoría son operaciones de VACUUM.
analyze/analyze_verify
Indica que el tipo de auditoría son operaciones de ANALYZE.
cursor_declare/cursor_move/cursor_fetch/cursor_close
Indica que el tipo de auditoría son operaciones relacionadas con el cursor.
codeblock_execute
Indica que el tipo de auditoría son bloques anónimos.
explain
Indica que el tipo de auditoría son operaciones de EXPLAIN.
show
Indica que el tipo de auditoría son operaciones de SHOW.
lock_table
Indica que el tipo de auditoría son operaciones de bloqueo de tabla.
comment
Indica que el tipo de auditoría son operaciones de COMMENT.
prepare/execute/deallocate
Indica que el tipo de auditoría es operaciones PREPARE, EXECUTE o DEALLOCATE.
cluster
Indica que el tipo de auditoría son operaciones de CLUSTER.
constraints
Indica que el tipo de auditoría son operaciones de CONSTRAINTS.
checkpoint
Indica que el tipo de auditoría son operaciones de CHECKPOINT.
barrier
Indica que el tipo de auditoría son operaciones de BARRIER.
cleanconn
Indica que el tipo de auditoría son operaciones de CLEAN CONNECTION.
seclabel
Indica que el tipo de auditoría son operaciones de etiqueta de seguridad.
notify
Indica que el tipo de auditoría son operaciones de notificación.
load
Indica que el tipo de auditoría está cargando operaciones.
Desactivación de volcados de registro de auditoría
Puede deshabilitar los volcados de registros de auditoría si no desea volcar los registros de auditoría a OBS.
El procedimiento es el siguiente:
- Inicie sesión en la consola de gestión de GaussDB(DWS).
- En el árbol de navegación de la izquierda, haga clic en Clusters.
- En la lista de clústeres, haga clic en el nombre del clúster para el que desea deshabilitar el volcado del registro de auditoría. En el panel de navegación, elija Security.
- En el área Audit Settings, deshabilite el volcado del registro de auditoría.
indica que la función está deshabilitada.
- Haga clic en Apply.
Si Configuration Status es Applying, el sistema guarda la configuración.
Cuando el estado cambia a Synchronized, las configuraciones se guardan y tienen efecto.