Set-AzFirewall
Сохраняет измененный брандмауэр.
Синтаксис
Set-AzFirewall
-AzureFirewall <PSAzureFirewall>
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Set-AzFirewall обновляет Брандмауэр Azure.
Примеры
1. Обновление приоритета коллекции правил приложений брандмауэра
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$ruleCollection = $azFw.GetApplicationRuleCollectionByName("ruleCollectionName")
$ruleCollection.Priority = 101
Set-AzFirewall -AzureFirewall $azFw
В этом примере обновляется приоритет существующей коллекции правил Брандмауэр Azure. Если Брандмауэр Azure AzureFirewall в группе ресурсов "rg" содержит коллекцию правил приложения с именем ruleCollectionName, приведенные выше команды изменят приоритет этой коллекции правил и обновят Брандмауэр Azure после этого. Без команды Set-AzFirewall все операции, выполняемые на локальном $azFw объекте, не отражаются на сервере.
2. Создание Брандмауэр Azure и настройка коллекции правил приложения позже
$azFw = New-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg" -VirtualNetworkName "vnet-name" -PublicIpName "pip-name"
$rule = New-AzFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" -SourceAddress "10.0.0.0"
$RuleCollection = New-AzFirewallApplicationRuleCollection -Name RC1 -Priority 100 -Rule $rule -ActionType "Allow"
$azFw.ApplicationRuleCollections = $RuleCollection
$azFw | Set-AzFirewall
В этом примере брандмауэр создается сначала без коллекций правил приложений. После создания правила приложения и коллекции правил приложений объект брандмауэра изменяется в памяти, не затрагивая реальную конфигурацию в облаке. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.
3. Обновление режима работы Intel угроз Брандмауэр Azure
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.ThreatIntelMode = "Deny"
Set-AzFirewall -AzureFirewall $azFw
В этом примере обновляется режим работы Threat Intel Брандмауэр Azure "AzureFirewall" в группе ресурсов "rg". Без команды Set-AzFirewall все операции, выполняемые на локальном $azFw объекте, не отражаются на сервере.
4. Освобождение и выделение брандмауэра
$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall
$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$firewall.Allocate($vnet, $pip)
$firewall | Set-AzFirewall
Этот пример извлекает брандмауэр, освобождает брандмауэр и сохраняет его. Команда Deallocate удаляет запущенную службу, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Если пользователь хочет снова запустить службу, метод "Выделить" должен вызываться в брандмауэре. Новая виртуальная сеть и общедоступный IP-адрес должны находиться в той же группе ресурсов, что и брандмауэр. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.
5. Выделение с общедоступным IP-адресом управления для сценариев принудительного туннелирования
$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$mgmtPip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name MgmtPublicIpName
$firewall.Allocate($vnet, $pip, $mgmtPip)
$firewall | Set-AzFirewall
В этом примере брандмауэр выделяется с общедоступным IP-адресом управления и подсетью для сценариев принудительного туннелирования. Виртуальная сеть должна содержать подсеть с именем AzureFirewallManagementSubnet.
6. Добавление общедоступного IP-адреса в Брандмауэр Azure
$pip = New-AzPublicIpAddress -Name "azFwPublicIp1" -ResourceGroupName "rg" -Sku "Standard" -Location "centralus" -AllocationMethod Static
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.AddPublicIpAddress($pip)
$azFw | Set-AzFirewall
В этом примере общедоступный IP-адрес azFwPublicIp1, присоединенный к брандмауэру.
7. Удаление общедоступного IP-адреса из Брандмауэр Azure
$pip = Get-AzPublicIpAddress -Name "azFwPublicIp1" -ResourceGroupName "rg"
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)
$azFw | Set-AzFirewall
В этом примере общедоступный IP-адрес azFwPublicIp1 отсоединяется от брандмауэра.
8. Изменение общедоступного IP-адреса управления на Брандмауэр Azure
$newMgmtPip = New-AzPublicIpAddress -Name "azFwMgmtPublicIp2" -ResourceGroupName "rg" -Sku "Standard" -Location "centralus" -AllocationMethod Static
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.ManagementIpConfiguration.PublicIpAddress = $newMgmtPip
$azFw | Set-AzFirewall
В этом примере общедоступный IP-адрес брандмауэра управления будет изменен на AzFwMgmtPublicIp2.
9. Добавление конфигурации DNS в Брандмауэр Azure
$dnsServers = @("10.10.10.1", "20.20.20.2")
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.DNSEnableProxy = $true
$azFw.DNSServer = $dnsServers
$azFw | Set-AzFirewall
В этом примере конфигурация DNS-прокси и DNS-сервера подключены к брандмауэру.
10. Обновление назначения существующего правила в коллекции правил приложений брандмауэра
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$ruleCollection = $azFw.GetNetworkRuleCollectionByName("ruleCollectionName")
$rule=$ruleCollection.GetRuleByName("ruleName")
$rule.DestinationAddresses = "10.10.10.10"
Set-AzFirewall -AzureFirewall $azFw
В этом примере обновляется назначение существующего правила в коллекции правил Брандмауэр Azure. Это позволяет автоматически обновлять правила при динамическом изменении IP-адресов.
11. Разрешить активный FTP на Брандмауэр Azure
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.AllowActiveFTP = $true
$azFw | Set-AzFirewall
В этом примере активная FTP разрешена в брандмауэре.
12. Выделение и выделение брандмауэра из виртуального концентратора
$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall
$Hub = Get-AzVirtualHub -ResourceGroupName "testRG" -Name "westushub"
$firewall.Allocate($Hub.Id)
$firewall | Set-AzFirewall
Этот пример извлекает брандмауэр концентратора, освобождает брандмауэр концентратора и сохраняет его. Команда Deallocate удаляет ссылку на виртуальный концентратор, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Метод "Выделить" назначает ссылку на виртуальный концентратор брандмауэру. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.
13. Включение ведения журнала потоков жира на Брандмауэр Azure
$azFw = Get-AzFirewall -Name "ps184" -ResourceGroupName "ps774"
$azFw.EnableFatFlowLogging = $true
$azFw | Set-AzFirewall
AllowActiveFTP : null
ApplicationRuleCollections : Count = 0
ApplicationRuleCollectionsText : "[]"
DNSEnableProxy : null
DNSServer : null
DNSServersText : "null"
Etag : "W/\"7533fa1b-8588-400d-857c-6bc372e14f1b\""
FirewallPolicy : null
HubIPAddresses : null
Id : "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ps774/providers/Microsoft.Network/azureFirewalls/ps184"
EnableFatFlowLogging : "true"
IpConfigurations : Count = 0
IpConfigurationsText : "[]"
Location : "eastus"
ManagementIpConfiguration : null
ManagementIpConfigurationText : "null"
Name : "ps184"
NatRuleCollections : Count = 0
NatRuleCollectionsText : "[]"
NetworkRuleCollections : Count = 0
NetworkRuleCollectionsText : "[]"
PrivateRange : null
PrivateRangeText : "null"
ProvisioningState : "Succeeded"
ResourceGroupName : "ps774"
ResourceGuid : null
Sku : {Microsoft.Azure.Commands.Network.Models.PSAzureFirewallSku}
Tag : null
TagsTable : null
ThreatIntelMode : "Alert"
ThreatIntelWhitelist : {Microsoft.Azure.Commands.Network.Models.PSAzureFirewallThreatIntelWhitelist}
ThreatIntelWhitelistText : "{\r
\"FQDNs\": null,\r
\"IpAddresses\": null\r\n}"
Type : "Microsoft.Network/azureFirewalls"
VirtualHub : null
Zones : Count = 0
privateRange : null
В этом примере включение ведения журнала потока жира в брандмауэре включено.
14. Обновление Брандмауэр Azure категории "Стандартный" до "Премиум"
$azfw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azfw.Sku.Tier="Premium"
Set-AzFirewall -AzureFirewall $azfw
В этом примере выполняется обновление существующего брандмауэра Брандмауэр Azure уровня "Стандартный" до уровня "Премиум". Процесс обновления может занять несколько минут и не требует времени простоя службы. После успешного завершения обновления вы можете заменить выход из стандартной политики на premium.
15. Освобождение и выделение брандмауэра с Зоны доступности
$firewall=Get-AzFirewall -ResourceGroupName rgName -Name azFw
$firewall.Deallocate()
$firewall | Set-AzFirewall
$vnet = Get-AzVirtualNetwork -ResourceGroupName rgName -Name anotherVNetName
$pip = Get-AzPublicIpAddress -ResourceGroupName rgName -Name publicIpName
$firewall.Zones = "1","2","3"
$firewall.Allocate($vnet, $pip)
$firewall | Set-AzFirewall
Этот пример извлекает брандмауэр, освобождает брандмауэр и сохраняет его. Команда Deallocate удаляет запущенную службу, но сохраняет конфигурацию брандмауэра. Чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall. Если пользователь хочет снова запустить службу, но с Зоны доступности метод "Зоны" необходимо вызвать определение требуемого Зоны доступности в кавычках и разделять запятыми. Если Зоны доступности необходимо удалить, вместо этого необходимо добавить параметр $null. Наконец, метод Allocate должен вызываться в брандмауэре. Новая виртуальная сеть и общедоступный IP-адрес должны находиться в той же группе ресурсов, что и брандмауэр. Опять же, чтобы изменения отображались в облаке, необходимо вызвать Set-AzFirewall.
Параметры
-AsJob
Запуск командлета в фоновом режиме
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-AzureFirewall
The AzureFirewall
Тип: | PSAzureFirewall |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.
Тип: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |