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

De nos jours, dans le paysage numérique actuel, la mise en œuvre de pistes d’audit de base de données robustes est cruciale pour maintenir la sécurité et la conformité des opérations de base de données. De plus, YugabyteDB, une base de données SQL distribuée, offre des capacités intégrées pour suivre les activités de la base de données. Par ailleurs, elle prend en charge la surveillance améliorée grâce à des solutions tierces.

Capacités d’Audit Natives dans YugabyteDB

YugabyteDB utilise l’extension d’audit de PostgreSQL (pgaudit) pour fournir une journalisation d’audit complète. Cette intégration permet donc une journalisation détaillée des sessions et des objets par le biais de la journalisation YB-TServer, essentielle pour répondre à diverses exigences de conformité.

Configuration 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 configuration :

  1. Configuration du Lancement du Cluster – Vous pouvez configurer la journalisation d’audit en utilisant les drapeaux 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éfinir des options spécifiques de journalisation d’audit. Par exemple :

    -- Activer la journalisation des DDL
    SET pgaudit.log = 'DDL';
    
    -- Journaliser les paramètres avec les déclarations
    SET pgaudit.log_parameter = ON;
    
    -- Activer la journalisation côté client
    SET pgaudit.log_client = ON;
    SET pgaudit.log_level = notice;

Exemples de Sortie de Journal d’Audit Native

Une fois pgaudit configuré et actif, YugabyteDB journalise 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. Voici deux exemples de tables de sortie montrant des entrées de journal d’audit typiques :

Exemple 1 : Journal d’Activité Générale

Ce tableau capture une variété d’opérations (SELECT, INSERT, UPDATE, DELETE) à travers différentes sessions.

Heure du JournalUtilisateurBase de DonnéesID de SessionCommandeType d’ObjetNom de l’ObjetDétails
2025-02-11 10:15:23adminyugadb8a1b2c3dSELECTtablecustomer_dataExécution de SELECT sur la table customer_data
2025-02-11 10:17:45adminyugadb8a1b2c3dINSERTtableordersInsertion d’un nouvel enregistrement de commande
2025-02-11 10:20:11analystyugadbd4e5f6g7UPDATEtableordersMise à jour du statut de commande à ‘expédié’
2025-02-11 10:22:05analystyugadbd4e5f6g7DELETEtableobsolete_dataSuppression de l’enregistrement avec l’id 123

Exemple 2 : Journal Détaillé des Opérations DDL et d’Écriture

Cette sortie se concentre sur les opérations de Langage de Définition de Données (DDL) et de modification des données, y compris des paramètres supplémentaires et des détails sur les relations configurées avec pgaudit. Voici quelques entrées d’exemple :

Heure du JournalUtilisateurBase de DonnéesID de SessionCommandeType d’ObjetNom de l’ObjetParamètres de la Requête
2025-02-11 11:05:10dbayugadbf7g8h9i0CREATEtablesensitive_dataCREATE TABLE sensitive_data ( … )
2025-02-11 11:06:50dbayugadbf7g8h9i0ALTERtablesensitive_dataALTER TABLE sensitive_data ADD COLUMN …
2025-02-11 11:10:32app_useryugadbj1k2l3m4INSERTtablesensitive_dataINSERT INTO sensitive_data (username, email, …)
2025-02-11 11:15:44app_useryugadbj1k2l3m4UPDATEtablesensitive_dataUPDATE sensitive_data SET email = ‘…’ WHERE …

Audit Avancé avec des Exemples Détaillés

Exemple de Règle d’Audit Complet

-- 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 une journalisation étendue
SET pgaudit.log = 'all';
SET pgaudit.log_parameter = ON;
SET pgaudit.log_relation = ON;

-- Exécuter 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 une audit de base, la solution de surveillance de l’activité de base de données de DataSunrise propose des fonctionnalités avancées spécialement 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 de base de données

Caractéristiques Clés :

Le hub de Session Trails de DataSunrise vous permet de gérer les connexions en cours à YugabyteDB

Bonnes Pratiques pour l’Audit de YugabyteDB

  1. Optimisation de la Performance – Pour optimiser les performances, il est crucial d’implémenter des règles d’audit sélectives. Par exemple :
    • Utiliser des configurations de journalisation ciblées
    • Surveiller l’impact des performances du système
    -- Exemple de journalisation sélective
    SET pgaudit.log = 'DDL, WRITE';  -- Journaliser uniquement les opérations DDL et d'écriture
    SET pgaudit.log_catalog = OFF;   -- Réduire le bruit provenant des journaux du catalogue système
  2. Considérations de Sécurité – De plus, il est important de protéger les journaux d’audit, d’implémenter des contrôles d’accès granulaires, et de revoir et de faire tourner régulièrement les journaux. Ces mesures sont essentielles pour maintenir la sécurité de vos données d’audit.

Conclusion

En conclusion, un audit efficace de la base de données dans YugabyteDB nécessite une approche équilibrée entre les capacités natives et les solutions améliorées. Alors que pgaudit natif fournit des fonctionnalités essentielles de journalisation, les organisations avec des exigences complexes en matière de conformité peuvent grandement bénéficier des fonctionnalités avancées de surveillance et de sécurité offertes 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é YugabyteDB.

Si vous souhaitez en savoir plus sur l’audit complet des bases de données dans YugabyteDB avec DataSunrise, nous vous recommandons vivement de programmer notre démo en ligne ou de télécharger l’outil pour l’explorer vous-même.

Suivant

Audit des Données dans Greenplum

Audit des Données dans Greenplum

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]