正規表現一致ルールステートメント - AWS WAF、AWS Firewall Manager、および AWS Shield Advanced

正規表現一致ルールステートメント

正規表現一致ステートメントは、リクエストコンポーネントを単一の正規表現 (regex) と照合するように AWS WAF に指示します。リクエストコンポーネントが指定した正規表現と一致する場合、ウェブリクエストはステートメントと一致します。

このステートメントタイプは、数理論理を使用して一致基準を組み合わせることを希望する状況において、正規表現パターンセット一致ルールステートメント に代わる優れた方法です。例えば、リクエストコンポーネントを一部の正規表現パターンと照合し、他の正規表現パターンと照合しないようにする場合は、AND ルールステートメントNOT ルールステートメント を使用して正規表現一致ステートメントを組み合わせることができます。

AWS WAF は、PCRE ライブラリ libpcre で使用されるパターン構文をサポートします。ライブラリは、「PCRE - Perl Compatible Regular Expressions」で文書化されています。

正規表現パターンの使用制限

AWS WAF は、PCRE ライブラリのすべての構成をサポートしているわけではありません。例えば、一部のゼロ幅アサーションをサポートしますが、すべてではありません。サポートされているコンストラクトの包括的なリストはありません。ただし、無効な正規表現パターンを指定した場合、またはサポートされていない設定を使用した場合、AWS WAF API は失敗をレポートします。

AWS WAF は、次の PCRE パターンをサポートしていません。

  • 後方参照と部分式取得

  • サブルーチン参照と再帰パターン

  • 条件付きパターン

  • バックトラック制御動詞

  • \C シングルバイトディレクティブ

  • \R 改行一致ディレクティブ

  • \K 一致開始位置リセットディレクティブ

  • コールアウトと埋め込みコード

  • アトミックグループと所有格量指定子

ネスト可能 - このステートメントタイプはネスト可能です。

WCU- 3 WCU (基本コストとして)。[All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。

このステートメントタイプは、ウェブリクエストコンポーネントで動作し、次のリクエストコンポーネント設定が必要です。

  • [Request components] (リクエストコンポーネント) — ウェブリクエストの検査対象部分 (クエリ文字列や本文など)。

    警告

    リクエストコンポーネント [Body] (本文)、[JSON body] (JSON 本文)、[Headers] (ヘッダー)、または [Cookies] (cookie) を検査する場合、AWS WAF で検査できるコンテンツの量の制限を「過剰サイズのリクエストコンポーネントの処理」で確認してください。

    ウェブリクエストコンポーネントの詳細については、「ウェブリクエストコンポーネント」を参照してください。

  • [Optional text transformations] (オプションのテキスト変換) – リクエストコンポーネントを検査する前に AWS WAF が実行する変換。例えば、小文字に変換したり、空白を正規化したりできます。複数の変換を指定すると、AWS WAF は、リストされている順に処理します。詳細については、「テキスト変換」を参照してください。

ステートメントの場所

  • コンソールのルールビルダー[Match type] (一致タイプ) で、Matches regular expression] (正規表現に一致) を選択します。

  • API ステートメントRegexMatchStatement