Set-AzFirewall

Guarda un firewall modificado.

Sintaxis

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

Description

El cmdlet Set-AzFirewall actualiza una instancia de Azure Firewall.

Ejemplos

Ejemplo 1: Actualización de la prioridad de una colección de reglas de aplicación de firewall

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

En este ejemplo se actualiza la prioridad de una colección de reglas existente de Azure Firewall. Suponiendo que Azure Firewall "AzureFirewall" del grupo de recursos "rg" contiene una colección de reglas de aplicación denominada "ruleCollectionName", los comandos anteriores cambiarán la prioridad de esa colección de reglas y actualizarán después Azure Firewall. Sin el comando Set-AzFirewall, todas las operaciones realizadas en el objeto $azFw local no se reflejan en el servidor.

Ejemplo 2: Creación de una instancia de Azure Firewall y establecimiento de una colección de reglas de aplicación más adelante

$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

En este ejemplo, primero se crea un firewall sin ninguna colección de reglas de aplicación. Después se crea una regla de aplicación y una colección de reglas de aplicación y, a continuación, se modifica el objeto Firewall en la memoria, sin afectar a la configuración real en la nube. Para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall.

Ejemplo 3: Actualización del modo de operación de Intel de amenazas de Azure Firewall

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

En este ejemplo se actualiza el modo de operación de Intel de Amenazas de Azure Firewall "AzureFirewall" en el grupo de recursos "rg". Sin el comando Set-AzFirewall, todas las operaciones realizadas en el objeto $azFw local no se reflejan en el servidor.

Ejemplo 4: Desasignar y asignar el 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

En este ejemplo se recupera un firewall, se desasigna el firewall y se guarda. El comando Deallocate quita el servicio en ejecución, pero conserva la configuración del firewall. Para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall. Si el usuario quiere volver a iniciar el servicio, se debe llamar al método Allocate en el firewall. La nueva red virtual y la dirección IP pública deben estar en el mismo grupo de recursos que el firewall. De nuevo, para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall.

Ejemplo 5: Asignación con una dirección IP pública de administración para escenarios de tunelización forzada

$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

En este ejemplo se asigna el firewall con una dirección IP pública de administración y una subred para escenarios de tunelización forzada. La red virtual debe contener una subred denominada "AzureFirewallManagementSubnet".

Ejemplo 6: Adición de una dirección IP pública a Azure Firewall

$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

En este ejemplo, la dirección IP pública "azFwPublicIp1" como se adjunta al firewall.

Ejemplo 7: Eliminación de una dirección IP pública de Azure Firewall

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

$azFw | Set-AzFirewall

En este ejemplo, la dirección IP pública "azFwPublicIp1" se desasocia del firewall.

Ejemplo 8: Cambio de la dirección IP pública de administración en Azure Firewall

$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

En este ejemplo, la dirección IP pública de administración del firewall se cambiará a "AzFwMgmtPublicIp2"

Ejemplo 9: Adición de la configuración de DNS a Azure Firewall

$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

En este ejemplo, la configuración del proxy DNS y el servidor DNS se adjuntan al firewall.

Ejemplo 10: Actualización del destino de una regla existente dentro de una colección de reglas de aplicación 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

En este ejemplo se actualiza el destino de una regla existente dentro de una colección de reglas de Azure Firewall. Esto le permite actualizar automáticamente las reglas cuando las direcciones IP cambian dinámicamente.

Ejemplo 11: Permitir FTP activo en Azure Firewall

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

$azFw | Set-AzFirewall

En este ejemplo, se permite FTP activo en el firewall.

Ejemplo 12: Desasignar y asignar el firewall desde un centro 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

En este ejemplo se recupera un firewall del centro de conectividad, se desasigna el firewall del concentrador y se guarda. El comando Deallocate quita la referencia al centro virtual, pero conserva la configuración del firewall. Para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall. El método Assign asigna la referencia del centro virtual al firewall. De nuevo, para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall.

Ejemplo 13: Habilitación del registro de flujo de grasa en Azure Firewall

$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

En este ejemplo, Habilitar el registro de flujo de grasa está habilitado en el firewall.

Ejemplo 14: Actualización de Azure Firewall Estándar a Premium

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

En este ejemplo se actualiza el estándar de Azure Firewall existente a Premium Firewall. El proceso de actualización puede tardar varios minutos y no requiere tiempo de instrucciones del servicio. Una vez completada la actualización correctamente, puede reemplazar la directiva estándar de salida por Premium.

Ejemplo 15: Desasignar y asignar el firewall con zonas de disponibilidad

$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

En este ejemplo se recupera un firewall, se desasigna el firewall y se guarda. El comando Deallocate quita el servicio en ejecución, pero conserva la configuración del firewall. Para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall. Si el usuario quiere volver a iniciar el servicio, pero con Availability Zones, se debe llamar al método Zones para definir las zonas de disponibilidad deseadas entre comillas y separadas por comas. En caso de que se deba quitar Availability Zones, el parámetro $null debe introducirse en su lugar. Por último, se debe llamar al método Allocate en el firewall. La nueva red virtual y la dirección IP pública deben estar en el mismo grupo de recursos que el firewall. De nuevo, para que los cambios se reflejen en la nube, se debe llamar a Set-AzFirewall.

Parámetros

-AsJob

Ejecución del cmdlet en segundo plano

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AzureFirewall

The AzureFirewall

Tipo:PSAzureFirewall
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

PSAzureFirewall

Salidas

PSAzureFirewall