Azure 网络安全组使用变量添加源 ip 前缀

Azure network security group Add source ip prefixes using variable

我正在尝试在部署期间将 IP 地址列表(使用变量)添加到安全规则。 Azure CLI 不接受这些值作为变量,但是如果手动添加相同的值。

有没有人遇到过类似的问题?或者知道另一种自动化方法。

这不行

$ipWhitelist = '11.11.11.11 22.22.22.22' (I have tried many combinations i.e. space or comma between the addresses etc.)

az network nsg rule update --resource-group myRG --nsg-name myNGS  -n MyRule --source-address-prefixes $ipWhitelist

Security rule XXXXXXXXX has invalid Address prefix. Value provided: 11.11.11.11 22.22.22.22
Security Rule XXXXXXXXX has invalid Address prefix. Value provided: 11.11.11.11,22.22.22.22

变量适用于单个 IP 地址

$ipWhitelist = '11.11.11.11'

所以问题似乎出在具有多个 IP 地址的变量上。

不过这很好用

az network nsg rule update --resource-group myRG --nsg-name myNGS  -n MyRule --source-address-prefixes 11.11.11.11 22.22.22.22

您可以 运行 PowerShell 上的以下逗号分隔字符串列表。

$ipWhitelist = "11.11.11.11", "22.22.22.22"

az network nsg rule update --resource-group nancytest --nsg-name win-nsg  -n NRMS-Rule-103 --source-address-prefixes $ipWhitelist

如果是逗号分隔,则将其转换为数组。

例如“Split”函数将转换为字符串数组。