翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
OR ルールステートメント
OR ルールステートメントは、ネストされたステートメントを OR ロジックと組み合わせるため、OR ステートメントが一致するには、ネストされたステートメントのいずれか 1 つが一致する必要があります。これには、1 つ以上のネストされたステートメントが必要です。
例えば、特定の国から送信されたリクエストや特定のクエリ文字列を含むリクエストをブロックする場合は、OR ステートメントを作成し、その国の地理的照合ステートメントとクエリ文字列の文字列照合ステートメントをネストします。
代わりに、特定の国から送信されていないリクエストや特定のクエリ文字列を含むリクエストをブロックする場合は、前述の OR ステートメントを変更して、NOT ステートメント内の 1 レベル下に地理的照合ステートメントをネストします。コンソールでは 1 レベルのネストしかサポートされないため、このレベルのネストでは JSON 形式を使用する必要があります。
ルールステートメントの特性
ネスト可能 - このステートメントタイプはネスト可能です。
WCU - ネストされたステートメントに応じて異なります。
このルールステートメントの場所
-
コンソールのルールビルダー - [If a request] (リクエストの状態) で [matches at least one of the statements (OR)] (1 つ以上のステートメントに一致する場合 (OR)) を選択してから、ネストされたステートメントに入力します。
-
API – 「OrStatement」
例
次のリストは、OR を使用して他の 2 つのステートメントを結合する方法を示しています。ネストされたステートメントのいずれかが一致する場合、OR ステートメントは一致します。
{ "Name": "neitherOfTwo", "Priority": 1, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "neitherOfTwo" }, "Statement": { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "CA" ] } }, { "IPSetReferenceStatement": { "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/test-ip-set-22222222/33333333-4444-5555-6666-777777777777" } } ] } } }
コンソールルールビジュアルエディタを使用すると、ネスト可能なステートメントのほとんどを論理ルールステートメントの下にネストできますが、ビジュアルエディタを使用して OR または AND ステートメントをネストすることはできません。このタイプのネストを設定するには、JSON でルールステートメントを指定する必要があります。例えば、次の JSON ルールリストには、AND ステートメント内にネストされた OR ステートメントが含まれています。
{ "Name": "match_rule", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } }, { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "JM", "JP" ] } }, { "ByteMatchStatement": { "SearchString": "JCountryString", "FieldToMatch": { "Body": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }