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 を Premium にアップグレードする
$azfw = Get-AzFirewall -Name "AzureFirewall" -ResourceGroupName "rg"
$azfw.Sku.Tier="Premium"
Set-AzFirewall -AzureFirewall $azfw
この例では、既存の Azure Firewall Standard を Premium 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
バックグラウンドでコマンドレットを実行する
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AzureFirewall
The AzureFirewall
型: | PSAzureFirewall |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultProfile
Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。
型: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
出力
関連リンク
Azure PowerShell