You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建带范围缩小语句的AWS WAFv2托管规则报错如何解决

解决方案

你之前的配置错误是因为将byte_match_statement与managed_rule_group_statement平级放在同一statement块下,违反了单条WAF规则仅允许配置1条顶级语句的要求,因此AWS返回报错。

要实现托管规则组的范围缩小语句配置,你需要先将HashiCorp AWS Provider升级至v3.64.0及以上版本,该版本正式新增了managed_rule_group_statement下的scope_down_statement配置支持,对应AWS官方的范围缩小语句能力。

正确的配置示例如下:

rule {
  name     = "AWS-AWSManagedRulesAdminProtectionRuleSet"
  priority = 0

  override_action {
    count {}
  }

  statement {
    managed_rule_group_statement {
      name        = "AWSManagedRulesAdminProtectionRuleSet"
      vendor_name = "AWS"

      # 托管规则组的范围缩小语句直接嵌套在此处
      scope_down_statement {
        byte_match_statement {
          field_to_match {
            uri_path {}
          }
          search_string = "abc"
          text_transformation {
            priority = 0
            type     = "NONE"
          }
          positional_constraint = "CONTAINS_WORD"
        }
      }
    }
  }

  visibility_config {
    sampled_requests_enabled   = true
    metric_name                = "AWS-AWSManagedRulesAdminProtectionRuleSet"
    cloudwatch_metrics_enabled = true
  }
}

补充注意事项

  • 如果是CloudFront作用域的WAFv2 Web ACL,创建aws_wafv2_web_acl资源时必须指定scope = "CLOUDFRONT",且Provider区域需设置为us-east-1,符合CloudFront WAF的全局区域要求。

内容的提问来源于stack exchange,提问作者Asim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 13:09:03