Asp.net ARM对Azure WebApp的IP限制(Azure资源管理器)

Asp.net ARM对Azure WebApp的IP限制(Azure资源管理器),asp.net,azure,azure-resource-manager,azure-web-app-service,Asp.net,Azure,Azure Resource Manager,Azure Web App Service,我正在使用ARM模板部署到Azure Web应用程序,该站点部署到许多环境,ARM模板为每个环境接受不同的参数 其中一个要求是在某些环境中启用站点上的IP块,但在其他环境中不启用。这可以通过web.config完成,但这并不理想,因为我通过ARM管理所有应用程序设置,并对压缩后的站点进行webdeploy。为每个环境添加转换将是一件痛苦的事情,需要大量的返工 我想在我的模板文件中指定如下内容: { "type": "config", "apiVersion": "2

我正在使用ARM模板部署到Azure Web应用程序,该站点部署到许多环境,ARM模板为每个环境接受不同的参数

其中一个要求是在某些环境中启用站点上的IP块,但在其他环境中不启用。这可以通过web.config完成,但这并不理想,因为我通过ARM管理所有应用程序设置,并对压缩后的站点进行webdeploy。为每个环境添加转换将是一件痛苦的事情,需要大量的返工

我想在我的模板文件中指定如下内容:

   {
      "type": "config",
      "apiVersion": "2015-08-01",
      "name": "web",
      "properties": {
        "ipSecurityRestrictions": {
          "allowUnlisted": false,
          "ipAddresses": [ "127.0.0.1", "127.0.0.2" ]
        }
      },
      "dependsOn": [
        "[concat('Microsoft.Web/sites/', parameters('nameofwebapp'))]"
      ]
    }
使用resources.azure.com浏览“Microsoft/Web”的资源提供程序这似乎是可能的,因为“config/Web”上有一个“ipSecurityRestrictions”属性

ARM资源管理器代码显示它并提示它的用法。我还可以在这里的.netSDK中找到它的过去用法(没有允许的链接)

当我尝试使用resources.azure.com设置此设置时,我没有收到任何反馈,它返回为null


有人可以帮助我了解如何使用此属性的详细信息吗?

该设置用于允许的IP地址,而不是排除-您可以通过

用法示例是:

"ipSecurityRestrictions": [
  {
    "ipAddress": "12.23.254.3",
    "subnetMask": "255.255.0.0"
  }
]

我不得不添加
siteConfig
,并将
ipSecurityRestrictions
放在那里,以使其正常工作:

{
    "apiVersion": "2015-06-01",
    "name": "[parameters('siteName')]",
    "type": "Microsoft.Web/Sites",
    ...
    "properties":{
        "siteConfig":{
            "ipSecurityRestrictions" : {
                 "ipAddress": "123.123.123.123"
            }
        }
    },
    "resources" : {
        ...
    }
}

那很有效!ARM模板中的web元素现在看起来像这样
{“type”:“config”,“apiVersion”:“2015-08-01”,“name”:“web”,“properties”:{“ipSecurityRestrictions”:[{“ipAddress”:“11.11.11.11”,//仅允许此ip,阻止所有其他“subnetMask”:“255.255.255”},“dependsOn”:[“[concat('Microsoft.Web/sites/',parameters('nameofwebapp'))]”
您也可以使用参数进行此操作,下面是一组IP地址的示例,允许作为数组参数{“name”:“Web”,“type”:“config”,“apiVersion”:“2015-08-01”,“dependsOn”:[“[resourceId('Microsoft.Web/sites',parameters('webSiteName'))]”,“tags”:{“displayName”:“Allowed IPs”},“properties”:{“ipSecurityRestrictions”:“[parameters('ipRangesPermitted')]”将其置于Wesite的“resources”下