使用Microsoft Graph API获取Identity Protection日志仅返回2个月前数据问题
Microsoft Graph API 拉取Identity Protection数据仅返回历史旧日志的常见原因
- 查询参数配置错误
最常见的原因是请求内置了错误的时间过滤条件,比如在调用riskDetection、riskyUser等相关接口时,$filter参数指定的createdDateTime范围错误,或是时区转换异常(误将本地时间作为UTC时间传入过滤条件),直接过滤掉了近期的日志数据。另外如果配置了$orderby=createdDateTime asc按时间正序排列,且未完整遍历所有分页数据,仅取了前N条结果,也会只返回最早的旧数据。 - PowerShell SDK 调用逻辑问题
如果你使用的是Microsoft Graph PowerShell模块,未指定-All参数时默认仅返回前100条匹配结果,若你的租户历史日志量较大,默认返回的前100条自然是最早的历史数据。另外模块版本过旧也可能存在已知的接口调用bug,导致数据拉取范围异常。 - 权限与角色限制
你使用的委托账号或应用注册的权限、角色不足,也会触发数据范围限制:部分自定义安全角色仅被配置了访问历史风险日志的权限,无近期实时风险数据的读取权限;若租户的Azure AD Premium许可到期,也会导致Identity Protection相关的新数据无法生成和访问。 - 租户数据保留与访问策略限制
租户层面配置了安全日志访问限制,比如条件访问策略限制当前身份仅能访问特定时间段之前的安全数据,或是租户开启了数据分类防护,近期风险日志被划入更高权限级别的访问范围,当前身份无权限读取。 - 接口版本差异
如果你调用的是beta版本的Identity Protection接口,会存在功能迭代带来的变动,部分旧的请求语法在新版本中无法正确匹配近期数据,建议切换到v1.0正式版接口验证。
内容的提问来源于stack exchange,提问作者St Online
相关产品推荐
相关产品推荐

