Partilhar via


Set-AzFirewall

Salva um Firewall modificado.

Sintaxe

Default (Predefinição)

Set-AzFirewall
    -AzureFirewall <PSAzureFirewall>
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

O cmdlet Set-AzFirewall atualiza um Firewall do Azure.

Exemplos

Exemplo 1: Prioridade de atualização de uma coleção de regras de aplicativo de firewall

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$ruleCollection = $azFw.GetApplicationRuleCollectionByName("ruleCollectionName")
$ruleCollection.Priority = 101
Set-AzFirewall -AzureFirewall $azFw

Este exemplo atualiza a prioridade de uma coleção de regras existente de um Firewall do Azure. Supondo que o Firewall do Azure "AzureFirewall" no grupo de recursos "rg" contenha uma coleção de regras de aplicativo chamada "ruleCollectionName", os comandos acima alterarão a prioridade dessa coleção de regras e atualizarão o Firewall do Azure posteriormente. Sem o comando Set-AzFirewall, todas as operações executadas no objeto $azFw local não são refletidas no servidor.

Exemplo 2: Criar um Firewall do Azure e definir uma coleção de regras de aplicativo posteriormente

$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

Neste exemplo, um Firewall é criado primeiro sem nenhuma coleção de regras de aplicativo. Depois disso, uma Regra de Aplicativo e uma Coleção de Regras de Aplicativo são criadas, em seguida, o objeto Firewall é modificado na memória, sem afetar a configuração real na nuvem. Para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado.

Exemplo 3: Atualizar o modo de operação Intel de Ameaça do Firewall do Azure

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.ThreatIntelMode = "Deny"
Set-AzFirewall -AzureFirewall $azFw

Este exemplo atualiza o modo de operação Threat Intel do Firewall do Azure "AzureFirewall" no grupo de recursos "rg". Sem o comando Set-AzFirewall, todas as operações executadas no objeto $azFw local não são refletidas no servidor.

Exemplo 4: Desalocar e alocar o Firewall

$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

Este exemplo recupera um Firewall, deslocaliza o firewall e o salva. O comando Deallocate remove o serviço em execução, mas preserva a configuração do firewall. Para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado. Se o usuário quiser iniciar o serviço novamente, o método Allocate deve ser chamado no firewall. A nova VNet e o IP público devem estar no mesmo grupo de recursos que o Firewall. Novamente, para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado.

Exemplo 5: Alocar com um endereço IP público de gerenciamento para cenários de encapsulamento forçado

$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

Este exemplo aloca o firewall com um endereço IP público de gerenciamento e uma sub-rede para cenários de encapsulamento forçado. A rede virtual deve conter uma sub-rede chamada "AzureFirewallManagementSubnet".

Exemplo 6: Adicionar um endereço IP público a um Firewall do 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

Neste exemplo, o endereço IP público "azFwPublicIp1" está anexado ao firewall.

Exemplo 7: Remover um endereço IP público de um Firewall do Azure

$pip = Get-AzPublicIpAddress -Name "azFwPublicIp1" -ResourceGroupName "rg"
$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)

$azFw | Set-AzFirewall

Neste exemplo, o endereço IP público "azFwPublicIp1" foi separado do firewall.

Exemplo 8: Alterar o endereço IP público de gerenciamento em um Firewall do 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

Neste exemplo, o endereço IP público de gerenciamento do firewall será alterado para "AzFwMgmtPublicIp2"

Exemplo 9: Adicionar configuração de DNS a um Firewall do 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

Neste exemplo, a configuração do Proxy DNS e do Servidor DNS está anexada ao Firewall.

Exemplo 10: Destino de atualização de uma regra existente dentro de uma coleção de regras de aplicativo de firewall

$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

Este exemplo atualiza o destino de uma regra existente dentro de uma coleção de regras de um Firewall do Azure. Isso permite que você atualize automaticamente suas regras quando os endereços IP mudam dinamicamente.

Exemplo 11: Permitir FTP ativo no Firewall do Azure

$azFw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azFw.AllowActiveFTP = $true

$azFw | Set-AzFirewall

Neste exemplo, o FTP Ativo é permitido no Firewall.

Exemplo 12: Desalocar e alocar o Firewall de um Hub Virtual

$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

Este exemplo recupera um Firewall de Hub, deslocaliza o firewall de hub e o salva. O comando Deallocate remove a referência ao hub virtual, mas preserva a configuração do firewall. Para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado. O método Allocate atribui a referência de hub virtual ao firewall. Novamente, para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado.

Exemplo 13: Habilitar o log do Fat Flow no Firewall do 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\n  \"FQDNs\": null,\r\n  \"IpAddresses\": null\r\n}"
		Type	                        : "Microsoft.Network/azureFirewalls"
		VirtualHub	                    : null
		Zones	                        : Count = 0
		privateRange	                : null

Neste exemplo, Ativar Registro de Fluxo de Gordura está habilitado no Firewall.

Exemplo 14: Atualizar o Firewall do Azure Standard para Premium

$azfw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azfw.Sku.Tier="Premium"
Set-AzFirewall -AzureFirewall $azfw

Este exemplo atualiza seu Firewall do Azure Standard existente para o Firewall Premium. O processo de atualização pode levar vários minutos e não requer tempo de inatividade do serviço. Depois que a atualização for concluída com sucesso, você poderá substituir sua apólice padrão de saída por premium.

Exemplo 15: Desalocar e alocar o firewall com zonas de disponibilidade

$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

Este exemplo recupera um Firewall, deslocaliza o firewall e o salva. O comando Deallocate remove o serviço em execução, mas preserva a configuração do firewall. Para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado. Se o usuário quiser iniciar o serviço novamente, mas com zonas de disponibilidade, o método Zones precisa ser chamado definindo as zonas de disponibilidade desejadas entre aspas e separadas por vírgula. Caso as zonas de disponibilidade precisem ser removidas, o parâmetro $null precisa ser introduzido. Finalmente, o método Allocate deve ser chamado no firewall. A nova VNet e o IP público devem estar no mesmo grupo de recursos que o Firewall. Novamente, para que as alterações sejam refletidas na nuvem, Set-AzFirewall deve ser chamado.

Exemplo 16: Habilitar o registro em log do Dnstap no Firewall do Azure

$azFw = Get-AzFirewall -Name "ps184" -ResourceGroupName "ps774"
$azFw.EnableDnstapLogging = $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"
		EnableDnstapLogging	            : "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\n  \"FQDNs\": null,\r\n  \"IpAddresses\": null\r\n}"
		Type	                        : "Microsoft.Network/azureFirewalls"
		VirtualHub	                    : null
		Zones	                        : Count = 0
		privateRange	                : null

Neste exemplo, Ativar Registo Dnstap está ativado na Firewall.

Parâmetros

-AsJob

Executar cmdlet em segundo plano

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-AzureFirewall

O AzureFirewall

Propriedades dos parâmetros

Tipo:PSAzureFirewall
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Confirm

Solicita confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o azure.

Propriedades dos parâmetros

Tipo:IAzureContextContainer
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:AzContext, AzureRmContext, AzureCredential

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

PSAzureFirewall

Saídas

PSAzureFirewall