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 threat 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 |
Входные данные
Выходные данные
Связанные ссылки
Azure PowerShell