Compartir a través de


Set-AzFirewall

Guarda un firewall modificado.

Sintaxis

Default (valor predeterminado)

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 se reflejen los cambios 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 se reflejen los cambios 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\n  \"FQDNs\": null,\r\n  \"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 se reflejen los cambios en la nube, se debe llamar a Set-AzFirewall.

Ejemplo 16: Habilitación del registro de Dnstap en Azure Firewall

$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

En este ejemplo, Habilitar el registro dnstap está habilitado en el firewall.

Parámetros

-AsJob

Ejecución del cmdlet en segundo plano

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-AzureFirewall

The AzureFirewall

Propiedades de parámetro

Tipo:PSAzureFirewall
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-DefaultProfile

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

Propiedades de parámetro

Tipo:IAzureContextContainer
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:AzContext, AzureRmContext, AzureCredential

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-WhatIf

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

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSAzureFirewall

Salidas

PSAzureFirewall