EventHub включить брандмауэр с помощью powershell

#powershell #azure-powershell #azure-eventhub

#powershell #azure-powershell #azure-eventhub

Вопрос:

Я пытаюсь настроить сценарий powershell для автоматизации создания eventhub. Поток выполнен на 90%, но я не знал, как включить выбранную сеть в брандмауэре и виртуальных сетях.

введите описание изображения здесь

я нашел в документе командлет для добавления ограничения ip-адреса:

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

и если я запущу его, он добавит ip-адрес(если я включу выбранную сеть, я увижу IP-адреса), но не включит выбранную сеть на портале 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
  • Добавлены VNetRules с использованием необходимых параметров, таких как имя подсети, имя виртуальной сети. (Для имени подсети откройте свой ресурс виртуальной сети gt; Подсети в разделе Настройки в левом индексе)
  • Я изменил 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/lt;yoursubscriptonidgt;/resourcegroups/krishrg/providers/Microsoft.Network/virtualNetworks/krishehvnet/subnets/krishehsubnet"};IgnoreMissingVnetServiceEndpoint=$True}) Set-AzEventHubNetworkRuleSet -ResourceGroupName krishrg -Namespace krishehhubspace -IPRule $IpRules -VirtualNetworkRule $VirtualNetworkRules -DefaultAction "deny" -Debug  

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Привет, я попробую. Это также включает виртуальную сеть, но мне не нужен маяк, потому что я использую частную конечную точку. Я заметил, что опция возвращается ко всей сети, когда я включаю аварийное восстановление… У первичного узла есть вся сеть, а у вторичного узла выбрана сеть. и на основном, если я переключусь вручную в выбранную сеть, я правильно увижу ограничение ip.

2. Да, @Emanuele, мы можем включить только правило Ip в выбранных сетях с помощью сценария PowerShell. В этом примере я взял как правило Ip, так и правило виртуальной сети.