Azure - 如何将新 IP 附加到多个网络安全组的 SourceAddressPrefix

Posted

技术标签:

【中文标题】Azure - 如何将新 IP 附加到多个网络安全组的 SourceAddressPrefix【英文标题】:Azure - How to append new IP to SourceAddressPrefix for multiple Network Security Groups 【发布时间】:2022-01-15 05:26:36 【问题描述】:

我遇到了一个试图用新 IP 更新现有 NSG 的 impas。 我发现的唯一方法是使用 Set-AzNetworkSecurityRuleConfig,但无法将 IP 附加到 SourceAddressPrefix 列表,只能用新列表覆盖。

例如:

$ruleip=$item| Select-Object -Property SourceAddressPrefix,name,Priority
       
foreach( $ip in $ruleip)
    
        if( $ip.SourceAddressPrefix -eq $requiredIp)
        
        $rec=Get-AzNetworkSecurityGroup -Name $ng.Name
        
        Set-AzNetworkSecurityRuleConfig `
            -Name $ip.Name `
            -NetworkSecurityGroup $rec `
            **-SourceAddressPrefix ("172.22.0.0/17","172.23.0.0/17") `**
            -Protocol * `
            -Access Allow `
            -Direction Inbound `
            -DestinationAddressPrefix * `
            -SourcePortRange * `
            -DestinationPortRange * `
            -Priority $item.Priority
        Set-AzNetworkSecurityGroup -NetworkSecurityGroup $rec
    
   

我尝试使用 System.Object 输入,例如:

-SourceAddressPrefix ($($item.SourceAddressPrefix),"17x.xx.x.x/xx")

但是它会抛出一个错误:

Set-AzNetworkSecurityRuleConfig : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'SourceAddressPrefix'. Specified method is not supported.

有人知道替代方案吗? 谢谢!

【问题讨论】:

您正在创建一个包含 2 项的数组 - 第一项是数组(即数组对象 $item SourceAddressPrefix),第二项是字符串(您的新地址)。改用( @($item.SourceAddressPrefix) + "17x.xx.x.x/xx" ) - 这将创建一个数组,其中包含$item.SourceAddressPrefix 中的items,后跟您的新地址。 就是这样!非常感谢! 【参考方案1】:

谢谢mclayton。发布您的建议作为帮助其他社区成员的答案。

您正在创建一个包含 2 项的数组 - 第一项是数组(即数组对象 $item SourceAddressPrefix),第二项是字符串(您的新地址)。

改用( @($item.SourceAddressPrefix) + "17x.xx.x.x/xx" ) - 这将创建一个数组,其中包含$item.SourceAddressPrefix 中的项目,后跟您的新地址。

【讨论】:

以上是关于Azure - 如何将新 IP 附加到多个网络安全组的 SourceAddressPrefix的主要内容,如果未能解决你的问题,请参考以下文章

将新数据附加到窗口时如何重新加载 jQuery 插件。没有提供 reload() 方法

如何使用 terraform 将多个 IP 动态添加到 azure servicebus 防火墙

Azure SQL 连接到选定网络的 Azure 存储

如何将新精灵附加到移动精灵?

无论如何,是不是可以使用 lambda 自动将新 IP 地址分配给入站规则中的安全组

JClouds:如何将新卷附加到 AWS EC2 实例