[英]How to add multiple client IP addresses at time in Azure SQL Server using Azure ARM Templates?
Currently I am working on to deploy the Azure SQL Database by adding multiple IP addresses under Firewall rules using Azure ARM templates.目前我正在努力通过使用 Azure ARM 模板在防火墙规则下添加多个 IP 地址来部署 Azure SQL 数据库。
This is the code for adding one IP address under Firewall settings of Azure SQL Server.这是在 Azure SQL 服务器的防火墙设置下添加一个 IP 地址的代码。
{
"name": "AllowAllMicrosoftAzureIps",
"type": "firewallrules",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"properties": {
"startIpAddress": "[parameters('startIpAddress')]",
"endIpAddress": "[parameters('endIpAddress')]"
},
"dependsOn": [
"[variables('sqlServerName')]"
]
},
But I want to add the multiple IP addresses at a time under Firewall settings of Azure SQL Database using Azure ARM templates.但我想在 Azure SQL 数据库使用 Azure ARM 模板的防火墙设置下一次添加多个 IP 地址。
I haven't tested it, but I believe it would look something like this.我还没有测试过,但我相信它看起来像这样。 Use the
copy
iterator and supply an array of start and end IP addresses.使用
copy
迭代器并提供一组开始和结束 IP 地址。
"parameters": {
"firewallIpAddresses": {
"type": "object",
"defaultValue": [
{ "start": "1.1.1.0", "end": "1.1.1.10","clientName": "Client1" },
{ "start": "1.2.3.4", "end": "1.2.3.16","clientName": "Client2" },
{ "start": "1.2.0.1", "end": "1.2.0.20","clientName": "Client3" }
]
}
},
"resources": [
{
"name": "[concat(variables('sqlServerName'), '/', parameters('firewallIpAddresses')[copyIndex()].clientName)]",
"type": "Microsoft.Sql/servers/firewallrules",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"properties": {
"startIpAddress": "[parameters('firewallIpAddresses')[copyIndex('firewallrulecopy')].start]",
"endIpAddress": "[parameters('firewallIpAddresses')[copyIndex('firewallrulecopy')].end]"
},
"dependsOn": [
"[variables('sqlServerName')]"
],
"copy": {
"name": "firewallrulecopy",
"count": "[length(parameters('firewallIpAddresses'))]"
}
}
]
"name": "nba-instance-one",
"type": "Microsoft.Sql/servers",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "sql-server-instance"
},
"properties": {
"administratorLogin": "admin",
"administratorLoginPassword": "password"
},
"resources": [
{
"type": "firewallRules",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"name": "LaptopIp",
"properties": {
"startIpAddress": "39.188.172.29",
"endIpAddress": "39.188.172.29"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', 'sql-server-instance')]"
]
},
{
"type": "firewallRules",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"name": "OtherIP",
"properties": {
"startIpAddress": "38.171.192.48",
"endIpAddress": "38.171.192.48"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', 'sql-server-instance')]"
]
}
If it's only a few IP addresses you could add more fire wall rules for each IP address.如果只有几个 IP 地址,您可以为每个 IP 地址添加更多防火墙规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.