How to find non-compliant resources and Azure policies

How to find non-compliant resources and Azure policies

This is a simple KQL query that can be run against the Azure Resource Graph

PolicyResources
| where type == 'microsoft.policyinsights/policystates'
| where properties.complianceState == 'NonCompliant'
| extend
    NonCompliantResourceId = properties.resourceId,
    PolicyAssignmentName = properties.policyAssignmentName,
    PolicyDefinitionName = properties.policyDefinitionName,
    PolicySetDefinitionId = properties.policySetDefinitionId,
    ResourceType = tolower(tostring(properties.resourceType)),
    SubscriptionId = subscriptionId,
    ResourceGroup = resourceGroup
| project NonCompliantResourceId, PolicyAssignmentName, PolicyDefinitionName, PolicySetDefinitionId, ResourceType, SubscriptionId, ResourceGroup