有没有一种方法可以使用 ARM 模板将 IP 地址和子网 ID 指定为 Web 应用程序访问限制

Is there a way to specify both IPaddress and Subnet Id to webapp's access restrictions using ARM templates

我有一个 IP 地址列表和一个允许访问 webapp 的特定子网。我可以在 ARM 模板中使用 copy 函数遍历 IP 限制,但我无法在同一模板中添加子网限制。有什么办法可以解决这个问题吗?

根据this documentation可以定义IpSecurityRestrictionipAddress属性如下:

  • CIDR 表示法,例如 ipv4/mask(前导位匹配),例如XX.XXX.XXX.XX/32
  • 纯 ipv4 地址(在这种情况下 SubnetMask 属性 是必需的)

据我了解,你应该可以通过这个实现你的目标。但如果您想要更严格的答案,请提供示例输入和示例输出

看了很多文档和博客后,我发现没有办法使用相同的 ARM 模板来实现它。就我而言,我想在使用 copy 函数(更确切地说是 ARM foreach 循环)的同时添加 IP 地址和子网。因此,为了添加多个 IP 地址(在 ARM 模板中从其他资源动态获取)和一个子网,我首先通过执行 ARM(这会迭代并添加动态获取的 IP)然后执行一个简单的 Az 来解决它cmd 如下,这将对同一个网络应用程序添加安全限制。

Add-AzWebAppAccessRestrictionRule -ResourceGroupName $ResourceGroupName -WebAppName $WebAppName -Name "subnet rule" -Priority 301 -Action Allow -SubnetName $subnetName -VirtualNetworkName $VnetName

这样两者都到位了:D