databaseActivityEventJSONTableau de listes pour les flux d'activité de base de données - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

databaseActivityEventJSONTableau de listes pour les flux d'activité de base de données

La charge utile du journal d'audit est une databaseActivityEventList JSON matrice cryptée. Ci-dessous, les tableaux répertorient par ordre alphabétique les champs de chaque événement d'activité dans le tableau DatabaseActivityEventList déchiffré d'un journal d'audit. Les champs diffèrent selon que vous utilisez Aurora Postgre SQL ou Aurora MySQL. Consultez la table qui s'applique à votre moteur de base de données.

Important

Il se peut que la structure d'événement change. Aurora pourrait ajouter de nouveaux champs aux événements d'activité à l'avenir. Dans les applications qui analysent les JSON données, assurez-vous que votre code peut ignorer ou prendre les mesures appropriées pour les noms de champs inconnus.

databaseActivityEventListe des champs pour Aurora Postgre SQL

Les databaseActivityEventList champs suivants concernent Aurora PostgreSQL.

Champ Type de données Description
class chaîne

La classe d’un événement d’activité. Les valeurs valides pour Aurora Postgre SQL sont les suivantes :

  • ALL

  • CONNECT – Événement de connexion ou déconnexion.

  • DDL— Une DDL instruction qui n'est pas incluse dans la liste des instructions de la ROLE classe.

  • FUNCTION – Appel de fonction ou un bloc DO.

  • MISC – Commande diverse telle que DISCARD, FETCH, CHECKPOINT ou VACUUM.

  • NONE

  • READ – Instruction SELECT ou COPY lorsque la source est une relation ou une requête.

  • ROLE – Instruction liée aux rôles et aux privilèges, incluant GRANT, REVOKE et CREATE/ALTER/DROP ROLE.

  • WRITE – Instruction INSERT, UPDATE, DELETE, TRUNCATE ou COPY lorsque la destination est une relation.

clientApplication chaîne Application utilisée par le client pour se connecter, telle que signalée par le client. Le client n'a pas à fournir cette information, la valeur peut être « null ».
command chaîne Le nom de la SQL commande sans les détails de la commande.
commandText chaîne

La SQL déclaration elle-même transmise par l'utilisateur. Pour Aurora PostgreSQL, la valeur est identique à la SQL déclaration d'origine. Ce champ est utilisé pour tous les types d'enregistrements, excepté pour les enregistrements de connexion ou de déconnexion, auxquels cas la valeur est « null ».

Important

Le SQL texte complet de chaque déclaration est visible dans le journal d'audit du flux d'activité, y compris les données sensibles. Toutefois, les mots de passe des utilisateurs de base de données sont supprimés si Aurora peut les déterminer à partir du contexte, comme dans l'SQLinstruction suivante.

ALTER ROLE role-name WITH password
databaseName chaîne Base de données à laquelle l'utilisateur s'est connecté.
dbProtocol chaîne Le protocole de base de données, par exemple Postgres 3.0.
dbUserName chaîne L'utilisateur de la base de données avec lequel le client s'est authentifié.
errorMessage

(enregistrements d'activité de base de données version 1.1 uniquement)

chaîne

En cas d'erreur, ce champ contient le message d'erreur qui aurait été généré par le serveur de base de données. La valeur errorMessage est nulle pour les instructions normales qui n'ont pas donné lieu à une erreur.

Une erreur est définie comme toute activité susceptible de produire un événement du journal des SQL erreurs Postgre visible par le client d'un niveau de ERROR gravité égal ou supérieur. Pour plus d'informations, voir Niveaux de gravité des SQL messages Postgre. Par exemple, les erreurs de syntaxe et les annulations de requête génèrent un message d'erreur.

Les erreurs internes SQL du serveur Postgre, telles que les erreurs de processus du pointeur de vérification en arrière-plan, ne génèrent pas de message d'erreur. Cependant, des enregistrements sont toujours émis pour des événements de ce type, quel que soit le paramètre du niveau de gravité du journal. Cela empêche les pirates informatiques de désactiver la journalisation pour tenter d'éviter la détection.

Voir aussi le champ exitCode.

exitCode int Valeur utilisée pour l'enregistrement en sortie de session. En cas de sortie sans problème, elle contient le code de sortie. Un code de sortie ne peut pas toujours être obtenu dans certains scénarios d'échec. Par exemple, si Postgre SQL exécute une exit() ou si un opérateur exécute une commande telle quekill -9.

En cas d'erreur, le exitCode champ affiche le code SQL d'erreurSQLSTATE, comme indiqué dans Codes SQL d'erreur Postgre.

Voir aussi le champ errorMessage.

logTime chaîne Horodatage, tel qu'il est enregistré dans l'audit du chemin du code. Cela représente l'heure de fin de l'exécution de l'SQLinstruction. Voir aussi le champ startTime.
netProtocol chaîne Protocole de communication réseau.
objectName chaîne Nom de l'objet de base de données si l'SQLinstruction fonctionne sur un objet. Ce champ est utilisé uniquement lorsque l'SQLinstruction s'applique à un objet de base de données. Si l'SQLinstruction ne fonctionne pas sur un objet, cette valeur est nulle.
objectType chaîne Type de l'objet de base de données, par exemple, table, index, vue, etc. Ce champ est utilisé uniquement lorsque l'SQLinstruction s'applique à un objet de base de données. Si l'SQLinstruction ne fonctionne pas sur un objet, cette valeur est nulle. Les valeurs valides sont notamment les suivantes :
  • COMPOSITE TYPE

  • FOREIGN TABLE

  • FUNCTION

  • INDEX

  • MATERIALIZED VIEW

  • SEQUENCE

  • TABLE

  • TOAST TABLE

  • VIEW

  • UNKNOWN

paramList chaîne Tableau de paramètres séparés par des virgules transmis à l'SQLinstruction. Si l'SQLinstruction ne comporte aucun paramètre, cette valeur est un tableau vide.
pid int ID du processus de backend qui est dédié au service de la connexion du client.
remoteHost chaîne L'adresse IP du client ou le nom d'hôte. Pour Aurora PostgreSQL, le choix à utiliser dépend du log_hostname paramétrage de la base de données. La remoteHost valeur inclut également [local] et localhost qui indiquent l'activité de l'rdsadminutilisateur.
remotePort chaîne Numéro de port du client.
rowCount int Nombre de lignes renvoyées par l'SQLinstruction. Par exemple, si une SELECT instruction renvoie 10 lignes, cela rowCount vaut 10. Pour INSERT nos UPDATE déclarations, rowCount est 0.
serverHost chaîne Adresse IP de l'hôte du serveur de base de données. La serverHost valeur inclut également [local] et localhost qui indiquent l'activité de l'rdsadminutilisateur.
serverType chaîne Type du serveur de base de données, par exemple PostgreSQL.
serverVersion chaîne Version du serveur de base de données, par exemple 2.3.1 pour Aurora PostgreSQL.
serviceName chaîne Nom du service, par exemple Amazon Aurora PostgreSQL-Compatible edition.
sessionId int Identifiant de session à pseudo unique.
sessionId int Identifiant de session à pseudo unique.
startTime

(enregistrements d'activité de base de données version 1.1 uniquement)

chaîne

Heure à laquelle l'exécution de l'SQLinstruction a commencé.

Pour calculer le temps d'exécution approximatif de l'SQLinstruction, utilisezlogTime - startTime. Voir aussi le champ logTime.

statementId int Identifiant pour le SQL relevé du client. Le compteur se situe au niveau de la session et augmente à chaque SQL instruction saisie par le client.
substatementId int Identifiant d'une SQL sous-déclaration. Cette valeur compte les sous-déclarations contenues pour chaque SQL déclaration identifiée par le statementId champ.
type chaîne Type d'événement. Les valeurs valides sont record ou heartbeat.

databaseActivityEventListe des champs pour Aurora My SQL

Les databaseActivityEventList champs suivants concernent Aurora MySQL.

Champ Type de données Description
class chaîne

La classe d’un événement d’activité.

Les valeurs valides pour Aurora My SQL sont les suivantes :

  • MAIN— L'événement principal représentant une SQL déclaration.

  • AUX – Événement supplémentaire contenant des détails supplémentaires. Par exemple, une instruction qui renomme un objet peut avoir un événement d'une classe AUX qui reflète le nouveau nom.

    Pour rechercher les événements MAIN et AUX correspondant à la même instruction, vérifiez les événements différents qui ont les mêmes valeurs pour le champ pid et pour le champ statementId.

clientApplication chaîne Application utilisée par le client pour se connecter, telle que signalée par le client. Le client n'a pas à fournir cette information, la valeur peut être « null ».
command chaîne

Catégorie générale de la SQL déclaration. Les valeurs de ce champ dépendent de la valeur de class.

Lorsque class est MAIN les valeurs sont notamment les suivantes :

  • CONNECT – Lorsqu'une session client est connectée.

  • QUERY— Une SQL déclaration. Accompagnée d'un ou plusieurs événements dont la valeur class est AUX.

  • DISCONNECT – Lorsqu' une session client est déconnectée.

  • FAILED_CONNECT – Lorsqu'un client tente de se connecter mais n'y parvient pas.

  • CHANGEUSER— Un changement d'état qui fait partie du protocole My SQL network et qui ne résulte pas d'une déclaration que vous émettez.

Lorsque class est AUX les valeurs sont notamment les suivantes :

  • READ – Instruction SELECT ou COPY lorsque la source est une relation ou une requête.

  • WRITE – Instruction INSERT, UPDATE, DELETE, TRUNCATE ou COPY lorsque la destination est une relation.

  • DROP – Suppression d'un objet.

  • CREATE – Création d'un objet.

  • RENAME – Renommage d'un objet.

  • ALTER – Pour changer les propriétés d'un objet.

commandText chaîne

Pour les événements dont class la valeur est égale àMAIN, ce champ représente la SQL déclaration réelle transmise par l'utilisateur. Ce champ est utilisé pour tous les types d'enregistrements, excepté pour les enregistrements de connexion ou de déconnexion, auxquels cas la valeur est « null ».

Pour les événements dont la valeur class est AUX, ce champ contient des informations supplémentaires sur les objets impliqués dans l'événement.

Pour Aurora MySQL, les caractères tels que les guillemets sont précédés d'une barre oblique inverse, représentant un caractère d'échappement.

Important

Le SQL texte complet de chaque déclaration est visible dans le journal d'audit, y compris les données sensibles. Toutefois, les mots de passe des utilisateurs de base de données sont supprimés si Aurora peut les déterminer à partir du contexte, comme dans l'SQLinstruction suivante.

mysql> SET PASSWORD = 'my-password';
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

databaseName chaîne Base de données à laquelle l'utilisateur s'est connecté.
dbProtocol chaîne Protocole de la base de données. Actuellement, cette valeur est toujours valable MySQL pour Aurora MySQL.
dbUserName chaîne L'utilisateur de la base de données avec lequel le client s'est authentifié.
endTime

(enregistrements d'activité de base de données version 1.2 uniquement)

chaîne

Heure à laquelle l'exécution de l'SQLinstruction s'est terminée. Il est représenté au format Temps universel coordonné (UTC).

Pour calculer le temps d'exécution de l'SQLinstruction, utilisezendTime - startTime. Voir aussi le champ startTime.

errorMessage

(enregistrements d'activité de base de données version 1.1 uniquement)

chaîne

En cas d'erreur, ce champ contient le message d'erreur qui aurait été généré par le serveur de base de données. La valeur errorMessage est nulle pour les instructions normales qui n'ont pas donné lieu à une erreur.

Une erreur est définie comme toute activité qui produirait un événement Mon journal des SQL erreurs visible par le client avec un niveau de gravité égal ERROR ou supérieur. Pour plus d'informations, consultez le journal des erreurs dans le manuel My SQL Reference. Par exemple, les erreurs de syntaxe et les annulations de requête génèrent un message d'erreur.

Les erreurs internes de My SQL server, telles que les erreurs de processus du pointeur de vérification des antécédents, ne génèrent pas de message d'erreur. Cependant, des enregistrements sont toujours émis pour des événements de ce type, quel que soit le paramètre du niveau de gravité du journal. Cela empêche les pirates informatiques de désactiver la journalisation pour tenter d'éviter la détection.

Voir aussi le champ exitCode.

exitCode int Valeur utilisée pour l'enregistrement en sortie de session. En cas de sortie sans problème, elle contient le code de sortie. Un code de sortie ne peut pas toujours être obtenu dans certains scénarios d'échec. Dans de tels cas, cette valeur peut être nulle ou vide.
logTime chaîne Horodatage, tel qu'il est enregistré dans l'audit du chemin du code. Il est représenté au format Temps universel coordonné (UTC). Pour connaître la méthode la plus précise de calculer la durée de l'instruction, veuillez consulter les champs startTime et endTime.
netProtocol chaîne Protocole de communication réseau. Actuellement, cette valeur est toujours valable TCP pour Aurora MySQL.
objectName chaîne Nom de l'objet de base de données si l'SQLinstruction fonctionne sur un objet. Ce champ est utilisé uniquement lorsque l'SQLinstruction s'applique à un objet de base de données. Si l'SQLinstruction ne fonctionne pas sur un objet, cette valeur est vide. Pour construire le nom complet de l'objet, combinez databaseName et objectName. Si la requête comprend plusieurs objets, ce champ peut être une liste de noms séparés par des virgules.
objectType chaîne

Type de l'objet de base de données, par exemple, table, index, etc. Ce champ est utilisé uniquement lorsque l'SQLinstruction s'applique à un objet de base de données. Si l'SQLinstruction ne fonctionne pas sur un objet, cette valeur est nulle.

Les valeurs valides pour Aurora My SQL sont les suivantes :

  • INDEX

  • TABLE

  • UNKNOWN

paramList chaîne Ce champ n'est pas utilisé pour Aurora My SQL et est toujours nul.
pid int ID du processus de backend qui est dédié au service de la connexion du client. Lorsque le serveur de base de données est redémarré, les modifications pid et le compteur du champ statementId redémarrent.
remoteHost chaîne Il s'agit de l'adresse IP ou du nom d'hôte du client qui a émis la SQL déclaration. Pour Aurora MySQL, le choix à utiliser dépend du skip_name_resolve paramétrage de la base de données. La valeur localhost indique l'activité de l'utilisateur spécial rdsadmin.
remotePort chaîne Numéro de port du client.
rowCount int Nombre de lignes du tableau affectées ou extraites par l'SQLinstruction. Ce champ est utilisé uniquement pour les SQL instructions qui sont des instructions du langage de manipulation des données (DML). Si l'SQLinstruction n'est pas une DML instruction, cette valeur est nulle.
serverHost chaîne Identificateur d'instance du serveur de base de données.
serverType chaîne Type du serveur de base de données, par exemple MySQL.
serverVersion chaîne Version du serveur de base de données. Actuellement, cette valeur est toujours valable MySQL 5.7.12 pour Aurora MySQL.
serviceName chaîne Le nom du service . Actuellement, cette valeur est toujours valable Amazon Aurora MySQL pour Aurora MySQL.
sessionId int Identifiant de session à pseudo unique.
startTime

(enregistrements d'activité de base de données version 1.1 uniquement)

chaîne

Heure à laquelle l'exécution de l'SQLinstruction a commencé. Il est représenté au format Temps universel coordonné (UTC).

Pour calculer le temps d'exécution de l'SQLinstruction, utilisezendTime - startTime. Voir aussi le champ endTime.

statementId int Identifiant pour le SQL relevé du client. Le compteur augmente à chaque SQL déclaration saisie par le client. Le compteur est réinitialisé lorsque l'instance de base de données est redémarrée.
substatementId int Identifiant d'une SQL sous-déclaration. Cette valeur est 1 pour les événements de classe MAIN et 2 pour les événements de classe AUX. Utilisez le champ statementId pour identifier tous les événements générés par la même instruction.
transactionId

(enregistrements d'activité de base de données version 1.2 uniquement)

int Identificateur d'une transaction.
type chaîne Type d'événement. Les valeurs valides sont record ou heartbeat.