
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.

Vue d’ensemble de l’architecture
Le système d’audit utilise trois composants principaux :
- Base de données source : Instance Aurora PostgreSQL principale
- AWS DMS : Service de capture des données modifiées
- 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

Configuration AWS DMS
- Utilise
$AR_H_COMMIT_TIMESTAMP
pour un chronométrage précis - Enregistre les types d’opérations (I/U/D)
(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 :

Meilleures pratiques
- Surveillez le délai de réplication
- Chiffrez les données en transit et au repos
- Implémentez des rôles IAM appropriés
- Archivez régulièrement les anciennes données d’audit
- Configurez des alertes pour les activités suspectes
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 :
- AWS Database Activity Streams
- pgAudit extension PostgreSQL
- DataSunrise pour un audit avancé
DataSunrise : Capacités complètes de trace d’audit PostgreSQL

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
- Règles d’audit intelligentes:
- Mécanismes de suivi personnalisables
- Contrôle précis des activités surveillées
- Analytique comportementale:
- Détecte les schémas d’accès inhabituels
- Identifie les menaces potentielles pour la sécurité
- Alerte en temps réel:
- Notifications instantanées des activités suspectes
- Détection proactive des menaces
Avantages commerciaux de la mise en œuvre de la trace d’audit Aurora PostgreSQL

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.