Set-AzFirewall
Salva un firewall modificato.
Sintassi
Set-AzFirewall
-AzureFirewall <PSAzureFirewall>
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Set-AzFirewall aggiorna un Firewall di Azure.
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 Firewall di Azure. Supponendo che Firewall di Azure "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 successivamente il Firewall di Azure. Senza il comando Set-AzFirewall, tutte le operazioni eseguite sull'oggetto $azFw locale non vengono riflesse nel server.
Esempio 2: Creare un Firewall di Azure 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. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall.
Esempio 3: Aggiornare la modalità operativa Intel per le minacce di Firewall di Azure
$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 Firewall di Azure "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. Per riflettere le modifiche 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 le modifiche da riflettere 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 Firewall di 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
In questo esempio, l'indirizzo IP pubblico "azFwPublicIp1" come collegato al firewall.
Esempio 7: Rimuovere un indirizzo IP pubblico da un Firewall di Azure
$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 Firewall di 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
In questo esempio, l'indirizzo IP pubblico di gestione del firewall verrà modificato in "AzFwMgmtPublicIp2"
Esempio 9: Aggiungere la configurazione DNS a un Firewall di 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
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 Firewall di Azure. In questo modo è possibile aggiornare automaticamente le regole quando gli indirizzi IP cambiano in modo dinamico.
Esempio 11: Consentire FTP attivo in Firewall di Azure
$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. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall. Il metodo Allocate assegna il riferimento all'hub virtuale al firewall. Anche in questo caso, per le modifiche da riflettere nel cloud, è necessario chiamare Set-AzFirewall.
Esempio 13: Abilitare la registrazione del flusso di grasso in Firewall di 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
In questo esempio l'abilitazione della registrazione del flusso di grasso è abilitata nel firewall.
Esempio 14: Aggiornare Firewall di Azure Standard a Premium
$azfw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azfw.Sku.Tier="Premium"
Set-AzFirewall -AzureFirewall $azfw
In questo esempio viene aggiornato il Firewall di Azure 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 zone di 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
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. Per riflettere le modifiche nel cloud, è necessario chiamare Set-AzFirewall. Se l'utente vuole riavviare il servizio, ma con zone di disponibilità, il metodo Zones deve essere chiamato definendo il zone di disponibilità desiderato tra virgolette e separato da virgole. Nel caso in cui zone di disponibilità 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 le modifiche da riflettere nel cloud, è necessario chiamare Set-AzFirewall.
Parametri
-AsJob
Eseguire il cmdlet in background
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-AzureFirewall
The AzureFirewall
Tipo: | PSAzureFirewall |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |