EventHub 通过 powershell 启用防火墙

Posted

技术标签:

【中文标题】EventHub 通过 powershell 启用防火墙【英文标题】:EventHub enable firewall via powershell 【发布时间】:2022-01-05 22:18:10 【问题描述】:

我正在尝试配置一个 powershell 脚本来自动创建 eventhub。流量达到 90%,但我不知道如何在防火墙和虚拟网络下启用选定的网络。

我在 doc 上找到了添加 IP 限制的 cmdlet:

Add-AzEventHubIPRule -ResourceGroupName $rg -NamespaceName $namespace -IpMask myrange 

如果我运行它,它会添加 ip(如果我启用选定的网络,我会看到 ips)但不会在 azure 门户上启用选定的网络...

有没有办法通过powershell启用它?

谢谢 伊曼纽尔

【问题讨论】:

【参考方案1】:

我尝试重现您的问题并使用以下代码解决了:

$IpRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @IpMask = "4.4.4.4";Action = "Allow",[Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @IpMask = "3.3.3.3";Action = "Allow")
$VirtualNetworkRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetVirtualNetworkRulesAttributes]@Subnet=@Id="/subscriptions/subscriptionId/resourcegroups/ResourceGroup/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/default";IgnoreMissingVnetServiceEndpoint=$True)
Set-AzEventHubNetworkRuleSet -ResourceGroupName v-ajnavtest -Namespace EventHub-Namespace1-1375 -IPRule $IpRules -VirtualNetworkRule $VirtualNetworkRules -DefaultAction "Deny" -Debug
将 IP 地址添加到 IpRules 变量中 使用子网名称、vnet 名称等所需参数添加了 VNetRules。 (对于子网名称,在左侧索引中的设置下打开您的 VNet 资源 > 子网) 我已将 DefaultAction 值更改为 Deny,以便它接受选定的 IP 地址并将网络设置更改为门户中的选定网络选项。

示例:

$IpRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @IpMask = "11.22.33.44";Action = "Allow",[Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @IpMask = "11.22.33.44";Action = "Allow")
$VirtualNetworkRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetVirtualNetworkRulesAttributes]@Subnet=@Id="/subscriptions/<yoursubscriptonid>/resourcegroups/krishrg/providers/Microsoft.Network/virtualNetworks/krishehvnet/subnets/krishehsubnet";IgnoreMissingVnetServiceEndpoint=$True)
Set-AzEventHubNetworkRuleSet -ResourceGroupName krishrg -Namespace krishehhubspace -IPRule $IpRules -VirtualNetworkRule $VirtualNetworkRules -DefaultAction "deny" -Debug

【讨论】:

嗨,我会试试的。它也启用了虚拟网络,但我不需要因为我使用私有端点。我注意到,当我启用灾难恢复时,该选项会返回到所有网络...主节点具有所有网络,辅助节点已选择网络。在主要网络上,如果我手动切换到选定的网络,我会看到正确的 IP 限制。 是的@Emanuele,我们只能通过PowerShell脚本在选定的网络下启用IP规则。在示例中,我采用了 Ip Rule 和 VNet Rule。

以上是关于EventHub 通过 powershell 启用防火墙的主要内容,如果未能解决你的问题,请参考以下文章

检查是不是通过 Powershell 远程启用了 CredSSP

powershell 通过Powershell禁用/启用Hyper-V(“以管理员身份运行”)

Powershell 启用-TlsCipherSuite

在 C# 中运行 Powershell 脚本以启用键盘过滤器

powershell 仅启用Hyper-V PowerShell

powershell 使用PowerShell启用Windows远程桌面连接