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

Azure KQL安全评分控制与评估关联查询匹配错误求助

解决Azure KQL中安全分数控制与评估项的关联错误问题

你遇到的核心问题是用了错误的关联字段,导致评估项和安全控制类别匹配错位。Azure Security Center的securescorecontrols资源本身就内置了与评估项的关联关系,不需要手动通过名称或其他非标准字段匹配。

正确的关联逻辑

使用securescorecontrols的properties.relatedAssessments字段,这个字段存储了当前控制项对应的所有评估项ID列表,通过这个ID直接关联assessments资源的id字段,就能得到准确的对应关系。

修正后的KQL查询示例

// 提取安全分数控制及其关联的评估项ID
SecureScoreControls
| where type == "microsoft.security/securescores/securescorecontrols"
| project 
    controlId = id,
    controlCategory = displayName,
    assessmentIds = parse_json(properties.relatedAssessments)
// 将数组格式的评估ID展开为单行
| mv-expand assessmentIds to typeof(string)
// 关联评估项数据,通过ID精准匹配
| join kind=inner (
    Assessments
    | where type == "microsoft.security/assessments"
    | project 
        assessmentId = id,
        assessmentName = displayName,
        assessmentBuiltInCategory = properties.category
) on $left.assessmentIds == $right.assessmentId
// 验证你的示例场景
| where assessmentName == "EDR solution should be installed on Virtual Machines"
| project controlCategory, assessmentName, assessmentBuiltInCategory

关键说明

  1. 避免模糊匹配:之前的错误大概率是用了名称包含、相似性匹配这类逻辑(比如contains),这类方式容易因为名称关键词重叠导致错误关联(比如"Virtual Machines"同时出现在多个类别相关的评估中)。
  2. 内置关联字段的可靠性:relatedAssessments是Azure官方维护的关联关系,能保证控制项和评估项的对应准确性,不会出现人工匹配的误差。
  3. 特殊情况处理:如果部分securescorecontrols的relatedAssessments为空,可能需要关联AssessmentDefinitions资源,通过properties.assessmentDefinitionId字段先关联评估定义,再匹配到对应的安全控制类别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:16:03