Tutoriel : Configurer des journaux d’audit avec Azure Database pour MySQL – Serveur flexible

S’APPLIQUE À : Azure Database pour MySQL - Serveur flexible

Vous pouvez utiliser Azure Database pour MySQL serveur flexible pour configurer les 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 les informations d’audit pour Azure Database pour MySQL serveur flexible.

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.

    Screenshot showing the 'Server parameters' list.

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

    Screenshot showing the 'audit_log_enabled' parameter switched to 'ON'.

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

    Screenshot of the event options in the 'audit_log_events' dropdown list.

  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.

    Screenshot showing the MySQL usernames to be included or excluded from logging.

  7. Sélectionnez Enregistrer.

    Screenshot of the 'Save' button for saving changes in the parameter values.

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.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

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

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  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.

    Screenshot of the Log Analytics 'Queries' pane.

  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 
    

    Screenshot of an example Log Analytics query seeking to find a summary of audited events on a particular server.

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.

    Screenshot showing the 'Diagnostics settings' tab on the Azure Monitor 'Activity log' pane.

  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.

    Screenshot of the Azure Monitor 'Diagnostic setting' pane for selecting log destinations.

    Remarque

    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 Surveillance de votre instance de serveur flexible Azure Database pour MySQL, sélectionnez Classeurs.

  4. Sélectionnez le classeur Audit.

    Screenshot showing all workbooks in the workbook gallery.

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

Screenshot of workbook template 'Administrative Actions on the service'.

Screenshot of workbook template 'Audit Connection Events'.

Remarque

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

Étapes suivantes