====== KQL for Resource Graph Explorer ====== ===== List all NSG Rules ===== Ref: [[https://blog.blksthl.com/2020/10/02/list-all-nsg-security-rules-in-one-query-using-azure-resource-graph/]] Resources | where type =~ "microsoft.network/networksecuritygroups" | join kind=leftouter (ResourceContainers | where type=='microsoft.resources/subscriptions' | project SubcriptionName=name, subscriptionId) on subscriptionId | mv-expand rules=properties.securityRules | extend direction = tostring(rules.properties.direction) | extend priority = toint(rules.properties.priority) | extend description = rules.properties.description | extend destprefix = rules.properties.destinationAddressPrefix | extend destport = rules.properties.destinationPortRange | extend sourceprefix = rules.properties.sourceAddressPrefix | extend sourceport = rules.properties.sourcePortRange | extend subnet_name = split((split(tostring(properties.subnets), '/'))[10], '"')[0] //| where destprefix == '*' | project SubcriptionName, resourceGroup, subnet_name, name, direction, priority, destprefix, destport, sourceprefix, sourceport, description //, subscriptionId, rules.properties | sort by SubcriptionName, resourceGroup asc, name, direction asc, priority asc