Comment configurer l’audit des traces pour MS Azure PostgreSQL
Avec d’autres fonctionnalités, DataSunrise propose un outil de vérification intégré, l’Audit des traces DB, basé sur l’utilisation des outils et mécanismes de vérification natifs de la base de données. Dans cet article, nous expliquons comment configurer DataSunrise et votre base de données PostgreSQL hébergée sur MS Azure pour effectuer l’audit des traces DB.
Notez que ce guide décrit toutes les actions nécessaires pour que l’audit des traces DB fonctionne dès le début. Supposons que vous n’ayez ni base de données ni les ressources Azure correspondantes. Pour suivre les étapes de ce guide, vous n’avez besoin que de DataSunrise installé sur votre machine et d’un accès au portail Azure.
Connectez-vous au portail Azure
Connectez-vous au portail Azure. Si vous n’êtes pas familier avec l’interface d’Azure, vous pouvez trouver utile d’utiliser le champ de recherche situé en haut de l’écran (« Rechercher des ressources, des services et des documents »).
Enregistrement d’une application Azure
DataSunrise utilisera cette application pour télécharger les fichiers journaux de votre PostgreSQL à partir du conteneur Blob associé à votre compte de stockage. Suivez les étapes ci-dessous :
1. Allez à App registrations -> New registration et enregistrez votre application. Notez que Redirect URI (optional) n’est pas requis.
2. Accordez à votre application les autorisations pour accéder aux conteneurs Blob.
Sur la page API permissions, cliquez sur Add a permission.
Dans l’onglet Microsoft APIs, sélectionnez Azure Storage, puis sélectionnez Delegated permissions et user_impersonation :
Cliquez sur Add permissions pour appliquer les modifications.
3. Créez un Secret pour votre application afin qu’Azure puisse identifier votre application.
- Allez à Certificates and secrets
- Dans Client secrets, cliquez sur New client secret pour créer un nouveau secret. ENREGISTREZ LA VALEUR DU SECRET QUELQUE PART : vous en aurez besoin plus tard.
Création d’un groupe de ressources
Un groupe de ressources est nécessaire pour contenir les entités (ressources) associées à votre environnement de base de données.
Allez à Resource groups et créez un groupe de ressources.
Création d’un compte de stockage
Le compte de stockage contiendra les fichiers journaux de votre PostgreSQL. DataSunrise récupérera ces journaux à partir de votre compte de stockage.
1. Allez à Storage accounts et créez un compte.
2. Sélectionnez votre groupe de ressources dans les paramètres du compte de stockage et nommez le compte de stockage. Laissez tous les autres paramètres par défaut.
3. Allez à Access Control (IAM) et cliquez sur Add -> Add role assignment.
Sélectionnez Reader : Next. Cliquez sur +Select members et sélectionnez votre application enregistrée. Passez en revue et assignez. Ceci est nécessaire pour que votre application puisse accéder aux fichiers journaux contenus dans les conteneurs Blob de votre compte de stockage :
4. Cliquez de nouveau sur Add role assignment et sélectionnez Storage Blob Data Reader.
5. Cliquez sur +Select Members et sélectionnez votre application enregistrée. Passez en revue et assignez.
Création d’un serveur de base de données PostgreSQL
Créez un serveur de base de données PostgreSQL si vous n’en avez pas. Sinon, modifiez les paramètres de votre base de données selon les étapes ci-dessous.
1. Allez à Azure Database for PostgreSQL servers et créez un nouveau serveur : allez à Create -> Flexible server -> Create
2. Fournissez tous les détails requis du serveur
3. Dans l’onglet Networking, cochez Public access… et ajoutez les règles de pare-feu requises. Complétez le déploiement.
4. Allez à your PostgreSQL database -> Settings -> Server Parameters et définissez les paramètres suivants selon le tableau ci-dessous :
Paramètre | Valeur requise |
---|---|
log_checkpoints | OFF |
log_destination | CSVLOG |
pgaudit.log | ALL |
shared_preload_libraries | PG_STAT_STATEMENTS, PGAUDIT |
log_line_prefix | %t-%c-u”%u”u- |
Enregistrez les paramètres
5. Configurez votre base de données pour stocker les journaux dans un compte de stockage associé.
Allez à Monitoring -> Diagnostic settings -> Add diagnostic setting
Cochez à la fois PostgreSQL Server Log et PostgreSQL Sessions Data. Ensuite, cochez Archive to a storage account et sélectionnez votre compte de stockage
Création d’une instance PostgreSQL dans DataSunrise
Ouvrez la console Web de DataSunrise et allez à Configuration -> Databases pour créer une instance de base de données PostgreSQL (voir sous « Création d’un profil de base de données cible » du guide de l’utilisateur de DataSunrise pour plus de détails) :
Vous devrez fournir les informations suivantes :
1. Sélectionnez Trailing the DB Audit Logs dans les paramètres de l’instance. Remplissez tous les champs requis.
2. Copiez ClientID et TenantID de votre application Azure pour permettre à DataSunrise d’utiliser l’application pour télécharger les fichiers journaux de votre PostgreSQL
3. Saisissez le Secret client enregistré auparavant (voir l’étape 3 de Enregistrement d’une application Azure).
4. Saisissez Blob Container Name. Vous pouvez trouver le nom de votre conteneur Blob dans les paramètres Azure Storage Accounts -> your account -> Containers :
Résultats de l’audit
Créez des règles d’audit pour votre base de données PostgreSQL (voir sous « Création d’une règle d’audit de données » du guide de l’utilisateur) et exécutez quelques requêtes sur votre base de données PostgreSQL, puis allez à Audit -> Transactional trails pour voir les résultats de l’audit :