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

Qu’est-ce qu’Aurora PostgreSQL Audit Trail ?

Introduction

Une piste d’audit Aurora PostgreSQL est un mécanisme de tenue de registres complet qui capture et documente toutes les activités significatives de la base de données, fournissant aux organisations des informations critiques sur les interactions avec la base de données, les modèles d’accès et les événements de sécurité potentiels. À une époque de menaces croissantes pour la cybersécurité et de exigences de conformité strictes, comprendre et mettre en œuvre des pistes d’audit de base de données robustes est devenu essentiel pour protéger les données sensibles et maintenir l’intégrité organisationnelle.

Selon le Guide de sécurité des bases de données NIST, l’audit de base de données robuste est crucial pour détecter les tentatives d’accès non autorisées, surveiller les opérations privilégiées et conserver les preuves pour les enquêtes de sécurité et les analyses médico-légales. Ce guide présente une mise en œuvre pratique en utilisant les services AWS.

Comprendre Aurora PostgreSQL Audit Trail

Une piste d’audit dans Amazon Aurora PostgreSQL fournit un suivi systématique des changements de 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.

f2fe732442009bc484cc511f5f03d0e2.png

Aperçu de l’architecture

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

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

Détails de la mise en œuvre

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 de 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 de meilleures performances de requête
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 l’audit Aurora PostgreSQL

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 déclencheur

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 par utilisateur spécifique
SELECT * FROM items_audit_log
WHERE user_id = 'admin'
AND committed_at >= CURRENT_DATE - INTERVAL '1 day';

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

Meilleures pratiques

Pour un guide de mise en œuvre détaillé, consultez le blog AWS Database.

Fonctionnalités avancées

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

DataSunrise : capacités complètes de piste d’audit PostgreSQL

Bien que les outils d’audit natifs fournissent un suivi essentiel, la plateforme DataSunrise élève les capacités de piste d’audit pour les environnements d’entreprise :

Fonctionnalités de surveillance améliorées

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

Sécurité améliorée

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

Conformité réglementaire

  • Adhésion au 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 des activités des utilisateurs
  • Processus d’audit et rapports rationalisés

Conclusion

Une piste d’audit pour Amazon Aurora PostgreSQL est plus qu’une obligation de conformité – c’est un outil critique de sécurité et d’intelligence opérationnelle. Bien qu’AWS offre des capacités d’audit natives puissantes, 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 analyses approfondies, une détection avancée des menaces et une gestion fluide de la conformité.

Passez à l’étape suivante

Prêt à transformer votre stratégie de piste d’audit ? Planifiez une démonstration personnalisée et découvrez comment la 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]