
ScyllaDB Data Audit Trail

L’audit de données est un aspect crucial de la gestion des bases de données, permettant aux administrateurs de surveiller et suivre les modifications, les requêtes, et les événements dans leurs systèmes. ScyllaDB offre des outils robustes pour l’audit de données, garantissant la conformité, la sécurité, et l’efficacité opérationnelle. Cet article explore les capacités natives de ScyllaDB pour la traçabilité des données d’audit et les avantages supplémentaires de l’intégration de DataSunrise pour un audit complet des bases de données.
Comprendre les Traînées d’Audit des Données
Un audit de données capture méticuleusement chaque opération au sein d’une base de données, documentant des activités telles que les modifications de données, les requêtes exécutées, et les actions administratives. Ce dossier complet permet aux organisations de maintenir la conformité réglementaire, de détecter et traiter rapidement les vulnérabilités de sécurité, et d’analyser les données historiques pour les tendances et les informations, renforçant ainsi la transparence et le contrôle opérationnel.
ScyllaDB facilite ce processus grâce à des capacités natives et des outils externes, permettant une surveillance et une analyse efficaces des événements de base de données pour répondre aux différents besoins des entreprises.
Fonctionnalités Natives d’Audit des Données de ScyllaDB
ScyllaDB Enterprise prend en charge l’audit natif des données en configurant le fichier scylla.yaml. Les administrateurs peuvent enregistrer les activités soit dans un Syslog, soit dans une table ScyllaDB, selon leurs préférences de stockage et de surveillance.
Activation de l’Audit ScyllaDB
Pour activer l’audit, définissez le paramètre d’audit dans le fichier scylla.yaml :
- none: Désactive l’audit (par défaut).
- table: Stocke les logs d’audit dans une table ScyllaDB.
- syslog: Envoie les logs d’audit à Syslog.
Exemple de configuration pour l’audit :
# Paramètres d'Audit audit: "table" # Catégories d'Audit audit_categories: "DCL,DDL,AUTH" # Tables et espaces de noms spécifiques à auditer audit_tables: "mykeyspace.mytable" audit_keyspaces: "mykeyspace"
Redémarrez le nœud Scylla pour appliquer les modifications :
sudo systemctl restart scylla-server
Paramètres Configurables d’Audit
ScyllaDB permet un réglage précis des paramètres d’audit à l’aide des paramètres suivants :
Paramètre | Description |
audit_categories | Liste de catégories d’événements séparées par des virgules. |
audit_tables | Tables à auditer au format <keyspace>.<table>. |
audit_keyspaces | Espaces de noms à auditer entièrement. |
Catégories d’Événements
- AUTH: Enregistre les événements de connexion.
- DML: Suit la manipulation des données (INSERT, UPDATE, DELETE).
- DDL: Journalise les modifications du schéma (CREATE, ALTER, DROP).
- DCL: Enregistre les modifications des permissions.
- QUERY: Capture toutes les requêtes (consommation de stockage élevée).
- ADMIN: Journalise les opérations administratives.
Visualisation des Logs d’Audit
Les logs sont stockés selon la méthode configurée :
Exemple Syslog
Les logs apparaissent dans le Syslog du système sous le nom de processus scylla-audit. Exemple de sortie :
Mar 18 09:53:52 scylla-audit[28387]: "10.143.2.108", "DDL", "ONE", "team_roster", "nba", "DROP TABLE nba.team_roster;", "127.0.0.1", "anonymous", "false"
Exemple de Table
Les logs d’audit dans une table peuvent être consultés en utilisant SQL :
SELECT * FROM audit.audit_log;
Sortie :
date | catégorie | nom_de_l’espace | opération |
2024-12-01 12:00:00 | DDL | nba | DROP TABLE nba.team_roster; |
Audit de Données Natif avec SQL
ScyllaDB prend en charge l’audit via des fonctionnalités SQL telles que les vues et les procédures stockées. Explorons quelques exemples.
Utilisation des Vues pour l’Audit
Les vues peuvent suivre les modifications en créant une vue d’audit liée à une table :
CREATE MATERIALIZED VIEW audit_view AS SELECT * FROM mykeyspace.mytable WHERE timestamp > now() - interval '1 day';
Cette requête capture les modifications récentes à des fins de surveillance.
Utilisation des Procédures Stockées pour l’Audit
Les procédures stockées peuvent journaliser les événements dans une table d’audit personnalisée :
CREATE OR REPLACE FUNCTION log_audit(event TEXT, user TEXT) RETURNS VOID AS $$ BEGIN INSERT INTO mykeyspace.audit_log (event, user, event_time) VALUES (event, user, NOW()); END; $$ LANGUAGE plpgsql;
Appelez la fonction lors des opérations pour maintenir une traînée d’audit.
Connexion à ScyllaDB
Pour se connecter et configurer les audits, utilisez votre client préféré, comme cqlsh ou un langage de programmation tel que Python :
from cassandra.cluster import Cluster cluster = Cluster(["127.0.0.1"]) session = cluster.connect("mykeyspace") session.execute("ALTER TABLE mytable ...")
Intégration de DataSunrise pour l’Audit de ScyllaDB
DataSunrise améliore l’audit de ScyllaDB avec des fonctionnalités avancées, fournissant un contrôle centralisé et des analyses détaillées.
Configuration de DataSunrise pour l’Audit de ScyllaDB
- Créer une Instance: Lancez une nouvelle instance DataSunrise et connectez-vous à votre base de données ScyllaDB.
- Configurer des Filtres: Définissez des déclarations de filtre pour l’audit :
- Groupe d’Objets: Surveillez des objets de base de données spécifiques.

- Groupe de Requêtes: Filtrez les requêtes en fonction des types (DML, DDL).

- Types de Requêtes: Détectez les tentatives d’injection SQL.

- Injection SQL:

- Événements de Session: Capturez les activités des sessions utilisateur.

Visualisation des Données d’Audit dans DataSunrise
Les résultats d’audit sont disponibles dans le tableau de bord DataSunrise. Exportez les logs ou générez des rapports pour l’analyse.

Avantages de DataSunrise
- Contrôle Centralisé: Règles uniformes à travers plusieurs bases de données.
- Assurance de Conformité: Simplifie le respect des exigences réglementaires.
- Sécurité Accrue: Détecte les comportements anormaux, y compris les injections SQL.
Conclusion
Mettre en œuvre une traînée d’audit des données dans ScyllaDB est une étape cruciale vers une sécurité robuste de la base de données et une surveillance opérationnelle. Les fonctionnalités d’audit natives de ScyllaDB offrent des mécanismes précis et configurables pour surveiller les actions des utilisateurs et les modifications de la base de données, assurant la conformité et découvrant des vulnérabilités potentielles. En utilisant des outils SQL tels que les vues et les procédures stockées, les administrateurs peuvent construire des processus d’audit sur mesure et évolutifs adaptés aux besoins de leur organisation.
Intégrer DataSunrise élève cette capacité en offrant un audit centralisé et une sécurité renforcée. Les filtres avancés et le suivi des sessions de la plateforme garantissent une approche uniforme de la gouvernance des données à travers plusieurs systèmes, améliorant la conformité et l’efficacité opérationnelle. De plus, les analyses et les rapports détaillés de DataSunrise simplifient l’identification des anomalies et des menaces.
Pour découvrir comment DataSunrise peut simplifier et améliorer votre stratégie d’audit de base de données, visitez le site officiel et découvrez ses fonctionnalités complètes via une démonstration en ligne.