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

NSG Augmented Rules

複数のexplicit IP/rangeとport rangeを1つのNSG ruleへまとめ、rule explosionを抑えながらreview可能性を維持する設計。

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

NSG Augmented Rulesを理解するための前提

augmented security ruleは複数のindividual IP、CIDR range、port/rangeを1 ruleで表現できる。 目的はrule数を減らすことではなく、同一business intentを1つのreviewable policy unitへまとめること。

広すぎるaddress/port集合を1 ruleへ詰めるとleast privilegeが見えにくくなるため、同一owner・expiry・purposeでまとめる。 service tagやASGには組み合わせ上の制約があるため、explicit IPのように無制限に混在できると仮定しない。

priorityとfirst-matchは通常NSG ruleと同じ。1 rule内の複数値に順序優先度はない。 変更時は追加/削除されたmember値を差分でreviewし、rule全体のAllow/Denyだけを見ない。

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

Control plane と data plane

Control planecontrol planeでは1 ruleのsource/destination/port fieldsに複数値が格納される。IaCでは配列差分がsecurity reviewの中心になる。
Data planedata planeでは1つでも条件集合にmatchすればそのruleのactionが適用される。集合を大きくするほどblast radiusが広がる。

仕組み

source/destination/port/protocolをbusiness intent単位で集合化する。

priority順にruleへ到達し、各fieldの集合条件を5-tupleと照合する。

matchしたらAllow/Denyで評価終了。どの配列要素がmatchしたかを運用上追えるよう変更記録を残す。

ASG/service tagを使う場合はcurrent limits/組合せ制約をMicrosoft Learnで再確認する。

Packet / decision path

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

  1. 変更対象5-tupleを具体化する。
  2. 同一purpose/owner/expiryのaddress・portだけをgroupingする。
  3. 既存higher-priority ruleとのshadow/overlapを確認する。
  4. effective rule/NSG diagnosticsで代表flowを試験する。
  5. 不要member削除時は既存flowと新規flowを分けて確認する。

設計判断

判断点推奨理由
Grouping同一変更理由・owner・expiryだけをまとめる。巨大なAllow ruleが恒久化するのを防ぐ。
Ports連続rangeと個別portを必要最小限で表現する。「運用を楽にするためAny」はsecurity debtになる。
AddressesIPAM/IaCのsource of truthから生成する。手入力配列のdriftを抑える。
Reviewrule単位ではなくmember diffをレビューする。1行のruleでも実際の許可範囲は多数になり得る。

確認手順

Azure Portal / Network Watcher

  • NSG rule edit画面でSource/Destination/Serviceが意図した集合になっているか確認。
  • Effective security rulesで展開結果を確認。
  • NSG diagnosticsで集合内/集合外の両方をnegative/positive testする。

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 nsg rule show -g <rg> --nsg-name <nsg> -n <rule> -o jsonc
az network nsg rule list -g <rg> --nsg-name <nsg> -o jsonc
PowerShell — read-only first
Get-AzNetworkSecurityGroup -ResourceGroupName <rg> -Name <nsg> | Select-Object -ExpandProperty SecurityRules

障害切り分け

症状疑う点証拠次の確認
一部宛先だけ想定外Allowaddress/port配列へ不要memberrule JSONとchange diff不要memberを除去しnegative test
rule数は減ったがreview不能異なるpurposeを1 ruleへ統合owner/expiry/ticket mappingintent単位へ分割
ASG/service tagを追加できないfield組合せ/limit制約Portal/API errorとcurrent docsruleを分離して表現
rule変更後も既存session継続stateful flownew connection testflow stateとrule configを分離

変更時の確認と rollback

  • 配列全体を変更前JSONで保存する。
  • rollbackはrule全削除ではなくmember-level差分を正確に戻し、集合外negative testも実施する。

What changed recently

2026-09-10時点

NSG flow logsは新規作成できず、2027-09-30にretire予定です。新しい可視化設計はVNet flow logsを前提にし、既存NSG flow logsは移行計画を持たせます。

Official sources