Partager via


Exécuter des requêtes KQL sur le lac de données Microsoft Sentinel

L’exploration data lake dans le portail Microsoft Defender fournit une interface unifiée pour analyser votre lac de données. Il vous permet d’exécuter des requêtes KQL (Langage de requête Kusto), de créer des travaux et de les gérer.

La page de requêtes KQL sous Exploration data lake vous permet de modifier et d’exécuter des requêtes KQL sur des ressources data lake. Créez des travaux pour promouvoir les données du lac de données vers le niveau Analytique ou créez des tables d’agrégation dans le niveau Data Lake. Exécutez des travaux à la demande ou planifiez-les. La page Travaux vous permet de gérer les travaux ; activez, désactivez, modifiez ou supprimez. Pour plus d’informations, consultez Créer des travaux dans le lac de données Microsoft Sentinel.

Conditions préalables

Les prérequis suivants sont nécessaires pour exécuter des requêtes KQL dans le lac de données Microsoft Sentinel.

Embarquer dans le lac de données

Vous pouvez exécuter des requêtes KQL dans le portail Microsoft Defender après avoir terminé le processus d’intégration. Pour plus d’informations sur l’intégration, consultez Intégration au lac de données Microsoft Sentinel.

Autorisations

Les rôles d’ID Microsoft Entra vous permettent d’accéder à tous les espaces de travail dans le lac de données. Vous pouvez également accorder l’accès à des espaces de travail individuels à l’aide de rôles RBAC Azure. Les utilisateurs disposant d’autorisations RBAC Azure pour les espaces de travail Microsoft Sentinel peuvent exécuter des requêtes KQL sur ces espaces de travail dans le niveau Data Lake. Pour plus d’informations sur les rôles et les autorisations, consultez rôles et autorisations de lac de données Microsoft Sentinel.

Écrire des requêtes KQL

L’écriture de requêtes pour le lac de données est similaire à l’écriture de requêtes dans l’expérience de chasse avancée. Vous pouvez utiliser la même syntaxe et les mêmes fonctions KQL. KQL prend en charge les fonctions d’analytique et d’apprentissage automatique avancées. L’éditeur de requête offre une interface permettant d’exécuter des requêtes KQL avec des fonctionnalités telles qu’IntelliSense et la saisie semi-automatique pour vous aider à écrire efficacement. Pour obtenir une vue d’ensemble détaillée de la syntaxe et des fonctions KQL, consultez la vue d’ensemble du langage de requête Kusto (KQL).

Requêtes KQL dans le portail Defender

Sélectionnez Nouvelle requête pour créer un nouvel onglet de requête. Le portail enregistre la dernière requête dans chaque onglet. Basculez entre les onglets pour travailler simultanément sur plusieurs requêtes.

L’onglet Historique des requêtes affiche la liste de vos requêtes précédemment exécutées, du temps de traitement des requêtes et de l’état d’achèvement. Vous pouvez ouvrir une requête précédente dans un nouvel onglet en la sélectionnant dans la liste. Le portail enregistre l’historique des requêtes pendant 30 jours. Sélectionnez une requête à modifier ou à réexécuter.

Capture d’écran de la page de requêtes KQL dans le portail Defender.

Sélectionner des espaces de travail

Vous pouvez exécuter des requêtes sur un espace de travail unique ou plusieurs espaces de travail. Sélectionnez des espaces de travail dans le coin supérieur droit de l’éditeur de requête à l’aide de la liste déroulante Espaces de travail sélectionnés . Les espaces de travail que vous sélectionnez déterminent les tables disponibles pour l’interrogation. Les espaces de travail sélectionnés s’appliquent à tous les onglets de requête dans l’éditeur de requête. Lorsque vous utilisez plusieurs espaces de travail, l’opérateur union() est appliqué par défaut aux tables portant le même nom et le même schéma de différents espaces de travail. Utilisez l’opérateur workspace() pour interroger une table à partir d’un espace de travail spécifique, par exemple workspace("MyWorkspace").AuditLogs.

Si vous sélectionnez un espace de travail unique, vide ou un espace de travail dans le processus d’intégration, le navigateur de schéma n’affiche aucune table.

Capture d’écran montrant le panneau de sélection des espaces de travail.

Sélection de l'intervalle de temps

Utilisez le sélecteur d’heure au-dessus de l’éditeur de requête pour sélectionner l’intervalle de temps de votre requête. À l’aide de l’option Plage de temps personnalisée , vous pouvez définir une heure de début et de fin spécifique. Les intervalles de temps peuvent être jusqu’à 12 ans dans la durée.

Capture d’écran montrant le sélecteur d’intervalle de temps.

Vous pouvez également spécifier un intervalle de temps dans la syntaxe de requête KQL, par exemple :

  • where TimeGenerated between (datetime(2020-01-01) .. datetime(2020-12-31))
  • where TimeGenerated between(ago(180d)..ago(90d))

Remarque

Les requêtes sont limitées à 500 000 lignes ou 64 Mo de données et de délai d’expiration après 8 minutes. Lorsque vous sélectionnez un large intervalle de temps, votre requête peut dépasser ces limites. Envisagez d’utiliser des requêtes asynchrones pour les requêtes longues. Pour plus d’informations, consultez requêtes asynchrones.

Afficher les informations de schéma

Le navigateur de schéma fournit une liste de tables disponibles et de leurs colonnes pour les espaces de travail sélectionnés, regroupés par catégorie. Les tables système apparaissent dans la catégorie Ressources . Les tables personnalisées avec _CL, _KQL_CL, _SPARKet _SPARK_CL sont regroupées dans la catégorie Journaux personnalisés . Utilisez le navigateur de schéma pour explorer les données disponibles dans votre lac de données et découvrir des tables et des colonnes. Utilisez la zone de recherche pour rechercher rapidement des tables spécifiques.

Capture d’écran montrant le panneau du navigateur de schéma dans l’éditeur KQL.

Fenêtre résultat

La fenêtre de résultats affiche les résultats de votre requête. Vous pouvez afficher les résultats dans un format de tableau et exporter les résultats vers un fichier CSV à l’aide du bouton Exporter dans le coin supérieur gauche de la fenêtre de résultats. Basculez la visibilité des colonnes vides à l’aide du bouton Afficher les colonnes vides . Le bouton Personnaliser les colonnes vous permet de sélectionner les colonnes à afficher dans la fenêtre de résultats.

Vous pouvez rechercher les résultats à l’aide de la zone de recherche dans le coin supérieur droit de la fenêtre de résultats.

Capture d’écran montrant la fenêtre de résultats dans un éditeur de requête KQL.

Requêtes prêtes à l’emploi

L’onglet Requêtes fournit une collection de requêtes KQL prêtes à l’emploi. Ces requêtes couvrent des scénarios courants et des cas d’usage, tels que l’investigation des incidents de sécurité et la chasse aux menaces. Vous pouvez utiliser ces requêtes as-is ou les modifier en fonction de vos besoins spécifiques.

Sélectionnez une requête dans la liste à l’aide de l’icône ... Vous pouvez l’ouvrir dans un nouvel onglet de requête pour la modification ou l’exécuter immédiatement.

Pour plus d’informations sur les exemples de requêtes, consultez Exemples de requêtes KQL pour le lac de données Microsoft Sentinel.

Capture d’écran de l’onglet Exemples de requêtes dans l’éditeur de requête KQL.

Requêtes asynchrones

Vous pouvez exécuter des requêtes de longue durée de manière asynchrone. Vous pouvez donc continuer à travailler pendant l’exécution de la requête sur le serveur. Pour exécuter une requête de façon asynchrone, sélectionnez la flèche vers le bas sur le bouton Exécuter la requête , puis exécutez une requête asynchrone. Entrez un nom de requête pour identifier votre requête asynchrone. Après avoir envoyé la requête, vous pouvez surveiller son état dans l’onglet Requêtes asynchrones . Une fois la requête terminée, vous pouvez afficher les résultats en sélectionnant le nom de la requête dans la liste.

Capture d’écran montrant l’onglet Requêtes asynchrones dans l’éditeur de requête KQL.

Si une requête synchrone prend plus de 2 minutes pour s’exécuter, une invite s’affiche pour vous demander si vous souhaitez exécuter la requête de manière asynchrone. Sélectionnez Exécuter async pour modifier la requête de manière asynchrone.

Capture d’écran montrant l’invite de modification d’une requête longue en requête asynchrone.

Extraire les résultats des requêtes asynchrones

Pour afficher les résultats de la requête asynchrone, sélectionnez la requête asynchrone terminée dans l’onglet Requêtes asynchrones et sélectionnez Extraire les résultats. La requête s’affiche dans les commentaires de l’éditeur de requête et les résultats sont affichés sous l’onglet Résultats.

Les résultats sont stockés pendant 24 heures et sont accessibles plusieurs fois. Vous pouvez exporter les résultats dans un fichier CSV à l’aide du bouton Exporter dans le coin supérieur gauche de la fenêtre de résultats.

Capture d’écran montrant les résultats d’une requête asynchrone dans l’éditeur de requête KQL.

Emplois

Les travaux sont utilisés pour exécuter des requêtes KQL sur les données du niveau du lac de données et promouvoir les résultats vers le niveau Analytique. Vous pouvez créer des travaux ponctuels ou planifiés, et vous pouvez activer, désactiver, modifier ou supprimer des travaux à partir de la page Travaux . Pour créer un travail en fonction de votre requête actuelle, sélectionnez le bouton Créer un travail . Pour plus d’informations sur la création et la gestion des travaux, consultez Créer des travaux dans le lac de données Microsoft Sentinel.

Explorateur de données Azure

Vous pouvez exécuter des requêtes KQL sur le lac de données Microsoft Sentinel à l’aide d’Azure Data Explorer (ADX). ADX fournit un moteur de requête puissant et des fonctionnalités d’analytique avancées. Pour vous connecter au lac de données à l’aide d’ADX, créez une connexion à l’aide de l’URI suivant : https://api.securityplatform.microsoft.com/lake/kql

Lors de l’interrogation de tables dans le lac de données à l’aide d’ADX, vous devez utiliser la external_table() fonction pour accéder aux données. Par exemple:

external_table("AADRiskyUsers")
| take 100

Considérations et limitations relatives aux requêtes

  • Les requêtes sont exécutées sur les espaces de travail que vous avez sélectionnés. Veillez à sélectionner les espaces de travail appropriés avant d’exécuter une requête.

  • L’exécution de requêtes KQL sur le lac de données Microsoft Sentinel entraîne des frais en fonction des compteurs de facturation des requêtes. Pour plus d’informations, consultez Planifier les coûts et comprendre la tarification et la facturation de Microsoft Sentinel.

  • Passez en revue l’ingestion des données et la stratégie de rétention des tables. Avant de définir l’intervalle de temps de requête, tenez compte de la conservation des données sur vos tables data lake et indiquez si les données sont disponibles pour l’intervalle de temps sélectionné. Pour plus d’informations, consultez Gérer les niveaux de données et la rétention dans le portail Microsoft Defender.

  • Les requêtes KQL sur le lac de données sont moins performantes que les requêtes du niveau Analytique. Utilisez des requêtes KQL sur le lac de données uniquement lors de l’exploration des données historiques ou lorsque les tables sont stockées en mode data lake uniquement.

  • Les commandes de contrôle KQL suivantes sont actuellement prises en charge :

    • .show version
    • .show databases
    • .show databases entities
    • .show database
  • Lorsque vous utilisez la stored_query_results commande, indiquez l’intervalle de temps dans la requête KQL. Le sélecteur de temps au-dessus de l’éditeur de requête ne fonctionne pas avec cette commande.

  • L’utilisation de fonctions prêtes à l’emploi ou personnalisées n’est pas prise en charge dans les requêtes KQL sur le lac de données.

  • L'utilisation de requêtes KQL pour appeler des données externes depuis le lac de données n'est pas prise en charge.

  • Tous les opérateurs et fonctions KQL sont pris en charge, à l’exception des éléments suivants :

    • adx()
    • arg()
    • externaldata()
    • ingestion_time()

Paramètres et limites de service pour les requêtes KQL dans le niveau lake

Les limitations des paramètres de service suivantes s’appliquent lors de l’écriture de requêtes dans le lac de données Microsoft Sentinel.

Catégorie Paramètre/limite
Requêtes interactives simultanées 45 par minute
Données de résultats de requête 64 Mo
Lignes de résultats de requête 500 000 lignes
Étendue de requête Plusieurs espaces de travail
Délai de requête 8 minutes
Intervalle de temps interrogeable Jusqu’à 12 ans, en fonction de la conservation des données.

Pour résoudre les problèmes de requêtes KQL, consultez Résoudre les problèmes de requêtes KQL dans le lac de données Microsoft Sentinel.