You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将事件类别列关联至Azure Sentinel安全事件表

解决Azure Sentinel中SecurityIncident标签解析的行合并问题

问题描述

需要解析Azure Sentinel的SecurityIncident表,基于标签的键值对生成Category、ExpControl等自定义列,最终每个事件仅显示一条最新记录且所有列值完整填充。当前代码因使用mv-expand拆分标签,导致同一事件的不同标签对应多条记录,列值分散。

修正后KQL代码

SecurityIncident
| summarize arg_max(LastModifiedTime, *) by IncidentNumber  // 保留每个事件的最新版本
| extend LabelDict = make_bag(
    bag_pack(
        tostring(split(Labels.labelName, ':')[0]),  // 提取标签键
        tostring(split(Labels.labelName, ':')[1])   // 提取标签值
    )
)  // 将所有标签转换为统一的键值对字典
| extend 
    Category = LabelDict['Category'],  // 从字典中提取Category字段
    ExpControl = LabelDict['ExpControl']  // 从字典中提取ExpControl字段
| project IncidentNumber, Category, ExpControl  // 投影需要的列

代码说明

  1. 保留最新事件:arg_max(LastModifiedTime, *) by IncidentNumber确保每个事件只保留最后修改的版本,避免重复旧数据。
  2. 标签转字典:make_bag函数将事件的所有标签合并成一个动态键值对字典(LabelDict),替代mv-expand的拆分操作,避免同一事件生成多行记录。
  3. 提取自定义列:直接从LabelDict中按键提取对应值,确保同一事件的所有标签值都填充到对应列中。

修正后输出示例

IncidentNumberCategoryExpControl
123456SocialEngineeringEmail Security

内容的提问来源于stack exchange,提问作者idna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 18:52:09