Freigeben über


Set-AzFirewall

Speichert eine geänderte Firewall.

Syntax

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

Beschreibung

Das Cmdlet Set-AzFirewall aktualisiert eine Azure Firewall.

Beispiele

Beispiel 1: Aktualisieren der Priorität einer Firewallanwendungsregelsammlung

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

In diesem Beispiel wird die Priorität einer vorhandenen Regelauflistung einer Azure-Firewall aktualisiert. Wenn die Azure Firewall "AzureFirewall" in der Ressourcengruppe "rg" eine Anwendungsregelsammlung mit dem Namen "ruleCollectionName" enthält, ändern die oben genannten Befehle die Priorität dieser Regelsammlung und aktualisieren anschließend die Azure Firewall. Ohne den Befehl "Set-AzFirewall" werden alle Vorgänge, die auf dem lokalen $azFw-Objekt ausgeführt werden, nicht auf dem Server widergespiegelt.

Beispiel 2: Erstellen einer Azure-Firewall und Festlegen einer Anwendungsregelsammlung später

$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

In diesem Beispiel wird zuerst eine Firewall ohne Anwendungsregelsammlungen erstellt. Anschließend wird eine Anwendungsregel- und Anwendungsregelauflistung erstellt, dann wird das Firewall-Objekt im Arbeitsspeicher geändert, ohne dass sich die tatsächliche Konfiguration in der Cloud auswirkt. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden.

Beispiel 3: Aktualisieren des Intel-Betriebsmodus für Bedrohungen von Azure Firewall

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

In diesem Beispiel wird der Modus "Threat Intel" der Azure Firewall "AzureFirewall" in der Ressourcengruppe "rg" aktualisiert. Ohne den Befehl "Set-AzFirewall" werden alle Vorgänge, die auf dem lokalen $azFw-Objekt ausgeführt werden, nicht auf dem Server widergespiegelt.

Beispiel 4: Deallocate and allocate the 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

In diesem Beispiel wird eine Firewall abgerufen, die Firewall abgefragt und gespeichert. Der Befehl "Deallocate" entfernt den ausgeführten Dienst, behält jedoch die Konfiguration der Firewall bei. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden. Wenn der Benutzer den Dienst erneut starten möchte, sollte die Zuweisungsmethode für die Firewall aufgerufen werden. Das neue VNet und die öffentliche IP müssen sich in derselben Ressourcengruppe wie die Firewall befinden. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden.

Beispiel 5: Zuordnen einer öffentlichen IP-Adresse der Verwaltung für Erzwungene Tunnelszenarien

$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

In diesem Beispiel wird die Firewall mit einer öffentlichen IP-Adresse und einem Subnetz für erzwungene Tunnelszenarien zugewiesen. Das VNet muss ein Subnetz mit dem Namen "AzureFirewallManagementSubnet" enthalten.

Beispiel 6: Hinzufügen einer öffentlichen IP-Adresse zu einer 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

In diesem Beispiel wird die öffentliche IP-Adresse "azFwPublicIp1" als Anlage an die Firewall angefügt.

Beispiel 7: Entfernen einer öffentlichen IP-Adresse aus einer Azure-Firewall

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

$azFw | Set-AzFirewall

In diesem Beispiel wird die öffentliche IP-Adresse "azFwPublicIp1" als getrennt von der Firewall verwendet.

Beispiel 8: Ändern der öffentlichen IP-Adresse der Verwaltung in einer 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

In diesem Beispiel wird die öffentliche IP-Adresse der Firewallverwaltung in "AzFwMgmtPublicIp2" geändert.

Beispiel 9: Hinzufügen einer DNS-Konfiguration zu einer 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

In diesem Beispiel ist die DNS-Proxy- und DNS-Serverkonfiguration an die Firewall angefügt.

Beispiel 10: Aktualisieren des Ziels einer vorhandenen Regel innerhalb einer Firewallanwendungsregelsammlung

$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

In diesem Beispiel wird das Ziel einer vorhandenen Regel in einer Regelauflistung einer Azure-Firewall aktualisiert. Auf diese Weise können Sie Ihre Regeln automatisch aktualisieren, wenn SICH IP-Adressen dynamisch ändern.

Beispiel 11: Allow Active FTP on Azure Firewall

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

$azFw | Set-AzFirewall

In diesem Beispiel ist Active FTP für die Firewall zulässig.

Beispiel 12: Deallocate and allocate the Firewall from a Virtual Hub

$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

In diesem Beispiel wird eine Hubfirewall abgerufen, die Hubfirewall abgefragt und gespeichert. Der Befehl "Deallocate" entfernt den Verweis auf den virtuellen Hub, behält jedoch die Konfiguration der Firewall bei. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden. Die Assign-Methode weist der Firewall den virtuellen Hubverweis zu. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden.

Beispiel 13: Aktivieren der Fat Flow-Protokollierung in 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

In diesem Beispiel ist "Fat Flow Logging aktivieren" in der Firewall aktiviert.

Beispiel 14: Upgrade von Azure Firewall Standard auf Premium

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

In diesem Beispiel wird Ihre vorhandene Azure Firewall Standard auf Premium Firewall aktualisiert. Der Upgradevorgang kann mehrere Minuten dauern und erfordert keine Dienstablaufzeit. Nachdem das Upgrade erfolgreich abgeschlossen wurde, können Sie Ihre beendende Standardrichtlinie durch Premium ersetzen.

Beispiel 15: Deallocate and allocate the Firewall with Verfügbarkeitszonen

$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

In diesem Beispiel wird eine Firewall abgerufen, die Firewall abgefragt und gespeichert. Der Befehl "Deallocate" entfernt den ausgeführten Dienst, behält jedoch die Konfiguration der Firewall bei. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden. Wenn der Benutzer den Dienst aber mit Verfügbarkeitszonen erneut starten möchte, muss die Zones-Methode aufgerufen werden, um die gewünschte Verfügbarkeitszonen in Anführungszeichen zu definieren und durch Komma getrennt zu definieren. Falls Verfügbarkeitszonen entfernt werden muss, muss stattdessen der parameter $null eingeführt werden. Schließlich sollte die Zuweisungsmethode für die Firewall aufgerufen werden. Das neue VNet und die öffentliche IP müssen sich in derselben Ressourcengruppe wie die Firewall befinden. Damit Änderungen in der Cloud widergespiegelt werden, muss Set-AzFirewall aufgerufen werden.

Parameter

-AsJob

Cmdlet im Hintergrund ausführen

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AzureFirewall

The AzureFirewall

Typ:PSAzureFirewall
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSAzureFirewall

Ausgaben

PSAzureFirewall