powershell - Azure Identity 风险事件的图形 API 未提取所有事件
问题描述
我想在 Azure AD 中发生风险事件时收到电子邮件。我们是一个非常大的租户,它们经常发生。我从 Microsoft 找到了这篇文章并按照以下步骤操作:https ://docs.microsoft.com/en-us/azure/active-directory/identity-protection/graph-get-started 但是,我看到它返回的少于我在 Web 界面上看到的结果的一半。
我复制并粘贴了示例代码,填写了我的租户信息,但我只得到了一些结果。(这是我第一次使用 Graph API。)我们不关闭事件,所以我从 Graph 接收活动事件,并且有很多活动事件不是通过 Graph 来的。
我正在使用这个 URL:“ https://graph.microsoft.com/beta/identityRiskEvents ” 以下是我如何将所有结果保存到变量中:
$myReport = (Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url)
$events = ($myReport.Content | ConvertFrom-Json).value
例如,在网站上,从 2019 年 4 月 4 日到今天,我有四个(活动的)凭证泄露事件,但在图表结果中,我只有一个。在网站上,我有十二个(活动的)不可能的旅行事件,但在图表中,我在同一时间跨度内只有四个。
我是否需要关闭网站上的活动才能获得正确的结果,我想知道吗?
解决方案
当风险事件多于页面大小时,需要使用 OData $top 和 $skip 进行分页逐页查询数据。例如,以下查询返回 page1、page2 和 page3:
- 获取 ~/beta/identityRiskEvents?$top=100
- 获取 ~/beta/identityRiskEvents?$top=100&$skip=100
- 获取 ~/beta/identityRiskEvents?$top=100&$skip=200
为避免深度分页,要跳过的页面有限制。因此,要查询大量风险事件,您可以添加过滤器以将数据分成一些块进行查询,例如:
GET ~beta/identityRiskEvents?$filter=riskLevel eq microsoft.graph.riskLevel'medium' 和 riskEventDateTime > 2016-04-05T00:00:56.2255665Z&$count=true
如果您对特定类型的风险事件感兴趣,比如leakedCredentials 风险事件,他们可以执行以下查询:
获取 ~/beta/leakedCredentialsRiskEvents
或者
GET ~/beta/identityRiskEvents?$filter=riskType eq 'LeakedCredentialsRiskEvent'</p>
推荐阅读
- file - 从 Google Cloud 在 SSH 中一次下载多个文件?
- android-studio - 图片网址在 Firebase 实时数据库中无效
- c++ - 如何获取 std::map 中的键数?
- javascript - 如何在引导卡中设置最大项目?
- spring - Spring OAuth2 安全问题
- jquery - 如何将css仅应用于我在循环中单击的按钮旁边的那个元素
- html - 如何检索和列出选定的选项数组角度打字稿
- python-3.x - 删除当前文件夹中所有文件以 < 开头的所有行
- javascript - 无法读取在vue js返回的数据中设置为null的未定义属性
- javascript - 如何查找和更新嵌套对象