Partager via


Set-AzFirewall

Enregistre un pare-feu modifié.

Syntaxe

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

Description

La cmdlet Set-AzFirewall met à jour un pare-feu Azure.

Exemples

Exemple 1 : Mettre à jour la priorité d’une collection de règles d’application de pare-feu

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

Cet exemple met à jour la priorité d’une collection de règles existante d’un pare-feu Azure. En supposant que le Pare-feu Azure « AzureFirewall » dans le groupe de ressources « rg » contient une collection de règles d’application nommée « ruleCollectionName », les commandes ci-dessus modifient la priorité de cette collection de règles et mettent à jour le Pare-feu Azure par la suite. Sans la commande Set-AzFirewall, toutes les opérations effectuées sur l’objet $azFw local ne sont pas reflétées sur le serveur.

Exemple 2 : Créer un pare-feu Azure et définir une collection de règles d’application ultérieurement

$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

Dans cet exemple, un pare-feu est créé en premier sans regroupement de règles d’application. Ensuite, une règle d’application et une collection de règles d’application sont créées, puis l’objet Firewall est modifié en mémoire, sans affecter la configuration réelle dans le cloud. Pour que les modifications soient reflétées dans le cloud, Set-AzFirewall devez être appelée.

Exemple 3 : Mettre à jour le mode d’opération Intel des menaces du Pare-feu Azure

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

Cet exemple met à jour le mode d’opération Threat Intel du Pare-feu Azure « AzureFirewall » dans le groupe de ressources « rg ». Sans la commande Set-AzFirewall, toutes les opérations effectuées sur l’objet $azFw local ne sont pas reflétées sur le serveur.

Exemple 4 : Libérer et allouer le pare-feu

$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

Cet exemple récupère un pare-feu, désalloue le pare-feu et l’enregistre. La commande Libérer supprime le service en cours d’exécution, mais conserve la configuration du pare-feu. Pour que les modifications soient reflétées dans le cloud, Set-AzFirewall devez être appelée. Si l’utilisateur souhaite redémarrer le service, la méthode Allocate doit être appelée sur le pare-feu. Le nouveau réseau virtuel et l’adresse IP publique doivent se trouver dans le même groupe de ressources que le pare-feu. Là encore, pour que les modifications soient reflétées dans le cloud, Set-AzFirewall doivent être appelées.

Exemple 5 : Allouer avec une adresse IP publique de gestion pour les scénarios de tunneling forcé

$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

Cet exemple alloue le pare-feu avec une adresse IP publique et un sous-réseau de gestion pour les scénarios de tunneling forcé. Le réseau virtuel doit contenir un sous-réseau appelé « AzureFirewallManagementSubnet ».

Exemple 6 : Ajouter une adresse IP publique à un pare-feu 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

Dans cet exemple, l’adresse IP publique « azFwPublicIp1 » comme attaché au pare-feu.

Exemple 7 : Supprimer une adresse IP publique d’un pare-feu Azure

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

$azFw | Set-AzFirewall

Dans cet exemple, l’adresse IP publique « azFwPublicIp1 » est détachée du pare-feu.

Exemple 8 : Modifier l’adresse IP publique de gestion sur un pare-feu 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

Dans cet exemple, l’adresse IP publique de gestion du pare-feu est remplacée par « AzFwMgmtPublicIp2 »

Exemple 9 : Ajouter une configuration DNS à un pare-feu 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

Dans cet exemple, la configuration du proxy DNS et du serveur DNS est attachée au pare-feu.

Exemple 10 : Mettre à jour la destination d’une règle existante dans une collection de règles d’application de pare-feu

$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

Cet exemple met à jour la destination d’une règle existante dans une collection de règles d’un Pare-feu Azure. Cela vous permet de mettre à jour automatiquement vos règles lorsque les adresses IP changent dynamiquement.

Exemple 11 : Autoriser le ftp actif sur le pare-feu Azure

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

$azFw | Set-AzFirewall

Dans cet exemple, le protocole FTP actif est autorisé sur le pare-feu.

Exemple 12 : Libérer et allouer le pare-feu à partir d’un hub virtuel

$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

Cet exemple récupère un pare-feu hub, désalloue le pare-feu hub et l’enregistre. La commande Libérer supprime la référence au hub virtuel, mais conserve la configuration du pare-feu. Pour que les modifications soient reflétées dans le cloud, Set-AzFirewall devez être appelée. La méthode Allocate affecte la référence du hub virtuel au pare-feu. Là encore, pour que les modifications soient reflétées dans le cloud, Set-AzFirewall doivent être appelées.

Exemple 13 : Activer la journalisation fat flow sur le pare-feu 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

Dans cet exemple, activer la journalisation fat flow est activée sur le pare-feu.

Exemple 14 : Mettre à niveau le pare-feu Azure Standard vers Premium

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

Cet exemple met à niveau votre pare-feu Azure Standard existant vers le pare-feu Premium. Le processus de mise à niveau peut prendre plusieurs minutes et ne nécessite pas de temps d’arrêt du service. Une fois la mise à niveau terminée, vous pouvez remplacer votre stratégie standard de sortie par Premium.

Exemple 15 : libérer et allouer le pare-feu avec des zones de disponibilité

$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

Cet exemple récupère un pare-feu, désalloue le pare-feu et l’enregistre. La commande Libérer supprime le service en cours d’exécution, mais conserve la configuration du pare-feu. Pour que les modifications soient reflétées dans le cloud, Set-AzFirewall devez être appelée. Si l’utilisateur souhaite redémarrer le service mais avec des zones de disponibilité, la méthode Zones doit être appelée pour définir les zones de disponibilité souhaitées entre guillemets et séparées par des virgules. Si les zones de disponibilité doivent être supprimées, le paramètre $null doit être introduit à la place. Enfin, la méthode Allocate doit être appelée sur le pare-feu. Le nouveau réseau virtuel et l’adresse IP publique doivent se trouver dans le même groupe de ressources que le pare-feu. Là encore, pour que les modifications soient reflétées dans le cloud, Set-AzFirewall doivent être appelées.

Paramètres

-AsJob

Exécuter l’applet de commande en arrière-plan

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AzureFirewall

The AzureFirewall

Type:PSAzureFirewall
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Type:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

Sorties