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.