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 for recebido pelo Microsoft Graph API de Segurança, ele enviará 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.

Erros de ação em massa do indicador de ameaça

Ações em massa (criar, atualizar, excluir) podem gerar dois códigos de erro potenciais diferentes:

  • Um código de erro 400 indica que o corpo fornecido teve um erro durante a serialização.
  • Um código de erro 206 indica que uma ou mais ações em massa falharam quando foram federadas para seu provedor. A resposta conterá dados de sucesso/erro dos provedores individuais para cada indicador de inteligência contra ameaças. Ao contrário dos alertas, todas as informações de erro potenciais serão contidas no corpo da resposta para ações em massa tiIndicator .

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 retornará um código de resposta 200 OK, mas /security/alerts?$top=10&$skip=501 retornará um código de resposta 400 Bad Request. 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, alerts?$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.