Utiliser des sources de données fédérées dans Microsoft Sentinel

Après avoir configuré des connecteurs de données fédérés, vous pouvez accéder à vos tables fédérées via plusieurs interfaces dans Microsoft Sentinel. Les tables fédérées sont utilisées de la même façon que les autres tables de lac de données. Cet article explique comment afficher des tables fédérées, les interroger à l’aide de KQL (Langage de requête Kusto) et les utiliser dans des notebooks Jupyter.

Configuration requise

Avant de commencer, assurez-vous que :

Comprendre le nommage des tables fédérées

Les noms de tables fédérées suivent le modèle <tableName>_<connectorInstanceName>. Par exemple :

Nom de la table d’origine Nom du instance du connecteur Nom de la table fédérée
widgets ADLS01 widgets_ADLS01
sales_data AzureDBX01 sales_data_AzureDBX01
inventory Fabric01 inventory_Fabric01

Si plusieurs tables dans le connecteur instance ont le même nom de table, un identificateur numérique est ajouté au nom instance connecteur, par exemple widgets_ADLS01_1 lorsque deux tables au sein du ADLS01 connecteur instance sont appelées widgets.

Utilisez le nom de la table fédérée lors de l’interrogation de données à partir du lac de données Sentinel.

Afficher les tables fédérées dans la gestion des tables

La vue gestion des tables fournit une vue d’ensemble de toutes les tables de votre lac de données Sentinel, y compris les tables fédérées.

  1. Accédez à Microsoft Sentinel>Tables de configuration>.
  2. Sélectionnez le filtre Type .
  3. Sélectionnez Fédéré, puis Appliquer.

Capture d’écran montrant la vue de gestion des tables filtrée pour afficher les tables fédérées.

Afficher les détails de la table

Sélectionnez une ligne de tableau pour ouvrir le panneau d’informations. Le panneau contient trois onglets :

Tab Description
Vue d’ensemble Informations de base sur la table fédérée, notamment le type de source et le status de connexion.
Sources de données Affiche les instances de connecteur qui fournissent des données pour cette table.
Schéma Affiche les colonnes, les types de données et les descriptions des colonnes de la table. Les utilisateurs disposant des autorisations nécessaires pour écrire dans les tables système du lac de données peuvent sélectionner Actualiser le schéma pour mettre à jour les colonnes et d’autres métadonnées de schéma à partir de la source.

Capture d’écran montrant le menu volant détails de la table fédérée avec vue d’ensemble, sources de données et onglets de schéma.

Interroger des tables fédérées à l’aide de KQL

La page requêtes KQL dans Microsoft Sentinel vous permet d’interroger des tables fédérées avec des données Sentinel natives. Les tables fédérées sont prises en charge pour les travaux KQL, les requêtes interactives et asynchrones et les outils MCP.

  1. Accédez à Microsoft Sentinel> RequêtesKQL exploration >du lacde données.

  2. Sélectionnez le bouton Espace de travail sélectionné dans la barre d’informations.

  3. Sélectionnez Tables système comme espace de travail.

  4. Sous l’onglet Schéma , développez la section Tables système .

  5. Développez la section Tables fédérées .

  6. Recherchez le type de fédération pour votre source de données, par exemple Microsoft Fabric, Azure Databricks ou Azure Data Lake Storage Gen2.

  7. Développez le type de fédération pour afficher vos tables fédérées.

  8. Développez une table pour afficher ses colonnes.

Remarque

En raison de l’optimisation des performances des requêtes dans KQL, la mise à disposition de nouvelles données dans une table fédérée peut prendre jusqu’à 15 minutes.

Capture d’écran montrant l’onglet schéma des requêtes KQL avec des tables fédérées développées.

Écrire et exécuter des requêtes

Les requêtes sur des tables fédérées fonctionnent comme des requêtes sur des tables de lac natives avec quelques différences importantes :

  • Il est possible qu’une modification se produise dans le schéma d’une table dans la source externe. Cela peut entraîner un échec lors d’une requête qui indique qu’une colonne n’est pas présente. Actualisez les colonnes de la page Gestion des tables en sélectionnant la table fédérée, en sélectionnant l’onglet Schéma et en sélectionnant Actualiser le schéma.

  • Les tables fédérées sans TimeGenerated colonne ou lorsqu’une TimeGenerated colonne est présente avec des données au format incorrect ne peuvent pas être utilisées dans Data Lake Explorer pour sélectionner des intervalles de temps à l’aide du sélecteur de temps dans l’interface utilisateur. Définissez des filtres de date dans le corps du KQL qui correspondent au format de date de votre table fédérée.

Créer des travaux KQL à partir de requêtes fédérées

Vous pouvez créer des travaux KQL basés sur des requêtes qui utilisent des tables fédérées :

  1. Écrivez et testez votre requête KQL à l’aide de tables fédérées.
  2. Sélectionnez le bouton Créer un travail dans le coin supérieur droit du volet de requête.
  3. Configurez les paramètres du travail, y compris la planification et la destination de sortie.
  4. Enregistrez le travail.

Remarque

  • L’écriture de données dans une table fédérée n’est pas prise en charge. La sortie KQL est créée en fonction des mêmes critères que ceux utilisés aujourd’hui lors de la création d’un travail KQL, où il peut écrire dans une table nouvelle ou existante en fonction de la destination sélectionnée.

  • Si les tables fédérées ne contiennent pas de colonnes ou si votre sortie ne contient pas de TimeGenerated colonne avec une valeur de date correctement mise en forme pour chaque ligne, les requêtes KQL ne fonctionnent TimeGenerated pas sur la table une fois qu’elle a été créée dans le lac.

Les tables fédérées sont entièrement prises en charge pour les travaux KQL, les requêtes asynchrones et les outils MCP.

Créer un outil MCP avec des requêtes de table fédérée

Vous pouvez créer des outils MCP basés sur des requêtes qui utilisent des tables fédérées :

  1. Écrivez et testez votre requête KQL à l’aide de tables fédérées.

  2. Sélectionnez le bouton d’outil Enregistrer sous au-dessus de l’éditeur de requête.

  3. Ajustez la requête en fonction des besoins, par exemple paramétrer des valeurs.

  4. Pour toute référence d’une table fédérée, veillez à préfixer le nom de la table avec workspace("default").. Par exemple, si votre table était widgets_ADLS01, votre code s’affiche workspace("default").widgets_ADLS01 pour cette table.

  5. Enregistrez l’outil.

Utiliser des tables fédérées dans les notebooks Jupyter

Les tables fédérées sont accessibles dans les notebooks Jupyter via l’extension VS Code Microsoft Sentinel.

Dans l’extension VS Code Microsoft Sentinel, les tables fédérées apparaissent sous : Tables de lac>Tables système>Tables fédérées

Capture d’écran montrant des tables fédérées dans l’extension Microsoft Sentinel VS Code sous Tables système Tables fédérées.

L’utilisation de tables fédérées dans les notebooks Jupyter suit les mêmes modèles que les tables système natives :

  1. Utilisez le nom complet de la table : Référencez les tables au <tableName>_<connectorInstance> format .
  2. Ne spécifiez pas de nom d’espace de travail : les opérations de lecture ne nécessitent pas de spécification d’espace de travail.
  3. Accès en lecture seule : les tables fédérées sont en lecture seule ; vous ne pouvez pas réécrire des données dans des sources fédérées.

Remarque

Après avoir activé la fédération des données la première fois, il peut s’agir d’un délai de 24 heures avant que les tables fédérées ne s’affichent dans les notebooks Jupyter.

Travaux de notebook Jupyter

Vous pouvez créer des travaux de notebook Jupyter planifiés qui utilisent des tables fédérées de la même façon que vous créeriez un travail de notebook pour les tables de lac de données natives :

  1. Développez votre notebook avec des requêtes de table fédérée.
  2. Testez le notebook pour vous assurer que les requêtes fédérées s’exécutent correctement.
  3. Créez un travail à partir du notebook.
  4. Configurez la planification et les paramètres du travail.

Remarque

Les travaux de notebook peuvent uniquement écrire dans des espaces de travail Sentinel ou des tables système en tant que destinations. Vous ne pouvez pas écrire de données dans une table fédérée.

Meilleures pratiques

Optimisation des requêtes

  • Appliquer les filtres à l’avance : filtrez les données à la source si possible pour réduire le transfert de données.
  • Limiter les jeux de résultats : utilisez take des clauses ou limit pendant le développement.
  • Utiliser des projections : sélectionnez uniquement les colonnes dont vous avez besoin pour améliorer les performances.

Exemple : requête optimisée

large_dataset_adls_connector
| where EventTime >= ago(1h)           // Filter early
| where EventType == "Login"           // Reduce data volume
| project EventTime, UserId, SourceIP  // Select needed columns
| take 10000                           // Limit results

Stratégies de jointure

  • Utilisez les types de jointures appropriés : choisissez inner, leftouterou rightouter en fonction de vos besoins.
  • Filtrer avant la jointure : réduisez le volume de données avant les opérations de jointure.
  • Tenez compte des tailles de données : placez la table la plus petite sur le côté droit de la jointure.

Gestion des erreurs

  • Vérifier les status de connexion : vérifiez que les instances de connecteur fédéré sont connectées avant l’interrogation.
  • Gérer les valeurs null : les données externes peuvent contenir des valeurs Null inattendues ; use coalesce() ou isnull() , fonctions.
  • Surveiller les performances des requêtes : suivez les temps d’exécution des requêtes fédérées afin d’identifier les problèmes de performances.

Résolution des problèmes

La requête ne retourne aucun résultat

  • Vérifiez que le connecteur instance est dans un état connecté.
  • Vérifiez que la source de données externe est disponible, ainsi que les tables ciblées dans la requête.
  • Vérifiez que les autorisations n’ont pas été supprimées du principal de service ou Sentinel identité managée en fonction de la source de données ciblée.
  • Vérifiez que vous utilisez le format de nom de table fédéré correct.
  • Vérifiez que les tables système sont disponibles dans le volet de navigation pour vos requêtes KQL ou votre session notebook.

La requête est lente

  • Appliquez des filtres pour réduire le volume de données interrogés à partir de sources externes.
  • Vérifiez les performances et la disponibilité de la source externe.
  • Envisagez de créer des tables récapitulatives pour les données fréquemment consultées.

Incompatibilité de schéma

  • Passez en revue le schéma de table dans la vue gestion des tables.
  • Ajustez votre requête pour gérer les différences de schéma.
  • Vérifiez si le schéma de table externe a changé depuis la création du connecteur.

Impossible d’exécuter les outils MCP pour les tables fédérées

Veillez à préfixer le nom de la table où workspace("default"). que vous référencez une table fédérée dans l’outil MCP.

Étapes suivantes