Condividi tramite


Set-AzFirewall

Salva un firewall modificato.

Sintassi

Default (Impostazione predefinita)

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

Descrizione

Il cmdlet Set-AzFirewall aggiorna un Azure Firewall.

Esempio

Esempio 1: Aggiornare la priorità di una raccolta di regole dell'applicazione firewall

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

In questo esempio viene aggiornata la priorità di una raccolta di regole esistente di un Azure Firewall. Supponendo che Azure Firewall "AzureFirewall" nel gruppo di risorse "rg" contenga una raccolta di regole dell'applicazione denominata "ruleCollectionName", i comandi precedenti modificheranno la priorità della raccolta di regole e aggiorneranno il Azure Firewall in seguito. Senza il comando Set-AzFirewall, tutte le operazioni eseguite sull'oggetto $azFw locale non vengono riflesse nel server.

Esempio 2: Creare un Azure Firewall e impostare una raccolta di regole dell'applicazione in un secondo momento

$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 questo esempio viene creato un firewall prima senza raccolte regole dell'applicazione. Successivamente vengono create una regola applicazione e una raccolta di regole dell'applicazione, quindi l'oggetto Firewall viene modificato in memoria, senza influire sulla configurazione reale nel cloud. Affinché le modifiche vengano riflesse nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 3: Aggiornare la modalità operativa Intel per le minacce di Azure Firewall

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

Questo esempio aggiorna la modalità operativa Intel per le minacce di Azure Firewall "AzureFirewall" nel gruppo di risorse "rg". Senza il comando Set-AzFirewall, tutte le operazioni eseguite sull'oggetto $azFw locale non vengono riflesse nel server.

Esempio 4: Deallocare e allocare il 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

Questo esempio recupera un firewall, dealloca il firewall e lo salva. Il comando Deallocate rimuove il servizio in esecuzione ma mantiene la configurazione del firewall. Affinché le modifiche vengano riflesse nel cloud, è necessario chiamare Set-AzFirewall. Se l'utente vuole riavviare il servizio, il metodo Allocate deve essere chiamato nel firewall. La nuova rete virtuale e l'indirizzo IP pubblico devono trovarsi nello stesso gruppo di risorse del firewall. Anche in questo caso, per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 5: Allocare con un indirizzo IP pubblico di gestione per scenari di tunneling forzato

$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

Questo esempio alloca il firewall con un indirizzo IP pubblico di gestione e una subnet per scenari di tunneling forzato. La rete virtuale deve contenere una subnet denominata "AzureFirewallManagementSubnet".

Esempio 6: Aggiungere un indirizzo IP pubblico a un 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 questo esempio, l'indirizzo IP pubblico "azFwPublicIp1" come collegato al firewall.

Esempio 7: Rimuovere un indirizzo IP pubblico da un Azure Firewall

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

$azFw | Set-AzFirewall

In questo esempio, l'indirizzo IP pubblico "azFwPublicIp1" come disconnesso dal firewall.

Esempio 8: Modificare l'indirizzo IP pubblico di gestione in un 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 questo esempio, l'indirizzo IP pubblico di gestione del firewall verrà modificato in "AzFwMgmtPublicIp2"

Esempio 9: Aggiungere la configurazione DNS a un 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 questo esempio, la configurazione del proxy DNS e del server DNS è collegata al firewall.

Esempio 10: Aggiornare la destinazione di una regola esistente all'interno di una raccolta di regole dell'applicazione 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

In questo esempio viene aggiornata la destinazione di una regola esistente all'interno di una raccolta di regole di un Azure Firewall. In questo modo è possibile aggiornare automaticamente le regole quando gli indirizzi IP cambiano in modo dinamico.

Esempio 11: Consentire FTP attivo in Azure Firewall

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

$azFw | Set-AzFirewall

In questo esempio, il protocollo FTP attivo è consentito nel firewall.

Esempio 12: Deallocare e allocare il firewall da un hub virtuale

$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

Questo esempio recupera un firewall hub, dealloca il firewall dell'hub e lo salva. Il comando Deallocate rimuove il riferimento all'hub virtuale ma mantiene la configurazione del firewall. Affinché le modifiche vengano riflesse nel cloud, è necessario chiamare Set-AzFirewall. Il metodo Allocate assegna il riferimento all'hub virtuale al firewall. Anche in questo caso, per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 13: Abilitare la registrazione del flusso di grasso 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\n  \"FQDNs\": null,\r\n  \"IpAddresses\": null\r\n}"
		Type	                        : "Microsoft.Network/azureFirewalls"
		VirtualHub	                    : null
		Zones	                        : Count = 0
		privateRange	                : null

In questo esempio l'abilitazione della registrazione del flusso di grasso è abilitata nel firewall.

Esempio 14: Aggiornare Azure Firewall Standard a Premium

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

In questo esempio viene aggiornato l'Azure Firewall Standard esistente al firewall Premium. Il processo di aggiornamento può richiedere alcuni minuti e non richiede tempi di inattività del servizio. Al termine dell'aggiornamento, è possibile sostituire i criteri standard di uscita con Premium.

Esempio 15: Deallocare e allocare il firewall con Availability Zones

$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

Questo esempio recupera un firewall, dealloca il firewall e lo salva. Il comando Deallocate rimuove il servizio in esecuzione ma mantiene la configurazione del firewall. Affinché le modifiche vengano riflesse nel cloud, è necessario chiamare Set-AzFirewall. Se l'utente vuole riavviare il servizio, ma con Availability Zones, il metodo Zones deve essere chiamato definendo il Availability Zones desiderato tra virgolette e separato da virgole. Nel caso in cui Availability Zones debba essere rimosso, è necessario introdurre invece il parametro $null. Infine, il metodo Allocate deve essere chiamato nel firewall. La nuova rete virtuale e l'indirizzo IP pubblico devono trovarsi nello stesso gruppo di risorse del firewall. Anche in questo caso, per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall.

Esempio 16: Abilitare la registrazione Dnstap in 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

In questo esempio l'abilitazione della registrazione Dnstap è abilitata nel firewall.

Parametri

-AsJob

Eseguire il cmdlet in background

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-AzureFirewall

The AzureFirewall

Proprietà dei parametri

Tipo:PSAzureFirewall
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

Proprietà dei parametri

Tipo:IAzureContextContainer
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:AzContext, AzureRmContext, AzureCredential

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSAzureFirewall

Output

PSAzureFirewall