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

Qu’est-ce que la trace d’audit Aurora PostgreSQL ?

Qu’est-ce que la trace d’audit Aurora PostgreSQL ?

Introduction

Une trace d’audit Aurora PostgreSQL est un mécanisme complet d’enregistrement qui capte et documente toutes les activités significatives de la base de données, fournissant aux organisations des informations essentielles sur les interactions avec la base de données, les schémas d’accès et les éventuels incidents de sécurité. À une époque de menaces croissantes en cybersécurité et d’exigences de conformité strictes, comprendre et mettre en œuvre des traces d’audit des bases de données robustes est devenu indispensable pour protéger les données sensibles et maintenir l’intégrité organisationnelle.

Selon le NIST Database Security Guide, une journalisation robuste des bases de données est cruciale pour détecter les tentatives d’accès non autorisées, surveiller les opérations privilégiées et conserver des preuves pour les enquêtes de sécurité ainsi que pour les analyses forensiques. Ce guide présente une mise en œuvre pratique utilisant les services AWS.

Comprendre la trace d’audit Aurora PostgreSQL

Une trace d’audit dans Amazon Aurora PostgreSQL fournit un suivi systématique des modifications de la base de données, essentiel pour la conformité et la surveillance de la sécurité. Ce guide présente une mise en œuvre pratique en utilisant les services AWS.

Qu'est-ce que la trace d'audit Aurora PostgreSQL ? - Flux de réplication multi-étapes DMS de la source vers la table d'audit
Flux de réplication multi-étapes DMS de la source vers la table d’audit

Vue d’ensemble de l’architecture

Le système d’audit utilise trois composants principaux :

  1. Base de données source : Instance Aurora PostgreSQL principale
  2. AWS DMS : Service de capture des données modifiées
  3. Base de données de destination : Stockage du journal d’audit

Détails de l’implémentation

Activation des fonctionnalités d’audit

Tout d’abord, activez l’audit de base dans Aurora PostgreSQL :

-- Activer la journalisation pour toutes les opérations DDL
ALTER SYSTEM SET log_statement = 'ddl';

-- Activer la journalisation pour toutes les opérations
ALTER SYSTEM SET log_statement = 'all';

-- Activer la journalisation des connexions
ALTER SYSTEM SET log_connections = 'on';
ALTER SYSTEM SET log_disconnections = 'on';

Conception du schéma

Exemple de table source :

CREATE TABLE items (
    item_id integer PRIMARY KEY,
    name varchar(64),
    price decimal(12,2),
    created_at timestamp DEFAULT CURRENT_TIMESTAMP,
    updated_at timestamp DEFAULT CURRENT_TIMESTAMP
);

Table de journal d’audit :

CREATE TABLE items_audit_log (
    audit_id bigserial PRIMARY KEY,
    item_id integer,
    name varchar(64),
    price decimal(12,2),
    committed_at timestamp,
    operation character(1),
    transaction_id character varying,
    old_row_data jsonb,
    user_id text DEFAULT current_user
);

-- Créer un index pour une meilleure performance des requêtes
CREATE INDEX idx_items_audit_committed_at ON items_audit_log(committed_at);
CREATE INDEX idx_items_audit_item_id ON items_audit_log(item_id);

Composants clés de la trace d’audit Aurora PostgreSQL

Qu'est-ce que la trace d'audit Aurora PostgreSQL ? - Structure des tables pour items, staging et journal d'audit
Structure des tables pour items, staging et journal d’audit

Configuration AWS DMS

(En savoir plus sur la configuration de DMS)

Exemple de paramètres de tâche DMS :

{
  "TargetMetadata": {
    "TargetSchema": "",
    "SupportLobs": true,
    "FullLobMode": false,
    "LobChunkSize": 64,
    "LimitedSizeLobMode": true,
    "LobMaxSize": 32768
  },
  "FullLoadSettings": {
    "TargetTablePrepMode": "DROP_AND_CREATE"
  }
}

Fonction de déclenchement

CREATE OR REPLACE FUNCTION process_audit_trail()
RETURNS TRIGGER AS $$
BEGIN
    IF (TG_OP = 'DELETE') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at, 
            operation, transaction_id, old_row_data
        )
        VALUES (
            OLD.item_id, OLD.name, OLD.price, CURRENT_TIMESTAMP,
            'D', txid_current()::text, to_jsonb(OLD)
        );
        RETURN OLD;
    ELSIF (TG_OP = 'UPDATE') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at,
            operation, transaction_id, old_row_data
        )
        VALUES (
            NEW.item_id, NEW.name, NEW.price, CURRENT_TIMESTAMP,
            'U', txid_current()::text, to_jsonb(OLD)
        );
        RETURN NEW;
    ELSIF (TG_OP = 'INSERT') THEN
        INSERT INTO items_audit_log (
            item_id, name, price, committed_at,
            operation, transaction_id, old_row_data
        )
        VALUES (
            NEW.item_id, NEW.name, NEW.price, CURRENT_TIMESTAMP,
            'I', txid_current()::text, NULL
        );
        RETURN NEW;
    END IF;
    RETURN NULL;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER items_audit_trigger
AFTER INSERT OR UPDATE OR DELETE ON items
FOR EACH ROW EXECUTE FUNCTION process_audit_trail();

Exemples de requêtes

-- Voir les changements récents
SELECT * FROM items_audit_log
ORDER BY committed_at DESC
LIMIT 10;

-- Voir les changements pour un article spécifique
SELECT * FROM items_audit_log
WHERE item_id = 123
ORDER BY committed_at;

-- Voir les changements effectués par un utilisateur spécifique
SELECT * FROM items_audit_log
WHERE user_id = 'admin'
AND committed_at >= CURRENT_DATE - INTERVAL '1 day';

Vous pouvez voir ci-dessous les exemples de requêtes et la sortie de la table d’audit :

Qu'est-ce que la trace d'audit Aurora PostgreSQL ? - Exécution des requêtes SQL d'insertion, de mise à jour, de suppression et vérification du journal d'audit
Exécution des requêtes SQL d’insertion, de mise à jour, de suppression et vérification du journal d’audit en action

Meilleures pratiques

Pour un guide d’implémentation détaillé, reportez-vous au AWS Database Blog.

Fonctionnalités avancées

Pour une sécurité renforcée, envisagez d’intégrer avec :

DataSunrise : Capacités complètes de trace d’audit PostgreSQL

Qu'est-ce que la trace d'audit Aurora PostgreSQL ? - Instance assignée à la règle d'audit Aurora PostgreSQL dans DataSunrise
Instance assignée à la règle d’audit Aurora PostgreSQL dans DataSunrise

Alors que les outils d’audit natifs offrent un suivi essentiel, la plateforme DataSunrise rehausse les capacités de trace d’audit pour les environnements d’entreprise :

Fonctionnalités de surveillance améliorée

Avantages commerciaux de la mise en œuvre de la trace d’audit Aurora PostgreSQL

Qu'est-ce que la trace d'audit Aurora PostgreSQL ? - Requêtes SELECT et INSERT enregistrées dans la trace transactionnelle DataSunrise
Requêtes SELECT et INSERT enregistrées dans la trace transactionnelle DataSunrise

Sécurité renforcée

  • Détection des menaces en temps réel et alertes
  • Capacités d’enquête médico-légale complètes
  • Identification proactive des schémas suspects

Conformité réglementaire

  • Respect du RGPD, HIPAA, SOX et PCI DSS
  • Rapports de conformité automatisés
  • Démonstration claire des contrôles de sécurité

Efficacité opérationnelle

  • Informations sur l’optimisation des performances de la base de données
  • Visibilité complète sur les activités des utilisateurs
  • Processus et rapports d’audit simplifiés

Conclusion

Une trace d’audit pour Amazon Aurora PostgreSQL est bien plus qu’une simple exigence de conformité – c’est un outil essentiel pour la sécurité et l’intelligence opérationnelle. Alors qu’AWS offre de puissantes capacités d’audit natives, les environnements d’entreprise bénéficient de couches supplémentaires de surveillance et d’analyse.

DataSunrise offre une solution complète qui étend les capacités d’audit natives, fournissant des informations approfondies, une détection avancée des menaces et une gestion de la conformité sans faille.

Faites le prochain pas

Prêt à transformer votre stratégie de trace d’audit ? Planifiez une démonstration personnalisée et découvrez comment une sécurité avancée des bases de données peut protéger vos actifs de données les plus précieux.

Suivant

Qu’est-ce que Percona Server for MySQL Audit Trail ?

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]