AWS WAFのマネージドルールは細かくカスタマイズできる!(スコープダウンステートメントでSizeRestrictions_BODYのチェックを許容)

とあるWebAPのインフラ構築をする中で、以下のような建付けを目指していた。
当該システムにアクセスするユーザは、限られたユーザであり、そのグローバルIPアドレスは特定できる。
不特定多数のユーザではないので、WAFのIPSetsで判断して、アクセスを許可しようと思っている。
構築が一段落し、実際に特定ユーザからアクセスをしていただいた所、
システムの一部が403エラーになるという事象が発生した。
原因を調査したところ、WAFがエラーで403返却しているリクエストがある事が発覚した。
よく調べてみると、「SizeRestrictions_BODY」のチェックに引っかかっており、
リクエストボディが8KBを超えるリクエストがされていた。
これは、WebAPの作りの問題であり、リクエストとしては正しいため、
この「SizeRestrictions_BODY」のチェックだけを許容したい。
それを許容するためには、AWSが提供しているマネージドのWAFルールを「スコープダウンステートメント」という
機能を利用してカスタマイズする事で解決できるという情報を入手したので、やってみた。
この手順の前提として、既にWebACLsが存在している事としています。
ない方は、まずWebACLsを作成してください。(その手順は他のサイトに委ねます)
ここまでの設定を施す事で、特定のIPアドレス、特定のURLに対して「SizeRestrictions_BODY」を許容する事ができた。
マネージドのルールに対して、適用範囲をフレキシブルにコントロールできる所がこの機能の一番良い所だと思う。