API de repérage avancée

S’applique à :

Avertissement

Cette API de repérage avancée est une version plus ancienne avec 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. Consultez Repérage avancé à l’aide de l’API de sécurité Microsoft Graph

Vous voulez découvrir Microsoft Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.

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, vous pouvez utiliser le serveur plus près de votre emplacement géographique :

  • 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

Limitations

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

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

  3. 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.
  4. La durée d’exécution maximale d’une requête unique est de 200 secondes.

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

  6. La taille maximale des résultats d’une requête ne peut pas dépasser 124 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.securitycenter.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.securitycenter.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é Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.