Set-AzFirewall

変更されたファイアウォールを保存します。

構文

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

説明

Set-AzFirewall コマンドレットは、Azure Firewall を更新します。

1: ファイアウォール アプリケーション規則コレクションの優先度を更新する

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

この例では、Azure Firewall の既存のルール コレクションの優先度を更新します。 リソース グループ "rg" の Azure Firewall "AzureFirewall" に "ruleCollectionName" という名前のアプリケーション 規則コレクションが含まれていると仮定すると、上記のコマンドはその規則コレクションの優先順位を変更し、その後 Azure Firewall を更新します。 Set-AzFirewall コマンドがないと、ローカル $azFw オブジェクトに対して実行されたすべての操作がサーバーに反映されません。

2: Azure Firewall を作成し、後でアプリケーションルールコレクションを設定する

$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

この例では、最初にファイアウォールが作成され、アプリケーション 規則のコレクションはありません。 その後、アプリケーションルールとアプリケーションルールコレクションが作成され、クラウドの実際の構成に影響を与えることなく、Firewallオブジェクトがメモリ内で変更されます。 変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。

3: Azure Firewall の脅威 Intel 操作モードを更新する

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

この例では、リソース グループ "rg" の Azure Firewall "AzureFirewall" の Threat Intel 操作モードを更新します。 Set-AzFirewall コマンドがないと、ローカル $azFw オブジェクトに対して実行されたすべての操作がサーバーに反映されません。

4: ファイアウォールの割り当てを解除して割り当てる

$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

この例では、ファイアウォールを取得し、ファイアウォールの割り当てを解除して保存します。 割り当て解除コマンドは実行中のサービスを削除しますが、ファイアウォールの構成は保持されます。 変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。 ユーザーがサービスを再度開始する場合は、ファイアウォールで Allocate メソッドを呼び出す必要があります。 新しい VNet とパブリック IP は、ファイアウォールと同じリソース グループに存在する必要があります。 ここでも、変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。

5: 強制トンネリング シナリオ用の管理パブリック IP アドレスを使用して割り当てる

$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

この例では、強制トンネリング シナリオ用に、管理パブリック IP アドレスとサブネットを使用してファイアウォールを割り当てます。 VNet には、"AzureFirewallManagementSubnet" というサブネットが含まれている必要があります。

6: Azure Firewall にパブリック IP アドレスを追加する

$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

この例では、ファイアウォールに接続されているパブリック IP アドレス "azFwPublicIp1" です。

7: Azure Firewall からパブリック IP アドレスを削除する

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

$azFw | Set-AzFirewall

この例では、パブリック IP アドレス "azFwPublicIp1" がファイアウォールからデタッチされています。

8: Azure Firewall の管理パブリック IP アドレスを変更する

$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

この例では、ファイアウォールの管理パブリック IP アドレスが "AzFwMgmtPublicIp2" に変更されます

9: Azure Firewall に DNS 構成を追加する

$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

この例では、DNS プロキシと DNS サーバーの構成がファイアウォールに接続されています。

10: ファイアウォール アプリケーション規則コレクション内の既存の規則の更新先

$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

この例では、Azure Firewall のルール コレクション内の既存のルールの宛先を更新します。 これにより、IP アドレスが動的に変更されたときにルールを自動的に更新できます。

11: Azure Firewall でアクティブ FTP を許可する

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

$azFw | Set-AzFirewall

この例では、ファイアウォールでアクティブ FTP が許可されています。

12: 仮想ハブからのファイアウォールの割り当てを解除して割り当てる

$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

この例では、ハブ ファイアウォールを取得し、ハブ ファイアウォールの割り当てを解除して保存します。 割り当て解除コマンドは、仮想ハブへの参照を削除しますが、ファイアウォールの構成は保持します。 変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。 Allocate メソッドは、仮想ハブ参照をファイアウォールに割り当てます。 ここでも、変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。

13: Azure Firewall で Fat Flow ログを有効にする

$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

この例では、ファイアウォールで Fat Flow ログを有効にします。

14: Azure Firewall Standard を プレミアム にアップグレードする

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

この例では、既存の Azure Firewall Standard を プレミアム Firewall にアップグレードします。 アップグレード プロセスには数分かかる場合があり、サービスの停止時間は必要ありません。 アップグレードが正常に完了したら、終了している標準ポリシーを Premium に置き換えることができます。

15: 可用性ゾーンを使用してファイアウォールの割り当てを解除して割り当てる

$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

この例では、ファイアウォールを取得し、ファイアウォールの割り当てを解除して保存します。 割り当て解除コマンドは実行中のサービスを削除しますが、ファイアウォールの構成は保持されます。 変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。 ユーザーがサービスをもう一度開始したいが、Availability Zones を使用する場合は、Zones メソッドを呼び出して、必要な可用性ゾーンを引用符で囲んでコンマで区切る必要があります。 Availability Zones を削除する必要がある場合は、代わりに $null パラメーターを導入する必要があります。 最後に、ファイアウォールで Allocate メソッドを呼び出す必要があります。 新しい VNet とパブリック IP は、ファイアウォールと同じリソース グループに存在する必要があります。 ここでも、変更をクラウドに反映するには、Set-AzFirewall を呼び出す必要があります。

パラメーター

-AsJob

バックグラウンドでコマンドレットを実行する

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AzureFirewall

The AzureFirewall

Type:PSAzureFirewall
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

PSAzureFirewall

出力

PSAzureFirewall