Azure REST API documentation updateを解説:Front Door WAF変更点と確認すべき影響範囲

「Azure REST API documentation update: Shai/waf changes on 2025 11 01 for reference」は、Azure REST API全体の仕様変更ではなく、Azure Front Door Service の Web Application Firewall(WAF)向け REST API仕様、とくに Managed Rule Sets 周辺の更新です。結論から言うと、すぐに本番のWAFポリシーを書き換える案件ではありません。まず確認すべきなのは、Front Door WAFのマネージドルールセット一覧をREST APIで取得している監視ツール、棚卸しスクリプト、SDK生成、OpenAPI/TypeSpec連携です。

今回のポイントは、PR名に「2025 11 01 for reference」とありますが、差分の中心は 2026-04-01 APIバージョンの追加 と、マネージドルールセットの状態や表示名、ルール単位の paranoiaLevel を扱えるようにする変更です。一方で、PRはDraftとして表示されており、マージ条件やレビューに関する自動コメントも確認できます。正式なAPIとして扱う前に、PRがマージ済みか、Microsoft LearnのREST APIドキュメントに反映されているかを必ず確認してください。(GitHub)

目次

Azure REST API documentation updateの概要

この更新は、Azure REST API仕様リポジトリ Azure/azure-rest-api-specs の PR #42663「Shai/waf changes on 2025 11 01 for reference」として確認できます。対象ファイルは、Front Door WAFのTypeSpec定義である main.tspmodels.tsp、および生成された stable/2026-04-01/openapi.json です。PRのファイル差分では、main.tspv2026_04_01: "2026-04-01" が追加され、models.tsp にManaged Rule Set関連の新しい読み取り専用プロパティが追加されています。(GitHub)

現行のMicrosoft Learnでは、Front Door WAFのManaged Rule Sets List APIとして、api-version=2025-11-01 のエンドポイントが公開されています。このAPIは、サブスクリプション内で利用可能なすべてのマネージドルールセットを一覧表示するためのものです。(Microsoft Learn)

確認項目内容実務上の見方
対象サービスAzure Front Door Service / Web Application FirewallWAFポリシー、Managed Rule Sets、ルール棚卸しに関係
対象API領域Managed Rule Sets List、関連するOpenAPI/TypeSpec定義監視・自動化・SDK生成で影響しやすい
追加されるAPIバージョン2026-04-01すぐ本番で使うのではなく、正式公開後に検証
主な追加項目displayNamestatusManagedRuleSetStatusparanoiaLevelルールセットの状態管理や可視化に使える
注意点PRはDraft表示マージ前提で本番コードを変更しない

何が変わるのか

今回のAzure REST API documentation updateで注目すべき変更は、WAFルールセットを「設定する」ための項目というより、ルールセットやルールの状態を「把握する」ためのメタデータ追加です。

2026-04-01 APIバージョンが追加される

main.tspVersions enumに、既存の 2025-10-012025-11-01 に続いて 2026-04-01 が追加されています。PR名だけを見ると2025-11-01向けの参照変更に見えますが、実際の差分では2026-04-01のOpenAPI生成が含まれている点が重要です。(GitHub)

実務では、次のようなコードや設定を確認します。

grep -R "frontDoorWebApplicationFirewallManagedRuleSets" .
grep -R "api-version=2025-11-01" .

ここで該当するスクリプトやIaC、独自ツールが見つかった場合は、2026-04-01が正式公開された後に比較検証できるよう、現行レスポンスのスナップショットを残しておくと移行が楽になります。

ManagedRuleSetStatus が追加される

models.tsp には、マネージドルールセットのライフサイクル状態を表す ManagedRuleSetStatus が追加されています。定義されている値は PreviewGADeprecatedSupported です。生成されたOpenAPI JSONでも、同じ列挙値が確認できます。(GitHub)

この追加により、セキュリティ運用チームは「このルールセットは本番利用してよいのか」「非推奨になっていないか」を機械的に判定しやすくなります。ただし、値を固定的に決め打ちしすぎるのは危険です。Azure REST APIの仕様では将来的に状態値が増える可能性があるため、未知の値はエラーではなく UnknownReviewRequired として扱う設計が安全です。

displayNamestatus がManaged Rule Set Definitionに追加される

ManagedRuleSetDefinitionProperties には、読み取り専用の displayNamestatus が追加されています。displayName は人間が読みやすい表示名、status はルールセットのライフサイクル状態を表すプロパティです。(GitHub)

これまでの2025-11-01ドキュメントでは、Managed Rule Set Definitionの主なプロパティとして ruleSetIdruleSetTyperuleSetVersionruleGroups などが示されていました。新しいプロパティが正式反映されれば、管理画面やレポートで「Microsoft_DefaultRuleSet 2.2」のような内部的な識別子だけでなく、より分かりやすい表示名や状態を併記できるようになります。(Microsoft Learn)

注意したいのは、displayName を識別子として使わないことです。表示名は人間向けのラベルであり、将来的に表記が変わる可能性があります。自動化では引き続き ruleSetTyperuleSetVersion、必要に応じて ruleSetId をキーにしてください。

paranoiaLevel がManaged Rule Definitionに追加される

ManagedRuleDefinition には、読み取り専用の paranoiaLevel が追加されています。説明では、DRSルールにのみ適用され、Bot Manager、DDoS、AIルールでは省略されるとされています。生成されたOpenAPI JSONでも、paranoiaLevelinteger / int32 の読み取り専用プロパティとして確認できます。(GitHub)

これは、WAFのチューニングに関わる担当者にとって有用です。たとえば、誤検知の多いルールを棚卸しするとき、ルールID、ルールグループ、既定アクション、感度に加えて、DRSのparanoia levelを並べて確認できるようになります。

ただし、paranoiaLevel が存在しないことをエラー扱いしてはいけません。仕様上、DRS以外の一部ルールでは省略されます。JSONパーサーやダッシュボードでは、null または未定義を「対象外」として扱うのが安全です。

影響範囲は「WAFの動作変更」より「管理・可視化・自動化」

この更新で最も影響を受けるのは、WAFポリシーの作成・更新処理そのものよりも、WAFルールセットを参照している管理系の処理です。

影響を受ける可能性が高いもの具体例確認すべきこと
REST APIでルールセット一覧を取得するツールaz rest、独自の棚卸しスクリプト、監査レポート追加フィールドが来ても壊れないか
OpenAPI/TypeSpecから生成するSDK社内SDK、型定義、クライアントコード新しい読み取り専用プロパティを反映するか
セキュリティ運用ダッシュボードルールセットのバージョン一覧、非推奨検知status をどのように表示・警告するか
WAFチューニング運用誤検知対応、除外設定、ルールID管理paranoiaLevel を参考情報として扱うか
IaCの検証パイプラインBicep、ARMテンプレート、Terraform周辺の検証APIバージョンを固定していないか

逆に、現行のWAFポリシーJSONをそのままPUT/PATCHする処理では、すぐに入力項目が増えるとは限りません。2025-11-01のPolicies APIでは、WAFポリシーの properties.managedRules はManaged Rule Set Listとして定義され、ruleSetTyperuleSetVersionruleSetActionruleGroupOverrides などが管理対象です。今回の追加は、主にManaged Rule Set Definition側の読み取りメタデータとして理解するのが自然です。(Microsoft Learn)

対応すべき人

Azure Front Door WAFをREST APIで管理している開発者

frontDoorWebApplicationFirewallManagedRuleSets を直接呼び出している場合は、最も優先して確認すべきです。現行の2025-11-01 APIでは、次のようなGETリクエストで利用可能なマネージドルールセットを取得します。(Microsoft Learn)

SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

az rest --method get \
  --url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.Network/frontDoorWebApplicationFirewallManagedRuleSets?api-version=2025-11-01"

正式に2026-04-01が公開された後は、同じ環境でレスポンス差分を比較します。PR段階では、まだ本番処理に api-version=2026-04-01 を固定しないでください。

az rest --method get \
  --url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.Network/frontDoorWebApplicationFirewallManagedRuleSets?api-version=2026-04-01"

比較するときは、単に成功・失敗を見るだけでなく、properties.displayNameproperties.statusruleGroups[].rules[].paranoiaLevel が返るか、既存フィールドの意味が変わっていないかを確認します。

セキュリティ運用・SOC担当者

WAFのルールセットは、新しい攻撃に対応するため継続的に更新されます。Azure Advisorでも、Front Door WAFでは最新のDRSルールセットへのアップグレードが推奨されており、保護性能や誤検知低減の観点で重要度が高いとされています。(Microsoft Learn)

今回の status 追加は、こうした運用判断を自動化する材料になります。たとえば、次のようなルールをダッシュボードに組み込めます。

status運用上の扱い例
GA本番利用候補として扱う
Supported利用可能だが、GAとの違いをドキュメントで確認する
Preview検証環境のみ許可し、本番適用はレビュー必須
Deprecated移行計画を作成し、期限や代替バージョンを確認する
未知の値自動ブロックせず、レビュー対象として通知する

ポイントは、Deprecated を検知した瞬間に自動で設定変更しないことです。WAFのルールセット変更は、誤検知やブロック挙動に影響する可能性があります。まずはDetectionモードや検証環境でログを確認し、必要に応じて除外設定を見直します。

SDK・型定義を生成しているプラットフォームチーム

OpenAPIやTypeSpecをもとにクライアントコードを生成している場合、今回の変更は型定義に反映されます。読み取り専用プロパティが増えるため、多くのケースでは後方互換的に扱えますが、次のような実装では注意が必要です。

実装パターン起きやすい問題対応
レスポンスJSONを厳密なスキーマで検証している未知のプロパティで検証エラーになる追加フィールドを許容する
enumを固定値だけでswitchしている新しい状態値で処理が落ちるdefault分岐を用意する
displayName を主キーに使う表示名変更で紐付けが壊れるruleSetTyperuleSetVersion を主キーにする
paranoiaLevel を必須扱いするDRS以外のルールでnullエラーになるnullableとして扱う

TypeScriptで扱うなら、status は厳密な固定enumよりも、将来の値を受け止められる型にしておくと安全です。

type ManagedRuleSetStatus = "Preview" | "GA" | "Deprecated" | "Supported" | string;

type ManagedRuleSetDefinitionProperties = {
  ruleSetId?: string;
  ruleSetType?: string;
  ruleSetVersion?: string;
  displayName?: string;
  status?: ManagedRuleSetStatus;
};

type ManagedRuleDefinition = {
  ruleId?: string;
  defaultAction?: string;
  defaultState?: string;
  description?: string;
  paranoiaLevel?: number | null;
};

移行・設定確認の手順

今回の更新は、いきなり移行作業を始めるよりも、まず「影響を受ける箇所の棚卸し」と「正式公開後に差分を確認できる準備」を進めるのが現実的です。

手順作業具体的な確認ポイント
現行利用の棚卸しAPIバージョン固定箇所を探すapi-version=2025-11-01、Managed Rule Sets Listの呼び出し
レスポンス保存現行APIのJSONを保存するruleSetTyperuleSetVersionruleGroupsrules
パーサー確認未知フィールドを許容するdisplayNamestatus が増えても失敗しないか
enum処理確認未知のstatusを扱えるようにするdefault分岐、監査ログ、通知
null処理確認paranoiaLevel を任意項目にする未定義を「対象外」として扱う
検証環境で比較正式公開後に2026-04-01を試す2025-11-01との差分、SDK生成差分
運用ルール化セキュリティ判断基準を決めるPreview、Deprecated、GA、Supportedの扱い
本番反映影響確認後にAPIバージョンを更新ロールバック手順も用意する

現場で特に見落としやすいのは、レスポンスをCSVやBIツールに変換している処理です。たとえば、ruleGroups[].rules[] を展開してルールID単位で一覧化している場合、paranoiaLevel を新しい列として追加できます。ただし、Bot ManagerやDDoS、AIルールでは省略される前提で、空欄を許容してください。

WAFチューニングでの活用例

displayNamestatusparanoiaLevel が使えるようになると、WAF運用のレポートを次のように改善できます。

レポート項目従来の見え方更新後に期待できる見え方
ルールセット一覧ruleSetTyperuleSetVersion 中心表示名とライフサイクル状態も表示
非推奨検知手動でドキュメント確認status=Deprecated を検知して通知
検証環境の管理Preview利用の判定が属人的status=Preview を本番適用前レビューに回す
誤検知調査ルールIDとグループ中心DRSのparanoia levelも参考にする

たとえば、誤検知が発生した場合、まずWAFログからルールIDとルールグループを確認します。その後、Managed Rule Sets Listのレスポンスから該当ルールの paranoiaLevel を参照し、除外設定やルールオーバーライドの判断材料にします。

Azure Front Door WAFでは、正当なリクエストがWAFにブロックされる場合、除外リストを設定して特定のリクエスト属性を評価対象から外す運用が可能です。Microsoftのドキュメントでは、Azure portal、PowerShell、Azure CLI、REST API、Bicep、ARMテンプレートで除外設定を構成できると説明されています。(Azure中国ドキュメント)

ただし、除外設定は「便利な回避策」ではなく「最小範囲で適用する安全策」です。paranoiaLevel が高いルールで誤検知が出たからといって、ルールセット全体を無効化するのは避けてください。まずは対象ルール、対象ヘッダー、対象パス、対象パラメーターを絞り込みます。

失敗しやすいポイント

PR名だけで2025-11-01の小変更だと判断する

今回のPR名には「2025 11 01 for reference」とありますが、差分では 2026-04-01 APIバージョンとOpenAPI生成が含まれています。2025-11-01ドキュメントの確認だけで終わらせず、2026-04-01に追加されるモデル差分まで見る必要があります。(GitHub)

Draft PRを正式リリースとして扱う

PRページではDraftとして表示されています。また、自動コメントでは、mainブランチにマージされるAPIはAzure顧客に出荷済みと見なされること、ARMレビューやTypeSpec Validationなどのマージ条件が示されています。PR段階の情報は、実装準備や影響調査には使えますが、本番APIバージョンの切り替え判断には使わないでください。(GitHub)

displayName を安定したIDとして使う

displayName は人間が読みやすい表示名です。ダッシュボードの表示には便利ですが、API連携やデータベースの主キーには向きません。自動化では、引き続き ruleSetTyperuleSetVersionruleId を中心に扱うべきです。

status の値を固定しすぎる

現時点で確認できる値は PreviewGADeprecatedSupported ですが、クラウドサービスのライフサイクル状態は将来的に増える可能性があります。未知の値で処理を止めるのではなく、レビュー対象として扱う設計にしておくと、API更新に強くなります。

paranoiaLevel がないルールを異常扱いする

paranoiaLevel はDRSルールにのみ適用され、Bot Manager、DDoS、AIルールでは省略される説明になっています。未設定を 0 とみなしたり、必須チェックで落としたりすると、正しいレスポンスを誤って異常扱いしてしまいます。(GitHub)

いま取るべきアクション

まず、Front Door WAFのManaged Rule Sets List APIを使っている箇所を洗い出してください。次に、現行の2025-11-01レスポンスを保存し、追加フィールドを許容できるようにパーサーやダッシュボードを調整します。PRが正式にマージされ、Microsoft Learnや利用環境で 2026-04-01 が確認できるようになったら、検証環境でレスポンス差分を比較します。

本番での判断基準は、次の順番で整理すると安全です。

優先度やること目的
API呼び出し箇所と固定バージョンを棚卸し影響範囲を特定する
JSONパーサーを追加フィールドに強くする将来のAPI更新で壊れにくくする
status の運用ルールを決めるPreviewやDeprecatedを見逃さない
paranoiaLevel をレポートに追加する誤検知調査の材料を増やす
SDKや型定義を更新する正式公開後に開発体験を改善する

今回のAzure REST API documentation updateは、WAFの防御挙動を直接変えるというより、WAFルールセットの状態をより正確に把握するための更新です。対応の第一歩は、APIバージョンを急いで変えることではありません。現行利用箇所を洗い出し、追加フィールドに強い実装へ整え、正式公開後に検証環境で比較することです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次