Partager via


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

Configurer un audit à l’aide du portail Azure

  1. Connectez-vous au portail Azure.

  2. Sélectionnez votre instance de serveur flexible.

  3. Dans le volet gauche, sous Paramètres, sélectionnez Paramètres du serveur.

    Capture d’écran montrant la liste « Paramètres du serveur ».

  4. Pour le paramètre audit_log_enabled, sélectionnez ON.

    Capture d’écran montrant le paramètre « audit_log_enabled » en position « ON ».

  5. Pour le paramètre audit_log_events, dans la liste déroulante, sélectionnez les types d’événements à journaliser.

    Capture d’écran des options d’événement dans la liste déroulante « audit_log_events ».

  6. 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.

    Capture d’écran montrant les noms d’utilisateur MySQL à inclure dans la journalisation ou à exclure.

  7. Sélectionnez Enregistrer.

    Capture d’écran du bouton « Enregistrer » permettant d’enregistrer les modifications apportées aux valeurs des paramètres.

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.

  1. Dans le volet de gauche, sous Supervision, sélectionnez Paramètres de diagnostic.

  2. Dans le volet Paramètres de diagnostic, sélectionnez Ajouter un paramètre de diagnostic.

    Capture d’écran du lien « Ajouter un paramètre de diagnostic » dans le volet « Paramètres de diagnostic ».

  3. Dans la zone Nom, entrez un nom pour le paramètre de diagnostic.

    Capture d’écran du volet « Paramètres de diagnostic » permettant de sélectionner des options de configuration.

  4. 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.

  5. Sous Journal, pour le type de journal, cochez la case MySqlAuditLogs.

  6. 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

  1. Dans Log Analytics, dans le volet gauche, sous Supervision, sélectionnez Journaux.

  2. Fermez la fenêtre Requêtes.

    Capture d’écran du volet « Requêtes » de Log Analytics.

  3. 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
    

    Capture d’écran d’un exemple de requête Log Analytics qui cherche à trouver un résumé des événements audités sur un serveur particulier.

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.

  1. Dans Azure Monitor, dans le volet gauche, sélectionnez Journal d’activité, puis sélectionnez Paramètres de diagnostic.

    Capture d’écran montrant l’onglet « Paramètres de diagnostic » dans le volet Azure Monitor « Journal d’activité ».

  2. 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.

    Capture d’écran du volet Azure Monitor « Paramètre de diagnostic » permettant de sélectionner des destinations de journal.

    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.

  3. Dans le portail Azure, dans le volet gauche, sous Supervision pour votre instance de Serveur flexible Azure Database pour MySQL, sélectionnez Classeurs.

  4. Sélectionnez le classeur Audit.

    Capture d’écran montrant tous les classeurs dans la galerie de classeurs.

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

Capture d’écran du modèle de classeur « Actions administratives sur le service ».

Capture d’écran du modèle de classeur « Auditer les événements de connexion ».

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.