Network Security参照資料確認: 2026-09-10

Azure Firewall Policy

Rule Collection Group → Rule Collection → Ruleの階層、parent/child inheritance、SKU policy、DNS/TLS/IDPS設定を中央管理するFirewall Policyの設計。

運用前提: Portal上のresource stateだけでなく、対象5-tupleのeffective state・route・security logs・new connectionを組み合わせてdata planeを確認します。SKU/limit/preview statusは変更されるため、導入時は末尾のcurrent Microsoft Learnも再確認してください。

Azure Firewall Policyを理解するための前提

Firewall PolicyはAzure Firewallのsecurity/operational settingsを保持するtop-level resourceで、複数Firewallへ関連付けられる。 rule hierarchyはRule Collection Group (RCG) → Rule Collection (RC) → Rule。RCGとRCはpriorityを持つ。

Firewall rule processingは単純なRCG priorityだけではなくrule type順序があり、DNAT → Network → Applicationの順で評価される。 parent policyを設定するとrule collection groupsを継承でき、parent ruleはchildより先に処理される。

NAT rule collectionsはfirewall固有のためparentからinheritされない。必要なDNATはchild policy側で定義する。 Basic/Standard/Premium policyは利用可能featureが異なり、PremiumでTLS inspection/IDPS/URL filteringを扱う。

通信や判断の流れを追う
SourceRouteNSG / PolicyWorkloadResponse

Control plane と data plane

Control planecontrol planeの中心。Policy resource、parent relation、SKU tier、RCG priority、DNS/SNAT/threat intelligence/TLS/IDPS configurationとFirewall associationをIaCで管理する。
Data planedata planeではPolicyのhierarchyがcompiledされ、Firewall instanceがrule type順序・priority・inheritanceに従ってpacket/sessionを処理する。

仕組み

最初にparent policyのRCGをrule typeごとに評価対象へ置く。

DNAT passをpriority順に処理する。matchしたDNATはtranslationしてterminatingする。

Network rule passをpriority順に処理する。matchすればterminating。

Networkでmatchせず対象protocolならApplication rule passへ進む。

どのruleにもmatchしなければdefault denyとなる。

Packet / decision path

障害時はresource一覧ではなく、同じsource/destination/port/protocolで各enforcement pointを順に追います。

  1. RCG priorityは100刻み等で将来挿入余地を残す。
  2. parent policyはenterprise baselineだけにし、application-specific exceptionをchildへ置く。
  3. rule typeを跨ぐpriority番号だけで実行順を判断しない。
  4. DNATはinheritされないことをrelease/checklistへ明記する。
  5. Policy association変更はFirewallごとのimpactとrollbackを計画する。

設計判断

判断点推奨理由
Parent / childcentral baselineをparent、workload local rulesをchild。組織統制とDevOps autonomyを分離できる。
Rule groupingRCGをowner/workload/change domainで分ける。1巨大RCGよりreviewとdelegationをしやすい。
Priority空きを残して採番し、順序意図をdoc/IaCで固定。緊急rule挿入で全面renumberを避ける。
SKUFirewall SKUとPolicy SKU/feature要件を整合させる。Premium featureをStandard policyに期待しない。

確認手順

Azure Portal / Network Watcher

  • Firewall Policy → Rule collection groupsでgroup/collection/type/priority/actionを確認。
  • Policy settingsでDNS、Threat intelligence、Private IP ranges (SNAT)、TLS inspection、IDPSをSKUに応じ確認。
  • Associated firewalls一覧で意図したFirewallだけに適用されているか確認。

Verification discipline

  • subscription / resource group / resource ID / NIC / direction / 5-tupleを記録する。
  • 同じ条件でbefore/afterを比較し、既存sessionとnew connectionを区別する。
  • configuration、effective state、logs、application resultを別々の証拠として残す。
  • 変更成功はcontrol-plane Succeededではなくobservable data-plane behaviorで判定する。
Azure CLI — read-only first
az network firewall policy show -g <rg> -n <policy> -o jsonc
az network firewall policy rule-collection-group list -g <rg> --policy-name <policy> -o table
PowerShell — read-only first
Get-AzFirewallPolicy -ResourceGroupName <rg> -Name <policy>

障害切り分け

症状疑う点証拠次の確認
child Allowが効かないparent ruleが先にterminatingparent/child RCGとrule typebaseline exception設計を見直す
Application ruleより後のつもりのNetwork ruleが先にmatchrule type processing orderFirewall logsとRCG typepriority番号だけでなくtype順序で設計
DNATが継承されないNAT collection non-inheritancechild policy NAT list対象Firewall childにDNATを定義
一部Firewallだけ挙動違いpolicy association/SKU/settings driftassociated firewallとpolicy IDassociationをsource of truthへ戻す

変更時の確認と rollback

  • Policy JSONとRCG exportを変更前に保存する。
  • parent/child changeは両方のversionを記録し、rollback orderingを決める。
  • association rollback後は対象Firewallのactual policy IDとnew-flow logsを確認する。

Official sources