通过Azure Graph Explorer按资源组分组获取安全建议列表的Kusto查询需求
Azure Graph Explorer Kusto查询:按资源组分组的安全建议报告
以下是满足需求的Kusto查询,可直接在Azure Graph Explorer中执行,关联资源组与安全评估资源,生成包含指定字段的安全建议报告:
resources | where type == "microsoft.resources/subscriptions/resourcegroups" | project resourceGroup = name, subscriptionId, tags | join kind=inner ( resources | where type == "microsoft.security/assessments" | project resourceGroup, subscriptionId, resourceType = properties.resourceDetails.resourceType, recommendationName = properties.displayName, recommendationSeverity = properties.metadata.severity, description = properties.metadata.description, remediationDescription = properties.metadata.remediationDescription, portalLink = properties.links.azurePortal ) on resourceGroup, subscriptionId | join kind=inner ( resources | where type == "microsoft.resources/subscriptions" | project subscriptionId, subscriptionName = name ) on subscriptionId | project subscriptionName, resourceGroup, resourceType, tags.owner, recommendationName, recommendationSeverity, description, remediationDescription, portalLink | sort by resourceGroup, recommendationSeverity desc
查询说明
- 资源组数据提取:首先筛选所有资源组资源,提取资源组名称、所属订阅ID及标签信息。
- 安全评估数据关联:筛选安全评估资源,提取建议名称、严重程度、描述、修复说明等核心字段,通过资源组名称和订阅ID与资源组数据关联。
- 订阅名称补全:关联订阅资源,通过订阅ID补全订阅名称字段。
- 结果整理:整合所有需求字段,按资源组名称分组、建议严重程度降序排序,方便查看高优先级建议。
可选优化
- 若存在无
tags.owner的资源,可将tags.owner替换为coalesce(tags.owner, "未指定"),避免空值显示。 - 若需查看特定订阅的结果,可在第一个
resources块后添加| where subscriptionId == "<你的订阅ID>"过滤范围。
内容的提问来源于stack exchange,提问作者Edwin Orina
相关产品推荐
相关产品推荐

