Configurer le trailing d’audit de base de données pour MS Azure PostgreSQL
En plus d’autres fonctionnalités, DataSunrise propose un outil d’audit dédié, le trailing d’audit de base de données, basé sur l’utilisation des outils et mécanismes d’audit 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 le trailing d’audit de base de données.
Notez que ce guide décrit toutes les actions requises pour que le trailing d’audit de base de données fonctionne dès le départ. Supposons que vous ne disposiez ni d’une base de données, ni des ressources Azure correspondantes. Pour suivre les étapes de ce guide, il vous suffit d’avoir DataSunrise installé sur votre machine et d’accéder au portail Azure.
Se connecter au portail Azure
Connectez-vous au portail Azure. Si vous n’êtes pas familier avec l’interface d’Azure, vous pourriez trouver utile d’utiliser le champ de recherche situé en haut de l’écran (« Rechercher des ressources, services, et docs »).
Enregistrement d’une application Azure
DataSunrise utilisera cette application pour télécharger les fichiers journaux de votre PostgreSQL depuis le conteneur Blob associé à votre compte de stockage. Suivez les étapes ci-dessous :
1. Accédez à Enregistrements d’applications -> Nouvel enregistrement et enregistrez votre application. Notez que le URI de redirection (facultatif) n’est pas requis.
2. Accordez à votre application les autorisations pour accéder aux conteneurs Blob.
Sur la page Autorisations API, cliquez sur Ajouter une autorisation
Dans l’onglet API Microsoft, sélectionnez Azure Storage puis choisissez Autorisations déléguées et user_impersonation :

Cliquez sur Ajouter des autorisations pour appliquer les modifications
3. Créez un secret pour votre application afin qu’Azure puisse l’identifier.
- Accédez à Certificats et secrets
- Dans la section Secrets clients, cliquez sur Nouveau secret client 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.
Accédez à Groupes de ressources 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 depuis votre compte de stockage.
1. Accédez à Comptes de stockage 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. Accédez à Contrôle d’accès (IAM) et cliquez sur Ajouter -> Ajouter une attribution de rôle
Sélectionnez Lecteur : Suivant. Cliquez sur +Sélectionner des membres et sélectionnez votre application enregistrée. Vérifiez et attribuez. Cela 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 à nouveau sur Ajouter une attribution de rôle et sélectionnez Lecteur de données Blob de stockage.
5. Cliquez sur +Sélectionner des membres et sélectionnez votre application enregistrée. Vérifiez et attribuez
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 possédez pas. Sinon, modifiez les paramètres de votre base de données selon les étapes suivantes.
1. Accédez à Serveurs Azure Database for PostgreSQL et créez un nouveau serveur : accédez à Créer -> Serveur flexible -> Créer
2. Fournissez toutes les informations requises pour le serveur
3. Dans l’onglet Réseau, cochez Accès public… et ajoutez les règles de pare-feu requises. Complétez le déploiement.
4. Accédez à votre base de données PostgreSQL -> Paramètres -> Paramètres du serveur 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é.
Accédez à Surveillance -> Paramètres de diagnostic -> Ajouter un paramètre de diagnostic
Cochez à la fois Journal du serveur PostgreSQL et Données des sessions PostgreSQL. Ensuite, cochez Archiver vers un compte de stockage et sélectionnez votre compte de stockage

Création d’une instance PostgreSQL dans DataSunrise
Ouvrez la console Web de DataSunrise et accédez à Configuration -> Bases de données pour créer une instance de base de données PostgreSQL (reportez-vous à la section « 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 le ClientID et le 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é précédemment (reportez-vous à l’étape 3 de Enregistrement d’une application Azure).
4. Saisissez le Nom du conteneur Blob. Vous pouvez trouver le nom de votre conteneur Blob dans les paramètres Azure, sous Comptes de stockage -> votre compte -> Conteneurs :

Résultats d’audit
Créez quelques règles d’audit pour votre base de données PostgreSQL (reportez-vous à la section « Création d’une règle d’audit des données » du Guide de l’utilisateur) et exécutez quelques requêtes sur votre base de données PostgreSQL, puis accédez à Audit -> Trails transactionnels pour voir les résultats de l’audit :
