Comment intégrer DataSunrise avec AWS Database Activity Streams pour obtenir des résultats d’audit pour AWS Aurora PostgreSQL
Aperçu des méthodes d’audit d’activité de base de données
Aujourd’hui, l’audit de base de données devient de plus en plus important en raison de nombreux actes juridiques et réglementations dédiés à la protection des données sensibles tels que le RGPD, KVKK, etc.
Techniquement, il existe plusieurs méthodes d’audit de base de données, les plus populaires sont :
- Proxy de trafic de base de données proxying;
- Écoute passive du trafic de base de données;
- Lecture des journaux collectés par les outils d’audit natifs de la base de données;
- Intégration avec des services d’audit dédiés tels qu’AWS DAS.
Chaque approche a ses avantages et inconvénients, limitations et opportunités. Les utilisateurs d’Amazon peuvent trouver que les deux dernières approches sont les plus adaptées à leurs besoins. Ces méthodes permettent aux utilisateurs AWS de notifier le personnel de sécurité des événements spécifiques à la base de données, de créer des rapports sur l’activité dans le cluster Aurora PG, etc.
Les flux d’activité de base de données AWS (DAS) fournissent un flux en quasi temps réel de l’activité dans votre cluster DB et vous offrent les avantages suivants par rapport aux mécanismes de journalisation natifs de la base de données (fonctionnalité des logs d’audit de trailing de DataSunrise) :
- Le processus de configuration de DAS est beaucoup plus simple que la configuration “régulière” basée sur des fichiers journaux. Vous n’avez pas besoin d’espace de stockage supplémentaire pour stocker les journaux;
- Protection accrue contre les menaces internes : les administrateurs de base de données n’ont pas accès à la collecte, la transmission, le stockage et le traitement des flux d’activité de la base de données;
- DAS offre plus de flexibilité que la traînée “régulière” grâce aux modes Synchrone et Asynchrone disponibles.
L’inconvénient le plus critique de DAS est son incompatibilité avec certaines classes d’instances RDS et des versions Amazon Aurora.
Le schéma suivant montre un cluster Aurora PG intégré à DataSunrise :
Ici, un cluster Aurora PG avec DAS activé. Aurora pousse les données d’activité de la base de données vers AWS Kinesis. Les flux d’activité sont alors chiffrés à l’aide d’une clé de chiffrement AWS KMS. Kinesis, à son tour, transmet les flux d’activité de la base de données à DataSunrise, qui est utilisé comme outil de surveillance de la base de données. DataSunrise consomme les flux et sauvegarde les résultats d’audit dans son stockage d’audit. Ensuite, les événements de la base de données capturés sont affichés dans la section des traînées transactionnelles de la console Web de DataSunrise.
Conditions préalables pour un cluster Aurora PG
Avant de configurer DAS, assurez-vous que votre environnement AWS respecte les exigences listées ci-dessous.
Versions de base de données PostgreSQL Aurora prises en charge :
- Toutes les versions 13
- Toutes les versions 12
- Version 11.6 et versions supérieures 11
- Version 10.11 et versions supérieures 10
Classes d’instances AWS RDS prises en charge :
- db.r6g
- db.r5
- db.r4
- db.x2g
Les flux d’activité de base de données sont pris en charge dans toutes les régions AWS à l’exception des suivantes :
- Région Chine (Pékin), cn-nord-1
- Région Chine (Ningxia), cn-nord-ouest-1
- AWS GovCloud (US-Est), us-gov-east-1
- AWS GovCloud (US-Ouest), us-gov-west-1
Divers :
- DAS nécessite l’utilisation d’AWS Key Management Service (AWS KMS). AWS KMS est nécessaire car les flux d’activité sont toujours chiffrés
- Les flux d’activité de base de données nécessitent l’utilisation d’Amazon Kinesis
En savoir plus : https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Overview.html#DBActivityStreams.Overview.requirements.version
Création d’une clé AWS KMS
Comme les flux d’activité sont toujours chiffrés, vous devez utiliser une clé de chiffrement. Aurora utilise la clé KMS pour chiffrer la clé qui, à son tour, chiffre l’activité de la base de données. Si vous n’avez pas de clé KMS, créez-la.
Accédez au Key Management Service (KMS) d’AWS, cliquez sur Create a key. Définissez les options suivantes pour votre clé :
- Type de clé : Symmetric
- Origine du matériau de la clé : KMS
- Régionalité : Clé unique à la région
- Politique de clé : par défaut
En savoir plus : https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html
Démarrage de DAS pour votre cluster Aurora PG
Après avoir préparé votre environnement RDS Aurora PG, vous pouvez démarrer les flux d’activité de base de données.
Accédez au RDS Managed Relational Database Service (RDS), sélectionnez Bases de données, choisissez le cluster DB pour lequel activer un flux d’activité, cliquez sur Actions -> Start database activity stream :
Configurez DAS de la manière suivante :
- Clé principale : votre clé KMS
- Mode flux d’activité de base de données : soit Asynchrone soit Synchrone. Nous recommandons d’utiliser le mode Synchrone car il favorise l’exactitude du flux d’activité par rapport aux performances de la base de données. Vous pouvez trouver la différence entre ces deux modes ici.
- Appliquer immédiatement : appliquer les modifications immédiatement ou selon un calendrier.
- Vous pouvez accéder au flux dans la section de configuration des paramètres de votre cluster (Database activity stream -> Kinesis stream) : En savoir plus : https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.Enabling.html
Configuration de l’audit basé sur DAS dans DataSunrise
Après avoir démarré DAS pour votre cluster Aurora, vous pouvez procéder à la configuration de DataSunrise pour consommer les flux d’activité de la base de données.
Pour permettre à DataSunrise de fonctionner avec DAS, votre utilisateur IAM doit avoir accès à certaines fonctionnalités de Kinesis, KMS et RDS. Pour accorder les autorisations requises, accédez à Identity and Access Management (IAM) -> Utilisateurs, et attachez la politique suivante à votre utilisateur :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "Kinesis:DescribeStreamSummary", "Kinesis:ListShards", "Kinesis:GetShardIterator", "Kinesis:GetRecords", "Kinesis:DescribeStreamSummary", "KMS:Decrypt", "RDS:DescribeDBClusters"], "Resource": ["<ARN de votre flux Kinesis>", "<ARN de votre clé KMS>", "<ARN de votre BD RDS>"] } ] }
Créez une nouvelle instance de base de données Aurora PG ou utilisez une existante. Ouvrez la console Web de DataSunrise et accédez à Configuration -> Bases de données.
- Fournissez les détails de connexion pour votre base de données Aurora PG. Spécifiez le point d’accès de votre cluster Aurora PG dans le champ Host;
- Dans la section Capture Mode de la page d’instance, sélectionnez Trailing the DB Audit Logs dans la liste déroulante Mode;
- Dans la liste déroulante Format Type, sélectionnez Database activity stream;
- Remplissez tous les champs requis. Enregistrez l’instance.
Créez une règle d’audit des données pour votre instance Aurora PG : accédez à Audit -> Rules et créez une règle
Pour les résultats d’audit, accédez à Audit -> Transactional Trails. Notez que les résultats peuvent apparaître avec un retard d’environ 5-10 minutes.
Vous pouvez également ajuster l’audit basé sur DAS de DataSunrise en modifiant les paramètres suivants (Paramètres système -> Paramètres supplémentaires) :
- TrailDASIntervalTime : période de temps pour obtenir une liste d’événements (par exemple, pour les 5 dernières minutes à partir du dernier enregistrement) ;
- TrailDASOffsetTime : retard de temps pour obtenir des événements (nécessaire pour la synchronisation, en secondes).