複数のリソースから情報を取得したうえで、必要な情報をマージして一覧を作ることになりますので、Azure CLI よりもリソースグラフのクエリの方が簡単かなと考えました。
仮想マシンのネットワークインターフェースにネットワークセキュリティグループを紐づけている場合、リソースグラフで次のようなクエリを実行するとこで、仮想マシンのプライマリのインターフェースに紐づいているネットワークセキュリティグループを一覧化できます。なお、本クエリですとサブネットに紐づいているネットワークセキュリティグループは一覧化されません。ご注意ください。
Resources
| where type =~ 'microsoft.compute/virtualmachines'
| extend nics=array_length(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| where nics == 1 or nic.properties.primary =~ 'true' or isempty(nic)
| project resourceGroup, vmName = name, vmId = id, vmSize=tostring(properties.hardwareProfile.vmSize), nicId = tostring(nic.id)
| join kind=leftouter (
Resources
| where type =~ 'microsoft.network/networkinterfaces'
| extend ipConfigsCount=array_length(properties.ipConfigurations)
| mv-expand ipconfig=properties.ipConfigurations
| where ipConfigsCount == 1 or ipconfig.properties.primary =~ 'true'
| project nicId = id, nicName = name)
on nicId
| join kind=leftouter (
Resources
| where type == 'microsoft.network/networksecuritygroups'
| project id, name, properties.networkInterfaces
| mv-expand networkInterfaces=properties_networkInterfaces
| project nicId = tostring(networkInterfaces.id), nsgId = id, nsgName = name)
on nicId
| project vmName, nicName, nsgName
参考:仮想マシンとそのネットワーク インターフェイスおよびパブリック IP を一覧表示する
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。