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

Audit de base de données dans YugabyteDB

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 :

  1. 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"
  2. Activer l’extension pgaudit – Dans votre session YSQL, vous pouvez créer l’extension avec la commande suivante :

    CREATE EXTENSION IF NOT EXISTS pgaudit;
  3. 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.

Proxy DataSunrise gérant plusieurs connexions à la base de données

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é
Le hub Session Trails de DataSunrise vous permet de gérer les connexions en cours à YugabyteDB

Bonnes pratiques pour l’audit de YugabyteDB

  1. 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
  2. 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.

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]