Tutoriel : Configurer des journaux d’audit avec Azure Database pour MySQL – Serveur flexible
Vous pouvez utiliser Serveur flexible Azure Database pour MySQL pour configurer des journaux d’audit. Les journaux d’audit peuvent servir à suivre l’activité au niveau de la base de données, notamment les événements de connexion, d’administration, de langage de définition de données (DDL) et de langage de manipulation de données (DML). Ces types de journaux sont couramment utilisés à des fins de conformité. En général, vous utilisez un audit de base de données dans les buts suivants :
- Tenir compte de toutes les actions qui se produisent dans un schéma, une table ou une ligne spécifique, ou qui affectent un contenu spécifique.
- Empêcher les utilisateurs (ou d’autres personnes) d’effectuer des actions inappropriées en fonction de leur responsabilité.
- Investiguer une activité suspecte.
- Superviser et collecter des données sur des activités de base de données spécifiques.
Cet article explique comment utiliser les journaux d’audit MySQL, les outils Log Analytics ou un modèle de classeur pour visualiser des informations d’audit pour Serveur flexible Azure Database pour MySQL.
Ce didacticiel vous montre comment effectuer les opérations suivantes :
- Configurer l’audit en utilisant le portail Azure ou Azure CLI
- Configurer les diagnostics
- Afficher les journaux d’audit en utilisant Log Analytics
- Afficher les journaux d’audit en utilisant des classeurs
Prérequis
- Démarrage rapide : Créer une instance d’Azure Database pour MySQL avec le portail Azure.
- Créez un espace de travail Log Analytics.
Configurer un audit à l’aide du portail Azure
Connectez-vous au portail Azure.
Sélectionnez votre instance de serveur flexible.
Dans le volet gauche, sous Paramètres, sélectionnez Paramètres du serveur.
Pour le paramètre audit_log_enabled, sélectionnez ON.
Pour le paramètre audit_log_events, dans la liste déroulante, sélectionnez les types d’événements à journaliser.
Pour les paramètres audit_log_exclude_users et audit_log_include_users, spécifiez les utilisateurs MySQL à inclure dans la journalisation ou à exclure de celle-ci en fournissant leurs noms d’utilisateur MySQL.
Sélectionnez Enregistrer.
Configurer un audit à l’aide d’Azure CLI
Vous pouvez aussi activer et configurer un audit pour votre serveur flexible à partir d’Azure CLI en exécutant la commande suivante :
# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
Configurer les diagnostics
Les journaux d’audit sont intégrés aux paramètres de diagnostic Azure Monitor pour vous permettre de canaliser vos journaux vers l’un des trois récepteurs de données suivants :
- Un espace de travail Log Analytics
- Un hub d’événements
- Un compte de stockage
Notes
Vous devez créer vos récepteurs de données avant de configurer les paramètres de diagnostic. Vous pouvez accéder aux journaux d’audit dans les récepteurs de données que vous avez configurés. L’affichage des journaux peut prendre jusqu’à 10 minutes.
Dans le volet de gauche, sous Supervision, sélectionnez Paramètres de diagnostic.
Dans le volet Paramètres de diagnostic, sélectionnez Ajouter un paramètre de diagnostic.
Dans la zone Nom, entrez un nom pour le paramètre de diagnostic.
Spécifiez les destinations (espace de travail Log Analytics, hub d’événements ou compte de stockage) auxquelles envoyer les journaux d’audit en cochant leurs cases correspondantes.
Notes
Pour ce tutoriel, vous allez envoyer les journaux d’audit à un espace de travail Log Analytics.
Sous Journal, pour le type de journal, cochez la case MySqlAuditLogs.
Après avoir configuré les récepteurs de données vers lesquels canaliser les journaux d’audit, sélectionnez Enregistrer.
Afficher les journaux d’audit en utilisant Log Analytics
Dans Log Analytics, dans le volet gauche, sous Supervision, sélectionnez Journaux.
Fermez la fenêtre Requêtes.
Dans la fenêtre de requête, vous pouvez écrire la requête à exécuter. Par exemple, pour trouver un résumé des événements audités sur un serveur particulier, nous avons utilisé la requête suivante :
AzureDiagnostics |where Category =='MySqlAuditLogs' |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s |summarize count() by event_class_s,event_subclass_s |order by event_class_s
Afficher les journaux d’audit en utilisant des classeurs
Le modèle de classeur que vous utilisez pour l’audit vous oblige à créer des paramètres de diagnostic pour envoyer des journaux de plateforme.
Dans Azure Monitor, dans le volet gauche, sélectionnez Journal d’activité, puis sélectionnez Paramètres de diagnostic.
Dans le volet Paramètre de diagnostic, vous pouvez ajouter un nouveau paramètre ou en modifier un existant. Chaque paramètre peut avoir un seul type de destination.
Notes
Vous pouvez accéder aux journaux des requêtes lentes dans les récepteurs de données (espace de travail Log Analytics, compte de stockage ou hub d’événements) que vous avez déjà configurés. L’affichage des journaux peut prendre jusqu’à 10 minutes.
Dans le portail Azure, dans le volet gauche, sous Supervision pour votre instance de Serveur flexible Azure Database pour MySQL, sélectionnez Classeurs.
Sélectionnez le classeur Audit.
Dans le classeur, vous pouvez voir les visualisations suivantes :
- Actions administratives sur le service
- Résumé de l’audit
- Résumé de l’audit des événements de connexion
- Audit des événements de connexion
- Résumé de l’accès aux tables
- Erreurs identifiées
Notes
- Vous pouvez aussi modifier ces modèles et les personnaliser selon vos besoins. Pour plus d’informations, consultez la section « Mode d’édition » d’Azure Workbooks.
- Pour une consultation rapide, vous pouvez aussi épingler les classeurs ou la requête Log Analytics sur votre tableau de bord. Pour plus d’informations, consultez Créer un tableau de bord dans le portail Azure.
La vue Actions d’administration sur le service vous fournit des détails sur l’activité effectuée sur ce dernier. Elle vous aide à déterminer la nature, l’auteur et la date de toute opération d’écriture (PUT, POST, DELETE) effectuée sur les ressources dans votre abonnement.
Vous pouvez utiliser d’autres visualisations pour mieux comprendre les détails de l’activité de la base de données. La sécurité d’une base de données comporte quatre aspects :
- Sécurité du serveur : Responsable d’empêcher les personnes non autorisées d’accéder à la base de données.
- Connexion de base de données : L’administrateur doit vérifier si des mises à jour de base de données ont été effectuées par le personnel autorisé.
- Contrôle d’accès aux tables : Montre les clés d’accès des utilisateurs autorisés et les tables au sein de la base de données que chacun d’eux est autorisé à gérer.
- Restriction d’accès à la base de données : Particulièrement importante pour les personnes qui ont chargé une base de données sur Internet car elle permet d’empêcher des sources externes d’accéder à votre base de données.