集成Microsoft Security Insights:如何通过API获取风险用户与应用信息?
风险用户与应用详细报告的API方案及实现
当前集成状态
我们正在将Microsoft Security Insights集成到应用中以增强安全监控能力,目前已找到用于告警列表报告的API:
Microsoft Security Insights 事件告警列表API(2024-03-01版本)
请求示例:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts?api-version=2024-03-01
需求
希望扩展功能,生成包含存在安全风险的用户与应用的详细报告,需了解Microsoft Security Insights及其他工具中可用的API与实现方法。
附:GUI界面展示了报告需包含的核心信息(如用户ID、应用名称、风险类型、告警级别、触发时间等)
可用API及实现方法
一、Microsoft Security Insights 原生API
1. 风险用户数据获取
- 事件查询API:通过
GET请求获取所有安全事件,从事件的entities字段中提取类型为Account的用户实体,关联对应的告警信息。
请求示例:GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents?api-version=2024-03-01 - 实体查询API:直接筛选用户类型实体,并关联其关联的告警与事件。使用
$filter参数指定实体类型为Account,通过$expand获取关联的风险数据。
请求示例:GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities?$filter=kind eq 'Account'&$expand=alerts&api-version=2024-03-01
2. 风险应用数据获取
- 告警规则API:查询所有已配置的告警规则,从中提取关联特定应用(如云应用、OAuth应用)的规则,结合告警事件中的应用实体信息。
请求示例:GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules?api-version=2024-03-01 - 实体查询API(应用类型):筛选类型为
CloudApplication或Application的实体,获取其关联的安全事件与告警,构建应用风险档案。
请求示例:GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities?$filter=kind eq 'CloudApplication'&$expand=incidents&api-version=2024-03-01
二、实现步骤
- 权限配置:确保应用拥有
Security Insights Contributor或对应的数据读取权限,通过Azure AD获取API调用的令牌。 - 数据聚合:
- 调用上述API获取事件、告警、实体数据;
- 关联用户/应用与对应的风险事件、告警级别、触发时间、风险类型等核心字段;
- 报告生成:将聚合后的数据整理为所需格式(如CSV、JSON或自定义界面),包含用户ID/名称、应用名称、风险等级、告警次数、最近风险发生时间等信息。
三、补充工具:Azure AD Identity Protection API
若需要更深入的用户风险分析,可结合该API获取用户的风险评分、风险检测详情,与Microsoft Security Insights的数据联动,生成更全面的风险用户报告。
内容的提问来源于stack exchange,提问作者Carol Bradley
相关产品推荐
相关产品推荐

