Activez et consultez les journaux d'audit SQL dans Lindorm.
Prérequis
La version mineure de LindormTable doit être la 2.7.6 ou une version ultérieure. Pour afficher ou mettre à jour la version mineure de LindormTable, consultez les Notes de version de LindormTable et la rubrique Mettre à niveau la version du moteur mineur d'une instance Lindorm.
Notes d'utilisation
La fonctionnalité de journal d'audit SQL n'est pas prise en charge pour les instances Lindorm Serverless et les instances à nœud unique.
Si vous activez la fonctionnalité de journal d'audit en tant qu'utilisateur RAM, vous devez lui accorder l'autorisation AliyunLogFullAccess. Pour plus d'informations sur l'octroi d'autorisations à un utilisateur RAM, consultez la rubrique Accorder des autorisations à un utilisateur RAM.
-
Une fois la fonctionnalité de journal d'audit activée, Lindorm crée un projet et un Logstore dédié dans la région où l'instance Lindorm est déployée.
Le format de nommage d'un projet est le suivant :
aliyun-product-Alibaba Cloud Account ID-region ID.Le nom du Logstore dédié est
lindorm-sql-audit-log.
Certaines opérations sont interdites sur les Logstores dédiés. Par exemple, il est impossible d'écrire des données dans un Logstore dédié, ni de modifier ou supprimer ses index. De plus, vous ne pouvez pas modifier les attributs d'un Logstore dédié. En revanche, aucune restriction ne s'applique aux fonctionnalités telles que l'interrogation des données, l'analyse statistique et les alertes.
Assurez-vous que le service SLS est disponible. Si SLS devient indisponible, la fonctionnalité d'analyse complète des journaux sera inutilisable.
Types de journaux d'audit
Les journaux d'audit SQL de Lindorm enregistrent les types d'opérations SQL suivants :
Opérations DDL, telles que CREATE DATABASE, CREATE TABLE, ALTER TABLE et DROP TABLE
Opérations DML, telles que INSERT, UPSERT, DELETE et UPDATE
Opérations DQL, telles que SELECT
Les opérations DML et DQL étant fréquentes, leur journalisation peut affecter les performances et la stabilité de votre instance. Par conséquent, le Wide Table Engine enregistre uniquement les journaux d'audit SQL DDL par défaut. Pour activer les journaux d'audit DML et DQL, ajustez le niveau d'audit à l'aide de la variable système AUDIT_LEVEL. Pour obtenir des instructions détaillées, consultez la section Modifier le niveau des journaux d'audit.
Activer la fonctionnalité de journal d'audit SQL
Facturation
Log Service facture les journaux d'audit SQL selon le modèle de paiement à l'utilisation, en fonction de l'espace de stockage et de la période de rétention. Pour plus de détails sur les tarifs, consultez Tarification de Log Service.
Procédure
Connectez-vous à la console Lindorm.
Dans le coin supérieur gauche de la page, sélectionnez la région où l'instance est déployée.
Sur la page Instances, cliquez sur l'ID de l'instance cible ou sur View Instance Details dans la colonne Actions correspondante.
Dans le volet de navigation de gauche, cliquez sur Wide Table Engine.
Cliquez sur l'onglet SQL Audit Logs, puis sur Enable audit logs.
Dans la boîte de dialogue Enable SQL Audit Logs, cliquez sur OK.
Consulter les journaux d'audit SQL
Période de rétention des journaux
Par défaut, les journaux d'audit SQL de Lindorm sont conservés pendant 30 jours. Vous pouvez Modifier la période de rétention des journaux dans la console Lindorm. Les journaux sont automatiquement supprimés à l'expiration de cette période.
Modifier la période de rétention des journaux
Connectez-vous à la console Lindorm.
Dans le coin supérieur gauche de la page, sélectionnez la région où l'instance est déployée.
Sur la page Instances, cliquez sur l'ID de l'instance cible ou sur View Instance Details dans la colonne Actions correspondante.
Dans le volet de navigation de gauche, choisissez . Dans le coin supérieur droit, cliquez sur Modify retention period et définissez la nouvelle période de rétention dans la boîte de dialogue qui s'affiche.
Cliquez sur Confirm Modifications.
Consulter les journaux d'audit
Connectez-vous à la console Lindorm.
Dans le coin supérieur gauche de la page, sélectionnez la région où l'instance est déployée.
Sur la page Instances, cliquez sur l'ID de l'instance cible ou sur View Instance Details dans la colonne Actions correspondante.
-
Dans le volet de navigation de gauche, choisissez pour afficher les détails des journaux d'audit du Wide Table Engine.
RemarquePar défaut, les détails des journaux des 15 dernières minutes s'affichent. Vous pouvez également modifier la période en fonction de vos besoins métier.
(Facultatif) Dans l'onglet Raw Log, filtrez les journaux selon divers critères. Utilisez le panneau Index Fields à gauche pour filtrer par champs tels que db, clientIp et fail. Le volet de droite affiche les champs détaillés de chaque journal, y compris
sqlType,user,affectRows,checkRows,clientIp,clientPortetconnectionId. Par exemple, sélectionnez default sous le champ db pour filtrer les enregistrements d'audit d'une base de données spécifique.
Champs des journaux d'audit
|**Field**
|
**Description**
| | --- | --- | |
instance_id
|
ID de l'instance Lindorm.
| |
reqId
|
ID unique identifiant le journal d'audit de l'opération.
| |
user
|
Nom d'utilisateur correspondant au journal d'audit de l'opération.
| |
fail
|
Indique si l'instruction SQL a été exécutée avec succès. La valeur `0` indique un succès. Toute autre valeur que `0` indique un échec.
| |
reason
|
Message d'erreur dans le journal d'audit de l'opération. Ce message n'est renvoyé qu'en cas d'erreur lors de l'opération.
| |
connectionId
|
ID de connexion du client.
| |
protocol
|
Type de protocole client. Valeurs valides : Avatica et MySQL.
| |
db
|
Nom de la base de données sélectionnée.
| |
sql
|
Instruction SQL exécutée.
| |
sqlType
|
Type de l'instruction SQL. Les valeurs valides incluent `select`, `insert`, `update`, `delete`, `create`, `drop`, `alter` et `other`.
| |
params
|
Paramètres spécifiés dans l'instruction SQL. Séparez plusieurs paramètres par des virgules (,). Ce champ est disponible dans les scénarios de requête où des paramètres sont liés.
| |
sqlTime
|
Heure d'exécution de l'instruction SQL.
| |
responseTime
|
Temps de réponse. Unité : millisecondes.
| |
checkRows
|
Nombre de lignes analysées, ce qui correspond au nombre de lignes renvoyées par le moteur de stockage de données lors de la requête.
| |
affectRows
|
Nombre de lignes affectées par l'instruction. Pour les opérations INSERT, UPDATE ou DELETE, **affectRows** indique le nombre de lignes modifiées. Pour une instruction de requête, **affectRows** indique le nombre de lignes renvoyées.
| |
dbVersion
|
Version SQL du serveur auquel vous êtes connecté.
| |
hostname
|
Nom d'hôte du nœud serveur.
| |
clientIp
|
Adresse IP du client.
| |
clientPort
|
Numéro de port du client.
|
Modifier le type de journaux d'audit
Exécutez l'instruction ALTER SYSTEM pour modifier la valeur du paramètre AUDIT_LEVEL et ajuster le niveau de sortie des journaux d'audit SQL.
Valeurs valides :
0 : Enregistre les journaux DDL.
1 : Enregistre les journaux DDL et DML.
2 : Enregistre les journaux DDL et DQL.
3 : Enregistre les journaux DDL, DML et DQL.
Exemple
Modifiez le niveau des journaux d'audit pour enregistrer les journaux DDL et DQL.
ALTER SYSTEM SET AUDIT_LEVEL = 2;
Vérifier le résultat
Exécutez l'instruction SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL'; pour vérifier que la modification a bien été appliquée.
Pour plus d'informations sur les variables système, consultez la rubrique ALTER SYSTEM.