Я хотел бы создать правила брандмауэра, чтобы только мое веб-приложение Azure могло подключаться к моей базе данных.Если возможно, я бы хотел сделать это в моем шаблоне ARM.Вот что я пробовал до сих пор:
{
"variables": {
"defaultResourceName": "[resourceGroup().name]",
},
"resources": [
{
"type": "Microsoft.Web/sites/firewallRules",
"name": "[concat('AllowAzureIpAddress', copyIndex()",
"apiVersion": "2015-05-01-preview",
"properties": {
"startIpAddress": "[reference('Microsoft.Web/sites', variables('defaultResourceName')).possibleOutboundIpAddresses[copyIndex()]]",
"endIpAddress": "[reference('Microsoft.Web/sites', variables('defaultResourceName')).possibleOutboundIpAddresses[copyIndex()]]"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/', toLower(variables('defaultResourceName')))]"
],
"copy": {
"name": "firewallRuleCopy",
"count": "[length(reference('Microsoft.Web/sites', variables('defaultResourceName')).possibleOutboundIpAddresses)]"
}
},
]
}
Основная проблема - получение возможныхOutboundIpAddresses.Я не уверен, доступны ли они мне здесь, и я получаю сообщение об ошибке, когда я пытаюсь проверить мой шаблон ARM, который говорит The template function 'reference' is not expected at this location. Please see https://aka.ms/arm-template-expressions for usage details..
Кто-нибудь сделал это, у которого есть какой-либо совет о том, какчтобы получить эти OutboundIpAddresses (желательно в списке, чтобы копия могла их использовать)?