У меня есть шаблон ARM, содержащий тип ресурса «Microsoft.Web / sites». Я пытаюсь настроить свойство ресурса ipSecurityRestrictions.
Блок «ipSecurityRestrictions» настроен следующим образом:
"ipSecurityRestrictions": [{
"vnetSubnetResourceId": "[resourceId(parameters(''Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), variables('subnetName'))]",
"action": "Allow",
"description": "Grants the subnet access to this web app."
},
{
"vnetSubnetResourceId": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName2'), variables('subnetName2'))]",
"action": "Allow",
"description": "Grants the subnet2 access to this web app."
}
]
Это работает, как и ожидалось. Однако я также хотел бы добавить IP-адреса в «ipSecurityRestrictions», который прекрасно работает, если я добавлю другой объект в массив, например так:
{
"ipAddress": "12.123.123.12/32",
"action": "Allow",
"description": "Grants the IP access to this web app."
}
Дело в том, что я хочу быть возможность указать IP-адреса, которым должен быть разрешен доступ к веб-приложению, через параметр.
Так что каким-то образом мне нужно объединить параметр, содержащий iRAddress securityRestrictions, чтобы добавить его после виртуальных сетей был добавлен. Параметр объекта, который содержит несколько «ipSecurityRestrictions».
Это возможно на Azure Sql сервере, поскольку правила брандмауэра создаются из его собственного ресурса «Microsoft.Sql / servers / firewallRules», поэтому я можно создать один жестко запрограммированный ресурс для каждого vnet, а затем использовать параметр объекта (заполняемый с помощью json) с несколькими значениями, используя функцию копирования.
Это также можно сделать, например, в хранилищах ключей, так как имеет собственное свойство для vnets («virtualNetworkRules») и для IP-адресов («ipRules»). Таким образом, я могу просто жестко кодировать виртуальные сети, а затем использовать параметр для IP-адресов.
Я пробовал множество способов, включая все (из документации Microsoft) шаблонных функций и т. Д. c.
Я мог бы также, в крайнем случае, если это невозможно, использовать параметр объекта, который содержит как виртуальные, так и IP-адреса. Но как мне тогда автоматически получить идентификатор ресурса vnet в шаблоне, чтобы я мог ссылаться на правильный vnet, не зная заранее идентификатор ресурса?
Благодарен за весь ввод!
С наилучшими пожеланиями