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.

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 retourne un 200 OK code de réponse, mais /security/alerts?$top=10&$skip=501 retourne un 400 Bad Request code de réponse. 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é.