Partilhar via


Respostas de erro do Microsoft Graph API de Segurança

Namespace: microsoft.graph

Os erros no microsoft graph API de Segurança são retornados usando o código de status de Conteúdo Parcial HTTP 206 padrão e são entregues por meio de um cabeçalho de aviso.

Erros

O Microsoft Graph API de Segurança é um serviço federado que recebe várias respostas de todos os provedores de dados. Quando um erro HTTP é recebido pelo Microsoft Graph API de Segurança, ele envia de volta um cabeçalho de aviso no seguinte formato:

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

Esse cabeçalho de aviso só é enviado de volta aos clientes quando um dos provedores de dados retorna um código de erro diferente de 2xx ou 404. Por exemplo:

  • HttpStatusCode.Forbidden (403) poderá ser retornado se o acesso ao recurso não for concedido.
  • Se um provedor perder o tempo limite, HttpStatusCode.GatewayTimeout (504) será retornado no cabeçalho de aviso.
  • Se ocorrer um erro interno do provedor, HttpStatusCode.InternalServerError (500) será usado no cabeçalho de aviso.

Se um provedor de dados retornar 2xx ou 404, ele não será mostrado no cabeçalho de aviso porque esses códigos são esperados para êxito ou quando os dados não são encontrados, respectivamente. Em um sistema federado, um 404 não encontrado é esperado tantas vezes que os dados são conhecidos apenas por um ou vários provedores, mas não todos.

Exemplo

Um usuário pede 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)

Como 404 e 200 são condições esperadas, o cabeçalho de aviso contém o seguinte:

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)

Nota: Cada cabeçalho HTTP é uma coleção de subitems, para que os usuários possam enumerar o cabeçalho Aviso e marcar todos os itens.

Restrições

O $top parâmetro de consulta OData tem um limite de 1000 alertas. É recomendável incluir apenas o $top e não o $skip na primeira consulta OBTER. Você pode usar @odata.nextLink para paginação. Se você precisar usar o $skip, ele tem um limite de 500 alertas. Por exemplo, /security/alerts?$top=10&$skip=500 retorna um código de 200 OK resposta, mas /security/alerts?$top=10&$skip=501 retornará um código de 400 Bad Request resposta. Para obter mais informações, consulte as respostas de erro da API de segurança do Microsoft Graph.

Uma solução alternativa para esse limite é usar o $filter parâmetro de consulta OData com a eventDateTime entidade de alerta do Microsoft Graph API de Segurança, usando ?$filter=eventDateTime gt {YYYY-MM-DDT00:00:00.000Z} e substituindo o valor dateTime pelo último alerta (1500th). Você também pode definir um intervalo para o eventDateTime; por exemplo, alertas?$filter=eventDateTime gt 2018-11-11 T00:00:00.000Z&eventDateTime lt 2018-11-12 T00:00:00.000Z

Se você estiver tendo problemas com a autorização, consulte Autorização e o Microsoft Graph API de Segurança.