Microsoft Graph 安全 API 错误响应
命名空间:microsoft.graph
Microsoft 安全Graph API 中的错误是使用标准 HTTP 206 部分内容状态代码返回的,并且通过警告标头传递。
错误
Microsoft Graph 安全性 API 是一项联合服务,可接收来自所有数据提供程序的多个响应。 当 Microsoft Graph 安全 API 收到 HTTP 错误时,它将以以下格式发送回警告标头:
{Vendor}/{Provider}/{StatusCode}/{LatencyInMs}
此警告标头仅在其中一个数据提供程序返回 2xx 或 404 外的错误代码时发送回客户端。 例如:
- 如果未授予 (,) 返回 HttpStatusCode.Forbidden) 403。
- 如果提供程序出现问题,则警告标头 (504) HttpStatusCode.GatewayTimeout。
- 如果发生内部提供程序错误,警告标头 (500) HttpStatusCode.InternalServerError。
如果数据提供程序返回 2xx 或 404,则它将不会显示在警告标头中,因为这些代码预期会成功或找不到数据。 在联合系统中,找不到 404 是预期数据的多次,因为只有一个或多个(但不是全部)提供程序知道数据。
示例
用户要求 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)
由于 404 和 200 都是预期条件,因此警告标头包含以下内容:
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)
注意: 每个 HTTP 标头都是子网站的集合,因此用户可以枚举警告标头并检查所有项目。
威胁指示器批量操作错误
批量操作 (、更新、删除) 可能会生成两个不同的潜在错误代码:
- 400 错误代码指示提供的正文在序列化过程中出现错误。
- 206 错误代码指示一个或多个批量操作在联合到其提供程序时失败。 该响应将包含每个威胁情报指示器各个提供程序的成功/错误数据。 与 警报不同,所有潜在的错误信息都将包含在 tiIndicator 批量操作的响应正文中。
约束
$topOData 查询参数的限制为 1000 个警报。 建议你在第一个 GET 查询中仅包括 $top,而不包括 $skip。 可使用 @odata.nextLink 进行分页。 如果需要使用 $skip,它具有 500 个警报的限制。 例如,/security/alerts?$top=10&$skip=500 将返回 200 OK 响应代码,但 /security/alerts?$top=10&$skip=501 将返回 400 Bad Request 响应代码。 有关详细信息,请参阅 Microsoft Graph 安全性 API 错误响应。
此限制的解决方法是将 OData 查询参数与 Microsoft Graph 安全 API 中的警报实体的 一同使用,将 dateTime 值替换为最后一个 ($filter eventDateTime ?$filter=eventDateTime gt {YYYY-MM-DDT00:00:00.000Z} 1500) 警报。 还可以为 设置区域 eventDateTime ;例如 , alerts?$filter=eventDateTime **gt** 2018-11-**11**T00:00:00.000Z&eventDateTime **lt** 2018-11-**12**T00:00:00.000Z 。
另请参阅
如果你在授权方面遇到问题,请参阅授权和Microsoft Graph安全 API。
反馈
提交和查看相关反馈