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 axé sur les données d’aujourd’hui, maintenir un journal d’audit complet des activités de la base de données est crucial pour la sécurité, la conformité et les aperçus opérationnels. TiDB, une puissante plate-forme de base de données SQL distribuée, offre des capacités d’audit natives qui peuvent être améliorées avec des solutions tierces sophistiquées. Alors que les organisations doivent de plus en plus protéger leurs actifs de données et se conformer aux réglementations, la mise en œuvre d’une surveillance robuste des bases de données devient essentielle.

Selon les tendances récentes en matière de sécurité, les incidents de sécurité liés aux bases de données continuent d’augmenter, ce qui rend 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 approprié aide les organisations à suivre les activités des utilisateurs, à surveiller l’accès aux données sensibles et à garantir la conformité aux diverses exigences réglementaires. Je vais fournir un aperçu complet avec des exemples de requêtes et intégrer des liens directement dans le texte.

Comprendre TiDB Audit Log

TiDB offre des options de journalisation flexibles pour la surveillance et le dépannage. Vous pouvez ajuster ces paramètres dynamiquement en utilisant des commandes SQL :

Interroger les Paramètres de Journaux

Pour récupérer les paramètres actuels liés aux journaux 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 de configuration plus détaillées :

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

Exemple de Configuration des Journaux :

Captures d'écran de la configuration du journal

Modifier les Paramètres de Journaux

Certaines configurations des journaux dans TiDB peuvent être modifiées dynamiquement en utilisant des requêtes SET GLOBAL, tandis que d’autres nécessitent des changements dans le fichier config.toml. Voici un récapitulatif :

  • 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 journal 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 :
    Certaines configurations, telles que log.format (pour le format de sortie des journaux) et log.level (pour la verbosité des journaux), doivent être modifiées 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

Activer, définir le seuil et enregistrer les 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

Suivre les requêtes à haute ressource en fonction du nombre de lignes :

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

3. Gestion des Fichiers de Journaux

Configurer le stockage et la rétention des journaux 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 Journal d’Audit TiDB

Pour consulter les requêtes récentes, vous pouvez interroger la table INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY. Cette table capture les requêtes lentes dans 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 l’analyse des performances.
  • Utile pour identifier les requêtes longues ou gourmandes en ressources.

Activer les Journaux 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 journaux 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 journal général)

Étape 2 : Interroger les Journaux Généraux dans une Plage de Temps Spécifiée :

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

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 '%'; -- réduire les résultats 
ORDER BY Time DESC 
LIMIT 50; 

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

Exemple de Sortie de la Requête :

DataSunrise : Capacités Étendues pour la Sécurité et la Conformité des Journaux d’Audit TiDB

DataSunrise offre une solution complète de audit de base de données qui améliore 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 implémente une surveillance continue des activités de la base de données qui capture et analyse toutes les opérations de la base de données en temps réel. La plateforme offre des aperçus détaillés sur :

  • Exécution des requêtes SQL
  • Activités des sessions utilisateurs
  • Modifications de schéma
  • Modèles d’accès aux données

Gestion Avancée des Pistes de Vérification

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

Rapports de Conformité Automatisés

DataSunrise simplifie la conformité aux diverses réglementations par le biais de rapports de conformité automatisés. La plateforme inclut des modèles préconfigurés pour les cadres de conformité courants et permet de les personnaliser en fonction des exigences spécifiques.

Caractéristiques Clés

  1. Protection Continue des Données avec surveillance et alertes en temps réel
  2. Contrôles de Sécurité Complet avec gestion des accès basée sur les rôles
  3. Analyse Comportementale pour détecter les activités anormales

    Suivant

    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]