Yes. The query pattern for VM vulnerability findings uses the current assessment/subassessment structure in SecurityResources, and the documented sample is:
SecurityResources
| where type == 'microsoft.security/assessments'
| where * contains 'vulnerabilities in your virtual machines'
| summarize by assessmentKey=name
| join kind=inner (
securityresources
| where type == 'microsoft.security/assessments/subassessments'
| extend assessmentKey = extract('.*assessments/(.+?)/.*', 1, id)
) on assessmentKey
| project assessmentKey, subassessmentKey=name, id, parse_json(properties), resourceGroup, subscriptionId, tenantId
| extend description = properties.description,
displayName = properties.displayName,
resourceId = properties.resourceDetails.id,
resourceSource = properties.resourceDetails.source,
category = properties.category,
severity = properties.status.severity,
code = properties.status.code,
timeGenerated = properties.timeGenerated,
remediation = properties.remediation,
impact = properties.impact,
vulnId = properties.id,
additionalData = properties.additionalData
Key change to make in the existing query:
- Replace
| where * contains "vulnerability findings" with | where * contains 'vulnerabilities in your virtual machines'
That is the documented filter for listing Qualys vulnerability assessment results on virtual machines.
If CVE details are also needed, query the tenant-level global table:
securityresources
| where type =~ "microsoft.security/cvedetails"
Important scope behavior:
- The CVE details table is a tenant-level global table.
- To retrieve CVE details, run the query at tenant scope.
- If results are needed for specific subscriptions, filter subscription IDs inside the query instead of limiting the query scope to subscriptions.
Also note the Azure Resource Graph query limits:
- There is a default limit of three
join operators and three mv-expand operators in a single Resource Graph SDK query.
- A table can't be referenced as the right table multiple times, or a
DisallowedMaxNumberOfRemoteTables error can occur.