Matriz JSON databaseActivityEventList para flujos de actividad de base de datos
La carga de registro de auditoría es una matriz JSON databaseActivityEventList
cifrada. En las tablas siguientes, se enumeran alfabéticamente los campos de cada evento de actividad de la matriz DatabaseActivityEventList
descifrada de un registro de auditoría. Los campos son diferentes en función de si utiliza Aurora PostgreSQL o Aurora MySQL. Consulte la tabla que se aplica al motor de base de datos.
importante
La estructura de los eventos está sujeta a cambio. Aurora podría agregar nuevos campos a eventos de actividad en el futuro. En las aplicaciones que analizan los datos JSON, asegúrese de que el código puede ignorar o tomar las acciones adecuadas para nombres de campo desconocidos.
Campos de databaseActivityEventList para Aurora PostgreSQL
A continuación, encontrará campos de databaseActivityEventList
para Aurora PostgreSQL.
Campo | Tipo de datos | Descripción |
---|---|---|
class |
string |
Clase de evento de actividad. Los valores válidos para Aurora PostgreSQL son los siguientes:
|
clientApplication |
string | Aplicación que el cliente ha usado para establecer conexión según notificación del cliente. No es obligatorio que el cliente notifique esta información, por lo que el valor puede ser nulo. |
command |
string | Nombre del comando SQL sin ningún detalle del comando. |
commandText |
string |
Instrucción SQL real que el usuario ha pasado. Para Aurora PostgreSQL, el valor es idéntico a la instrucción SQL original. Este campo se usa para todo tipo de registros, salvo para registros de conexión o desconexión, en cuyo caso el valor es nulo. importanteEl texto SQL completo de cada instrucción está visible en el registro de auditoría de secuencia de actividades, incluida la información confidencial. Sin embargo, las contraseñas de usuario de la base de datos se redactan si se Aurora puede determinar a partir del contexto, tal y como pasa con la siguiente instrucción SQL.
|
databaseName |
string | Base de datos a la que se ha conectado el usuario. |
dbProtocol |
string | El protocolo de base de datos, por ejemplo Postgres 3.0 . |
dbUserName |
string | Usuario de base de datos que el cliente ha usado para autenticarse. |
errorMessage (solo registros de actividad de la base de datos de la versión 1.1) |
string |
Si hubo algún error, este campo se rellena con el mensaje de error que habría generado el servidor de base de datos. El valor Un error se define como cualquier actividad que produzca un evento de registro de errores de PostgreSQL visible para el cliente en un nivel de gravedad de Los errores internos del servidor PostgreSQL, como los errores de proceso del generador de puntos de comprobación en segundo plano, no generan un mensaje de error. Sin embargo, los registros de tales eventos se siguen emitiendo independientemente de la configuración del nivel de gravedad del registro. Esto evita que los atacantes desactiven el registro para intentar evitar la detección. Consulte también el campo |
exitCode |
int | Valor usado para un registro de salida de sesión. Si la salida es limpia, contiene el código de salida. No siempre se puede obtener un código de salida en algunos escenarios de error. Por ejemplo, este es el caso cuando PostgreSQL genera un exit() o si un operador ejecuta un comando kill -9 .Si se produjo algún error, el campo Consulte también el campo |
logTime |
string | Marca temporal según se ha registrado en la ruta del código de auditoría. Esto representa la hora de finalización de la ejecución de la instrucción SQL. Consulte también el campo startTime . |
netProtocol |
string | Protocolo de comunicación de red |
objectName |
string | Nombre del objeto de base de datos si la instrucción SQL opera en uno. Este campo solo se usa cuando la instrucción SQL funciona en un objeto de base de datos. Si la instrucción SQL no opera en un objeto, este valor es nulo. |
objectType |
string | Tipo de objeto de base de datos como mesa, índice, vista, etc. Este campo solo se usa cuando la instrucción SQL funciona en un objeto de base de datos. Si la instrucción SQL no opera en un objeto, este valor es nulo. Entre los valores válidos se incluyen los siguientes:
|
paramList |
string | Matriz de parámetros separados por comas que se transfiere a la instrucción SQL. Si la instrucción SQL no tiene parámetros, este valor es una matriz vacía. |
pid |
int | ID del proceso de backend que se asigna para atender la conexión cliente. |
remoteHost |
string | La dirección IP del cliente o el nombre de host. Para Aurora PostgreSQL, el que se utiliza depende de la configuración del parámetro log_hostname de la base de datos. El valor remoteHost también incluye [local] y localhost , que indican actividad del usuario rdsadmin . |
remotePort |
cadena | Número de puerto del cliente. |
rowCount |
int | La cantidad de filas devueltas por la instrucción SQL. Por ejemplo, si una instrucción SELECT devuelve 10 filas, rowCount es 10. Para las instrucciones INSERT o UPDATE, rowCount es 0. |
serverHost |
string | Dirección IP del host de servidor de la base de datos. El valor serverHost también incluye [local] y localhost , que indican actividad del usuario rdsadmin . |
serverType |
cadena | Tipo de servidor de base de datos; por ejemplo, PostgreSQL . |
serverVersion |
string | La versión del servidor de base de datos, por ejemplo 2.3.1 para Aurora PostgreSQL. |
serviceName |
string | Nombre del servicio, por ejemplo Amazon Aurora PostgreSQL-Compatible edition . |
sessionId |
int | Identificador de sesión pseudoúnico. |
sessionId |
int | Identificador de sesión pseudoúnico. |
startTime (solo registros de actividad de la base de datos de la versión 1.1) |
string |
La hora a la que comenzó la ejecución de la instrucción SQL. Para calcular el tiempo de ejecución aproximado de la instrucción SQL, utilice |
statementId |
int | Un identificador de la instrucción SQL del cliente. El contador está en el nivel de sesión y aumenta con cada instrucción SQL que el cliente introduce. |
substatementId |
int | Un identificador de una subinstrucción SQL. Este valor cuenta las subinstrucciones contenidas por cada instrucción SQL que el campo statementId identifica. |
type |
string | Tipo de evento. Los valores válidos son record o heartbeat . |
Campos de databaseActivityEventList para Aurora MySQL
A continuación, encontrará campos de databaseActivityEventList
para Aurora MySQL.
Campo | Tipo de datos | Descripción |
---|---|---|
class |
string |
Clase de evento de actividad. Los valores válidos para Aurora MySQL son los siguientes:
|
clientApplication |
string | Aplicación que el cliente ha usado para establecer conexión según notificación del cliente. No es obligatorio que el cliente notifique esta información, por lo que el valor puede ser nulo. |
command |
string |
La categoría general de la instrucción SQL. Los valores de este campo dependen del valor de Los valores cuando
Los valores cuando
|
commandText |
string |
Para los eventos con un valor Para los eventos con un valor Para Aurora MySQL, los caracteres como comillas van precedidos de una barra diagonal inversa, que representa un carácter de escape. importanteEl texto SQL completo de cada instrucción está visible en el registro de auditoría, incluida la información confidencial. Sin embargo, las contraseñas de usuario de la base de datos se redactan si se Aurora puede determinar a partir del contexto, tal y como pasa con la siguiente instrucción SQL.
notaEspecifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad. |
databaseName |
cadena | Base de datos a la que se ha conectado el usuario. |
dbProtocol |
string | Protocolo de la base de datos. Actualmente, este valor es siempre MySQL para Aurora MySQL. |
dbUserName |
string | Usuario de base de datos que el cliente ha usado para autenticarse. |
endTime (solo registros de actividad de la base de datos de la versión 1.2) |
string |
La hora a la que finalizó la ejecución de la instrucción SQL. Se representa en formato de hora universal coordinada (UTC). Para calcular el tiempo de ejecución de la instrucción SQL, utilice |
errorMessage (solo registros de actividad de la base de datos de la versión 1.1) |
string |
Si hubo algún error, este campo se rellena con el mensaje de error que habría generado el servidor de base de datos. El valor Un error se define como cualquier actividad que produciría un evento de registro de errores de MySQL visible para el cliente en un nivel de gravedad de Los errores internos del servidor MySQL, como los errores de proceso del generador de puntos de comprobación en segundo plano, no generan un mensaje de error. Sin embargo, los registros de tales eventos se siguen emitiendo independientemente de la configuración del nivel de gravedad del registro. Esto evita que los atacantes desactiven el registro para intentar evitar la detección. Consulte también el campo |
exitCode |
int | Valor usado para un registro de salida de sesión. Si la salida es limpia, contiene el código de salida. No siempre se puede obtener un código de salida en algunos escenarios de error. En tales casos, este valor puede ser cero o puede estar en blanco. |
logTime |
string | Marca temporal según se ha registrado en la ruta del código de auditoría. Se representa en formato de hora universal coordinada (UTC). Para obtener la forma más precisa de calcular la duración de la instrucción, consulte los campos startTime y endTime . |
netProtocol |
string | Protocolo de comunicación de red Actualmente, este valor es siempre TCP para Aurora MySQL. |
objectName |
string | Nombre del objeto de base de datos si la instrucción SQL opera en uno. Este campo solo se usa cuando la instrucción SQL funciona en un objeto de base de datos. Si la instrucción SQL no opera en un objeto, este valor es nulo. Para crear el nombre completo del objeto, combine databaseName y objectName . Si la consulta implica a varios objetos, este campo puede ser una lista de nombres separados por comas. |
objectType |
string |
El tipo de objeto de base de datos como tabla, índice, vista, etc. Este campo solo se usa cuando la instrucción SQL funciona en un objeto de base de datos. Si la instrucción SQL no opera en un objeto, este valor es nulo. Los valores válidos de Aurora MySQL incluyen lo siguiente:
|
paramList |
string | Este campo no se utiliza para Aurora MySQL y siempre es nulo. |
pid |
int | ID del proceso de backend que se asigna para atender la conexión cliente. Cuando se reinicia el servidor de base de datos, los cambios pid y el contador para el campo statementId se inicia de nuevo. |
remoteHost |
string | La dirección IP o el nombre de host del cliente que emitió la instrucción SQL. Para Aurora MySQL, el que se utiliza depende de la configuración del parámetro skip_name_resolve de la base de datos. El valor localhost indica la actividad del usuario especial rdsadmin . |
remotePort |
string | Número de puerto del cliente. |
rowCount |
int | Número de filas de tabla que la instrucción SQL recupera o a las que afecta. Este campo se usa únicamente para instrucciones SQL que son instrucciones de lenguaje de manipulación de datos (DML). Si la instrucción SQL no es una instrucción DML, este valor es nulo. |
serverHost |
string | El identificador de instancia del servidor de base de datos. |
serverType |
cadena | Tipo de servidor de base de datos; por ejemplo, MySQL . |
serverVersion |
string | Versión del servidor de base de datos. Actualmente, este valor es siempre MySQL 5.7.12 para Aurora MySQL. |
serviceName |
string | Nombre del servicio de Actualmente, este valor es siempre Amazon Aurora MySQL para Aurora MySQL. |
sessionId |
int | Identificador de sesión pseudoúnico. |
startTime (solo registros de actividad de la base de datos de la versión 1.1) |
string |
La hora a la que comenzó la ejecución de la instrucción SQL. Se representa en formato de hora universal coordinada (UTC). Para calcular el tiempo de ejecución de la instrucción SQL, utilice |
statementId |
int | Un identificador de la instrucción SQL del cliente. El contador aumenta con cada instrucción SQL introducida por el cliente. El contador se restablece cuando se reinicia la instancia de base de datos. |
substatementId |
int | Un identificador de una subinstrucción SQL. Este valor es 1 para eventos con clase MAIN y 2 para eventos con clase AUX . Utilice el campo statementId para identificar todos los eventos generados por la misma instrucción. |
transactionId (solo registros de actividad de la base de datos de la versión 1.2) |
int | Un identificador de una transacción. |
type |
string | Tipo de evento. Los valores válidos son record o heartbeat . |