问题描述
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
问题解答
参考App Service关于设置访问限制的文档 ( https://docs.azure.cn/zh-cn/app-service/app-service-ip-restrictions?tabs=powershell#add-access-restrictions-rules-for-main-site )
可以使用PowerShell脚本,把所有的IP地址初始化为一个数组,然后遍历数组中每个IP,添加IP Rulee到 Web App。
不同的 Web App 只需要调整这3个参数: $array,$resourceGroup 和 $appName
示例脚本
#ip address
$array = @("40.73.23.207/32", "111.201.243.75/32")
$resourceGroup = "webapprg"
$appName = "webapp01"
$ruleName = "IP"
#登录到中国区Azure
Connect-AzAccount -Environment AzureChinaCloud
#设置当前账号的订阅号,如果只有一个订阅,可以跳过此句
Set-AzContext xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$i = 1
foreach ($element in $array)
{
Write-Host "The ip address is:$element"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName $resourceGroup -WebAppName $appName -Name $ruleName$i -Priority $i -Action Allow -IpAddress $element
$i++
}
参考资料
设置 Azure 应用服务访问限制(以编程方式管理访问限制): https://docs.azure.cn/zh-cn/app-service/app-service-ip-restrictions?tabs=powershell#add-access-restrictions-rules-for-main-site
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!