API de repérage avancée

Avertissement

L’API de chasse avancée Microsoft Defender for Endpoint est ancienne et offre des fonctionnalités limitées. Une version plus complète de l’API de repérage avancée qui peut interroger davantage de tables est déjà disponible dans l’API de sécurité Microsoft Graph. Pour plus d’informations, consultez La chasse avancée à l’aide de l’API de sécurité Microsoft Graph.

L’API de chasse avancée Microsoft Defender for Endpoint passe à l’API de sécurité Microsoft Graph, qui inclut des fonctionnalités de chasse avancées. L’API de sécurité Microsoft Graph offre une couverture des données plus large, une cohérence améliorée et une meilleure scalabilité pour les flux de travail d’automatisation et de sécurité. La retraite a commencé en janvier 2026. Une fois la mise hors service terminée, l’API de chasse avancée Microsoft Defender for Endpoint ne fonctionne plus. Pour connaître la chronologie de la mise hors service, consultez MC1220762. Pour plus d’informations sur votre migration, consultez Utiliser l’API de sécurité Microsoft Graph.

Remarque

Si vous êtes un client du gouvernement des États-Unis, utilisez les URI répertoriés dans Microsoft Defender pour point de terminaison pour les clients du gouvernement des États-Unis.

Conseil

Pour de meilleures performances, au lieu d’utiliser api.security.microsoft.com, utilisez un serveur plus proche de votre géolocalisation :

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com
  • ina.api.security.microsoft.com
  • aea.api.security.microsoft.com

Limitations

  • Vous pouvez uniquement exécuter une requête sur les données des 30 derniers jours.

  • Les résultats incluent un maximum de 100 000 lignes.

  • Le nombre d’exécutions est limité par locataire :

    • Appels d’API : jusqu’à 45 appels par minute et jusqu’à 1 500 appels par heure.
    • Durée d’exécution : 10 minutes d’exécution toutes les heures et 3 heures d’exécution par jour.
  • La durée d’exécution maximale d’une requête unique est de 200 secondes.

  • 429 la réponse représente l’atteinte de la limite de quota en fonction du nombre de demandes ou du processeur. Lisez le corps de la réponse pour comprendre quelle limite a été atteinte.

  • La taille maximale des résultats d’une requête ne peut pas dépasser 50 Mo. En cas de dépassement, une requête INCORRECTE HTTP 400 avec le message « L’exécution de la requête a dépassé la taille de résultat autorisée. Optimisez votre requête en limitant le nombre de résultats et réessayez » se produit.

Autorisations

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour en savoir plus, notamment sur le choix des autorisations, consultez Utiliser des API Microsoft Defender pour point de terminaison.

Type d’autorisation Autorisation Nom complet de l’autorisation
Application AdvancedQuery.Read.All Run advanced queries
Déléguée (compte professionnel ou scolaire) AdvancedQuery.Read Run advanced queries

Remarque

Lors de l’obtention d’un jeton à l’aide des informations d’identification de l’utilisateur :

  • Le rôle doit être attribué à l’utilisateur View Data dans Microsoft Entra ID.

  • L’utilisateur doit avoir accès à l’appareil, en fonction des paramètres du groupe d’appareils (voir Créer et gérer des groupes d’appareils pour plus d’informations).

    La création de groupes d’appareils est prise en charge dans Defender pour point de terminaison Plan 1 et Plan 2.

Requête HTTP

POST https://api.security.microsoft.com/api/advancedqueries/run

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, fournissez un objet JSON avec les paramètres suivants :

Paramètre Type Description
Requête Texte Requête à exécuter. Obligatoire.

Réponse

Si elle réussit, cette méthode renvoie 200 OK et l’objet QueryResponse dans le corps de la réponse.

Exemple

Exemple de requête

Voici un exemple de demande.

POST https://api.security.microsoft.com/api/advancedqueries/run
{"Query":"DeviceProcessEvents |where InitiatingProcessFileName =~ 'powershell.exe' |where ProcessCommandLine contains 'appdata'|project Timestamp, FileName, InitiatingProcessFileName, DeviceId|limit 2"}

Exemple de réponse

Voici un exemple de réponse.

Remarque

L’objet de réponse présenté ici peut être tronqué par souci de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.

{
    "Schema": [
        {
            "Name": "Timestamp",
            "Type": "DateTime"
        },
        {
            "Name": "FileName",
            "Type": "String"
        },
        {
            "Name": "InitiatingProcessFileName",
            "Type": "String"
        },
        {
            "Name": "DeviceId",
            "Type": "String"
        }
    ],
    "Results": [
        {
            "Timestamp": "2020-02-05T01:10:26.2648757Z",
            "FileName": "csc.exe",
            "InitiatingProcessFileName": "powershell.exe",
            "DeviceId": "10cbf9182d4e95660362f65cfa67c7731f62fdb3"
        },
        {
            "Timestamp": "2020-02-05T01:10:26.5614772Z",
            "FileName": "csc.exe",
            "InitiatingProcessFileName": "powershell.exe",
            "DeviceId": "10cbf9182d4e95660362f65cfa67c7731f62fdb3"
        }
    ]
}

Conseil

Voulez-vous en savoir plus ? Engage avec la communauté Sécurité Microsoft dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.