
Audit de base de données dans YugabyteDB
Introduction
Dans le paysage numérique actuel, la mise en place de pistes d’audit de bases de données robustes est cruciale pour maintenir la sécurité et la conformité des opérations. De plus, YugabyteDB, une base de données SQL distribuée, offre des fonctionnalités intégrées pour le suivi des activités de la base de données. Parallèlement, elle prend en charge une surveillance améliorée via des solutions tierces.
Fonctionnalités d’audit natives dans YugabyteDB
YugabyteDB utilise l’extension d’audit PostgreSQL (pgaudit) pour fournir un enregistrement d’audit complet. Cette intégration permet ainsi un enregistrement détaillé des sessions et des objets via les journaux YB-TServer, ce qui est essentiel pour répondre à diverses exigences de conformité.
Mise en place de la journalisation d’audit native
Pour activer la journalisation d’audit dans YugabyteDB, les administrateurs peuvent configurer plusieurs approches. Voici les étapes clés pour la mise en place :
Configuration de démarrage du cluster – Vous pouvez configurer la journalisation d’audit en utilisant les options de YB-TServer. Par exemple :
--ysql_pg_conf_csv="pgaudit.log='all, -misc',pgaudit.log_parameter=on,pgaudit.log_relation=on"
Activer l’extension pgaudit – Dans votre session YSQL, vous pouvez créer l’extension avec la commande suivante :
CREATE EXTENSION IF NOT EXISTS pgaudit;
Configurer les paramètres de journalisation d’audit – Définissez des options spécifiques de journalisation d’audit. Par exemple :
-- Activer la journalisation DDL SET pgaudit.log = 'DDL'; -- Enregistrer les paramètres avec les instructions SET pgaudit.log_parameter = ON; -- Activer la journalisation côté client SET pgaudit.log_client = ON; SET pgaudit.log_level = notice;
Exemples de sortie du journal d’audit natif
Une fois pgaudit configuré et actif, YugabyteDB enregistre les activités clés dans les journaux YB-TServer. Ces journaux peuvent ensuite être analysés ou consultés à l’aide d’outils de surveillance. Ci-dessous se trouvent deux exemples de tableaux qui illustrent des entrées typiques de journal d’audit :
Exemple 1 : Journal d’activité général
Ce tableau capture une variété d’opérations (SELECT, INSERT, UPDATE, DELETE) sur différentes sessions.
Heure du journal | Utilisateur | Base de données | ID de session | Commande | Type d’objet | Nom de l’objet | Détails |
---|---|---|---|---|---|---|---|
2025-02-11 10:15:23 | admin | yugadb | 8a1b2c3d | SELECT | table | customer_data | Exécuté SELECT sur la table customer_data |
2025-02-11 10:17:45 | admin | yugadb | 8a1b2c3d | INSERT | table | orders | Inséré un nouvel enregistrement de commande |
2025-02-11 10:20:11 | analyst | yugadb | d4e5f6g7 | UPDATE | table | orders | Mis à jour le statut de commande en ‘expédié’ |
2025-02-11 10:22:05 | analyst | yugadb | d4e5f6g7 | DELETE | table | obsolete_data | Supprimé l’enregistrement avec l’id 123 |
Exemple 2 : Journal détaillé des opérations DDL et d’écriture
Cette sortie se concentre sur le langage de définition de données (DDL) et les opérations de modification de données, incluant des paramètres supplémentaires et les détails des relations tels que configurés avec pgaudit. Voici quelques entrées d’exemple :
Heure du journal | Utilisateur | Base de données | ID de session | Commande | Type d’objet | Nom de l’objet | Paramètres de requête |
---|---|---|---|---|---|---|---|
2025-02-11 11:05:10 | dba | yugadb | f7g8h9i0 | CREATE | table | sensitive_data | CREATE TABLE sensitive_data ( … ) |
2025-02-11 11:06:50 | dba | yugadb | f7g8h9i0 | ALTER | table | sensitive_data | ALTER TABLE sensitive_data ADD COLUMN … |
2025-02-11 11:10:32 | app_user | yugadb | j1k2l3m4 | INSERT | table | sensitive_data | INSERT INTO sensitive_data (username, email, …) |
2025-02-11 11:15:44 | app_user | yugadb | j1k2l3m4 | UPDATE | table | sensitive_data | UPDATE sensitive_data SET email = ‘…’ WHERE … |
Audit avancé avec exemples détaillés
Exemple complet de règle d’audit
-- Créer une table d'exemple pour l'audit
CREATE TABLE sensitive_data (
user_id SERIAL PRIMARY KEY,
username TEXT,
email TEXT,
credit_card_last4 TEXT
);
-- Configurer un audit étendu
SET pgaudit.log = 'all';
SET pgaudit.log_parameter = ON;
SET pgaudit.log_relation = ON;
-- Effectuer quelques opérations d'exemple
INSERT INTO sensitive_data (username, email, credit_card_last4)
VALUES ('johndoe', '[email protected]', '1234');
UPDATE sensitive_data
SET email = '[email protected]'
WHERE username = 'johndoe';
Audit amélioré avec DataSunrise
Bien que les capacités natives offrent un audit de base, la solution de surveillance d’activité des bases de données de DataSunrise propose des fonctionnalités avancées spécifiquement conçues pour les bases de données distribuées comme YugabyteDB. Ainsi, elle offre une solution plus complète.

Caractéristiques clés :
- Surveillance de l’activité en temps réel
- Pistes d’audit complètes
- Masquage dynamique des données
- Politiques de sécurité avancées
- Rapports automatisés de conformité

Bonnes pratiques pour l’audit de YugabyteDB
- Optimisation des performances – Afin d’optimiser les performances, il est crucial de mettre en œuvre des règles d’audit sélectives. Par exemple:
- Utiliser des configurations de journalisation ciblées
- Surveiller l’impact sur les performances du système
-- Exemple de journalisation sélective SET pgaudit.log = 'DDL, WRITE'; -- N'enregistrer que les opérations DDL et d'écriture SET pgaudit.log_catalog = OFF; -- Réduire le bruit généré par les journaux du catalogue système
- Considérations de sécurité – De plus, il est important de protéger les journaux d’audit, de mettre en œuvre des contrôles d’accès granulaires et de les examiner et de les faire pivoter régulièrement. Ces mesures sont essentielles pour maintenir la sécurité de vos données d’audit.
Conclusion
En conclusion, un audit efficace des bases de données dans YugabyteDB requiert une approche équilibrée entre les capacités natives et les solutions améliorées. Alors que pgaudit natif offre des fonctionnalités de journalisation essentielles, les organisations ayant des exigences de conformité complexes peuvent grandement bénéficier des fonctionnalités avancées de surveillance et de sécurité proposées par des solutions spécialisées comme DataSunrise.
Pour plus d’informations sur la mise en œuvre d’un audit complet des bases de données dans YugabyteDB, consultez la documentation de sécurité de YugabyteDB.
Si vous souhaitez en savoir plus sur l’audit complet des bases de données dans YugabyteDB avec DataSunrise, nous vous recommandons fortement de planifier notre démonstration en ligne ou de télécharger l’outil pour l’explorer par vous-même.