DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

TiDB Audit Log

TiDB Audit Log

Introduction

Dans le monde actuel axé sur les données, il est crucial de maintenir un journal d’audit complet des activités de la base de données pour garantir la sécurité, la conformité et fournir des informations opérationnelles. TiDB, une puissante plateforme de base de données SQL distribuée, offre des capacités d’audit natives qui peuvent être renforcées avec des solutions tierces sophistiquées. Alors que les organisations font face à une pression croissante pour protéger leurs actifs de données et se conformer aux réglementations, la mise en œuvre d’un audit robuste des bases de données devient essentiel.

D’après les tendances récentes en matière de sécurité, les incidents liés à la sécurité des bases de données continuent d’augmenter, rendant indispensable la tenue de journaux d’audit détaillés de toutes les activités de la base de données. Un système de journalisation d’audit adéquat aide les organisations à suivre les activités des utilisateurs, surveiller l’accès aux données sensibles et garantir la conformité aux différentes exigences réglementaires. Je fournirai une vue d’ensemble complète avec des exemples de requêtes et j’incorporerai les liens directement dans le texte.

Comprendre le TiDB Audit Log

TiDB offre des options de journalisation flexibles pour le suivi et le dépannage. Vous pouvez ajuster ces paramètres dynamiquement à l’aide de commandes SQL :

Interrogation des paramètres du journal

Pour récupérer les paramètres liés aux journaux actuels dans TiDB, vous pouvez utiliser les requêtes suivantes :

SHOW VARIABLES LIKE 'tidb%log%';

Cela affichera les variables liées à la journalisation dans TiDB.

Alternativement, vous pouvez interroger la table INFORMATION_SCHEMA.CLUSTER_CONFIG pour obtenir des informations plus détaillées sur la configuration :

SELECT *
FROM INFORMATION_SCHEMA.CLUSTER_CONFIG
WHERE `KEY` LIKE '%log%';

Exemple de configuration du journal :

TiDB Audit Log - Requête de configuration de cluster affichant les clés liées aux logs depuis INFORMATION_SCHEMA.CLUSTER_CONFIG
Requête de configuration de cluster affichant les clés liées aux logs depuis INFORMATION_SCHEMA.CLUSTER_CONFIG

Modification des paramètres du journal

Certains paramètres de journal se modifient dynamiquement via des requêtes SET GLOBAL, tandis que d’autres nécessitent des modifications dans le fichier config.toml. Voici un aperçu :

  • Changements dynamiques (via SET GLOBAL) :
    Certains paramètres peuvent être ajustés à la volée, tels que :

    SET GLOBAL tidb_slow_log_threshold = 300; -- Modifier le seuil du log des requêtes lentes
    SET GLOBAL tidb_query_log_max_len = 4096; -- Ajuster la longueur maximale de la requête
    
  • Changements dans le fichier config.toml :
    Certains paramètres, tels que log.format (pour le format de sortie du log) et log.level (pour la verbosité du log), doivent être modifiés directement dans le fichier config.toml. Ces paramètres ne peuvent pas être modifiés dynamiquement via des requêtes SQL et nécessitent un redémarrage de l’instance TiDB pour prendre effet.

1. Journalisation des requêtes lentes

Activation, définition du seuil et journalisation des plans d’exécution :

SET GLOBAL tidb_enable_slow_log = 1;
SET GLOBAL tidb_slow_log_threshold = 500;  -- en millisecondes
SET GLOBAL tidb_record_plan_in_slow_log = 1;
  • Seuil par défaut : 300 ms.

2. Journalisation des requêtes coûteuses

Suivi des requêtes gourmandes en ressources basé sur le nombre de lignes :

SET GLOBAL tidb_expensive_query_time_threshold = 300;
  • Les requêtes dépassant le seuil défini (en ms) seront journalisées.

3. Gestion des fichiers journaux

Configurer le stockage et la conservation des logs dans config.toml :

[log.file]
filename = "/var/log/tidb/tidb.log"
max-size = 300   # MB avant rotation
max-days = 7     # Période de rétention
max-backups = 5  # Nombre de sauvegardes
compression = "gzip"

Pour plus de détails, voir la Documentation TiDB.

Interroger le TiDB Audit Log

Pour consulter les requêtes récentes, vous pouvez interroger la table INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY. Cette table capture les requêtes lentes sur l’ensemble du cluster TiDB.

Exemple : Récupérer les 50 dernières requêtes exécutées

SELECT
    Time,
    Query,
    Query_time
FROM INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
ORDER BY Time DESC
LIMIT 50;

Cette requête :

  • Récupère les 50 dernières requêtes exécutées dans le cluster.
  • Inclut le temps d’exécution (Query_time) pour une analyse des performances.
  • Est utile pour identifier les requêtes longues ou gourmandes en ressources.

Activation des logs généraux pour un historique complet des requêtes

Si vous avez besoin d’un historique complet des requêtes, activez la journalisation générale et récupérez les logs en utilisant INFORMATION_SCHEMA.CLUSTER_LOG.

Étape 1 : Activer la journalisation générale :

SET GLOBAL tidb_general_log = 1;

(Ce paramètre commence à enregistrer toutes les requêtes exécutées dans le log général)

Étape 2 : Interroger les logs généraux dans une plage horaire :

Vous pouvez utiliser la requête suivante pour récupérer les 50 dernières entrées du log général dans une plage horaire spécifiée. Cette requête filtre également en fonction du contenu du message du log.

SELECT * FROM information_schema.cluster_log
WHERE time > '2024-02-18 00:00:00'
AND time < '2025-02-18 23:59:59'
AND message LIKE '%'; -- restreindre les résultats
ORDER BY Time DESC
LIMIT 50;

Cette requête récupérera les 50 entrées de log les plus récentes correspondant à la plage horaire spécifiée. La condition message LIKE '%' constitue une recherche avec un caractère générique, ce qui signifie qu’elle renvoie tous les logs. Vous pouvez remplacer la condition LIKE par des mots-clés plus spécifiques (p. ex., '%select%', 'insert%', etc.) afin de filtrer par type de log ou contenu de requête.

Exemple de résultat de requête :

TiDB Audit Log - Interrogation des messages du log du cluster TiDB par date et contenu du message avec LIMIT 50
Interrogation des messages du log du cluster TiDB par date et contenu du message avec LIMIT 50

DataSunrise : Capacités étendues pour TiDB Audit Log, sécurité et conformité

DataSunrise propose une solution d’audit de base de données complète qui renforce considérablement les capacités natives de TiDB avec des fonctionnalités avancées et un contrôle granulaire.

TiDB

Surveillance et analyse en temps réel

DataSunrise met en œuvre une surveillance continue des activités de la base de données qui capture et analyse en temps réel toutes les opérations de la base de données. La plateforme fournit des informations détaillées sur :

  • L’exécution des requêtes SQL
  • Les activités des sessions utilisateurs
  • Les modifications de schéma
  • Les modes d’accès aux données
TiDB Audit Log - Pistes transactionnelles de DataSunrise pour les commandes SHOW, SELECT et SET sur TiDB
Pistes transactionnelles de DataSunrise pour les commandes SHOW, SELECT et SET sur TiDB

Gestion avancée des pistes d’audit

La solution maintient des pistes d’audit complètes avec des capacités de filtrage et de stockage sophistiquées. Les administrateurs peuvent facilement rechercher, analyser et exporter les données d’audit pour des rapports de conformité ou des enquêtes de sécurité.

TiDB Audit Log - Détails d'événement issus de l'audit DataSunrise montrant le temps d'exécution, le nombre de lignes affectées et les métadonnées d'application
Détails d’événement issus de l’audit DataSunrise montrant le temps d’exécution, le nombre de lignes affectées et les métadonnées d’application

Rapports de conformité automatisés

DataSunrise facilite la conformité avec diverses réglementations grâce à des rapports de conformité automatisés. La plateforme inclut des modèles préconfigurés pour les cadres de conformité courants et permet une personnalisation pour des exigences spécifiques.

TiDB Audit Log - Normes de conformité incluant HIPAA, PCI DSS et GDPR sélectionnées pour la tâche de découverte TiDB
Normes de conformité incluant HIPAA, PCI DSS et GDPR sélectionnées pour la tâche de découverte TiDB

Fonctionnalités clés

  1. Protection continue des données avec surveillance et alertes en temps réel
  2. Contrôles de sécurité complets avec gestion des accès basée sur les rôles
  3. Analyse comportementale pour détecter les activités anormales
  4. Notifications en temps réel pour les événements de sécurité
  5. Génération automatisée de rapports pour répondre aux besoins de conformité et de sécurité

Conclusion

Bien que TiDB offre des capacités essentielles de journalisation d’audit natives, les organisations ayant des exigences avancées en matière de sécurité et de conformité peuvent grandement bénéficier de la solution d’audit complète de DataSunrise. La combinaison de la plateforme robuste de TiDB et des capacités d’audit sophistiquées de DataSunrise crée un environnement puissant pour maintenir la sécurité, assurer la conformité et obtenir des informations opérationnelles.

Prêt à renforcer la sécurité et la conformité de votre base de données TiDB ? Planifiez une démonstration dès aujourd’hui pour découvrir comment DataSunrise peut transformer vos capacités d’audit de base de données.

Suivant

Outils d’Audit TiDB

Outils d’Audit TiDB

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

Informations générales :
[email protected]
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
[email protected]