Partager via


Réponses d’erreur microsoft Graph API de sécurité

Espace de noms: microsoft.graph

Les erreurs dans le API de sécurité Microsoft Graph sont retournées à l’aide du code de status de contenu partiel HTTP 206 standard et sont remises via un en-tête d’avertissement.

Erreurs

Le API de sécurité Microsoft Graph est un service fédéré qui reçoit plusieurs réponses de tous les fournisseurs de données. Lorsqu’une erreur HTTP est reçue par le API de sécurité Microsoft Graph, il renvoie un en-tête d’avertissement au format suivant :

{Vendor}/{Provider}/{StatusCode}/{LatencyInMs}

Cet en-tête d’avertissement n’est renvoyé aux clients que lorsque l’un des fournisseurs de données retourne un code d’erreur autre que 2xx ou 404. Par exemple :

  • HttpStatusCode.Forbidden (403) peut être retourné si l’accès à la ressource n’est pas accordé.
  • Si un fournisseur expire, HttpStatusCode.GatewayTimeout (504) est retourné dans l’en-tête d’avertissement.
  • Si une erreur de fournisseur interne se produit, HttpStatusCode.InternalServerError (500) est utilisé dans l’en-tête d’avertissement.

Si un fournisseur de données retourne 2xx ou 404, il n’est pas affiché dans l’en-tête d’avertissement, car ces codes sont censés réussir ou lorsque les données sont introuvables respectivement. Dans un système fédéré, un 404 introuvable est attendu autant de fois que les données ne sont connues que d’un ou de plusieurs fournisseurs, mais pas de tous.

Exemple

Un utilisateur demande security/alerts/{alert_id}.

Provider 1: 404 (provider does not have a record of this alert ID)
Provider 2: 504 (provider timed out)
Provider 3: 200 (success)
Provider 4: 403 (customer has not licensed this provider)

Étant donné que les conditions 404 et 200 sont toutes deux attendues, l’en-tête d’avertissement contient les éléments suivants :

Warning : 199 - "{Vendor2}/{Provider 2}/504/10000",    (usual timeout limit is set at 10 seconds)
          199 - "{Vendor4}/{Provider 4}/403/10"       (Provider 4 rejected the request in 10 ms)

Note: Chaque en-tête HTTP étant une collection de sous-éléments, les utilisateurs peuvent énumérer l’en-tête Avertissement et case activée tous les éléments.

Erreurs d’action en bloc de l’indicateur de menace

Les actions en bloc (créer, mettre à jour, supprimer) peuvent générer deux codes d’erreur potentiels différents :

  • Un code d’erreur 400 indique que le corps fourni comportait une erreur lors de la sérialisation.
  • Un code d’erreur 206 indique qu’une ou plusieurs actions en bloc ont échoué lorsqu’elles ont été fédérées vers son fournisseur. La réponse contient les données de réussite/erreur des fournisseurs individuels pour chaque indicateur de renseignement sur les menaces. Contrairement aux alertes, toutes les informations d’erreur potentielles sont contenues dans le corps de la réponse pour les actions en bloc tiIndicator .

Contraintes

Le $top paramètre de requête OData a une limite de 1 000 alertes. Nous vous recommandons d’inclure uniquement $top et non $skip dans la première requête obtenir. Vous pouvez utiliser @odata.nextLink pour la pagination. Si vous devez utiliser $skip, la limite est de 500 alertes. Par exemple, /security/alerts?$top=10&$skip=500 renvoie un code de réponse 200 OK, et /security/alerts?$top=10&$skip=501 un code de réponse 400 Bad Request. Pour plus d’informations, voir Réponses d’erreur de l’API Microsoft Graph Security.

Une solution de contournement pour cette limite consiste à utiliser le $filter paramètre de requête OData avec le eventDateTime de l’entité d’alerte de l’API de sécurité Microsoft Graph, en utilisant ?$filter=eventDateTime gt {YYYY-MM-DDT00:00:00.000Z} et en remplaçant la valeur dateTime par la dernière (1500e) alerte. Vous pouvez également définir une plage pour ; eventDateTimepar exemple, alerts?$filter=eventDateTime **gt** 2018-11-**11**T00:00:00.000Z&eventDateTime **lt** 2018-11-**12**T00:00:00.000Z.

Si vous rencontrez des problèmes avec l’autorisation, consultez Autorisation et microsoft Graph API de sécurité.