请求编写Azure Graph查询,查看存储账户防火墙及虚拟网络设置
Azure Graph 查询:存储账户防火墙与虚拟网络设置展示
下面的Kusto查询可获取所有存储账户的防火墙和虚拟网络配置,按需求投影指定字段,并将公网访问状态映射为你需要的三种取值:
resources | where type == "microsoft.storage/storageaccounts" | extend publicNetworkAccessStatus = case( properties.networkAcls.defaultAction == "Allow", "enabled for all networks", properties.networkAcls.defaultAction == "Deny" and (array_length(properties.networkAcls.virtualNetworkRules) > 0 or array_length(properties.networkAcls.ipRules) > 0), "enabled from selected virtual networks and IP addresses", properties.networkAcls.defaultAction == "Deny", "disabled", "unknown" ) | project name, resourceGroup, typeDisplayName, kind, publicNetworkAccessStatus, virtualNetworkRules = properties.networkAcls.virtualNetworkRules, ipRules = properties.networkAcls.ipRules
逻辑说明
- 公网访问状态判断:
- 当
defaultAction为Allow时,对应enabled for all networks(允许所有网络访问) - 当
defaultAction为Deny且存在虚拟网络规则或IP规则时,对应enabled from selected virtual networks and IP addresses(仅允许指定网络访问) - 当
defaultAction为Deny且无任何规则时,对应disabled(完全禁止公网访问)
- 当
- 投影字段:
name:存储账户名称resourceGroup:所属资源组typeDisplayName:资源类型显示名kind:存储账户类型(如StorageV2、BlobStorage等)- 额外包含
virtualNetworkRules和ipRules字段,可直接查看具体的允许规则
内容的提问来源于stack exchange,提问作者gbolahr
相关产品推荐
相关产品推荐

