Интерполяция данных для правила WAF - PullRequest
0 голосов
/ 16 октября 2019

В настоящее время я пишу скрипт Terraform, используя версию 0.11, и мне нужно использовать интерполяцию, чтобы добавить значение данных как «cookie», если присутствует «HEADER». Я изо всех сил пытаюсь заставить это работать, поскольку я ясно не понимаю проблему.

resource "aws_wafregional_sql_injection_match_set" "sql_injection_match_set" {

  name = "${var.application_name}_owasp10_sqlinjection"
  count = "${length(var.sql_injection_match_tuple_field_to_match_types)}"

  sql_injection_match_tuple {
    text_transformation = "URL_DECODE"
    field_to_match {
        type = "${element(var.sql_injection_match_tuple_field_to_match_types, count.index)}"
        **data =**
      }
    }
  sql_injection_match_tuple {
    text_transformation = "HTML_ENTITY_DECODE"
    field_to_match {
      type = "${element(var.sql_injection_match_tuple_field_to_match_types, count.index)}"
      **data =** 
    }
  }
}

resource "aws_wafregional_rule" "sql_injection_match_set_rule" {
  name = "${var.application_name}_sql_injection"
  metric_name = "${var.application_name}${var.sql_injection_metric_name}"
  predicate {
    type = "SqlInjectionMatch"
    data_id = "${aws_wafregional_sql_injection_match_set.sql_injection_match_set.*.id}"
    negated = false
  }
}

Вышеупомянутое вписывается в больший модуль, созданный для правил WAF и присоединяющий их к используемым ALB. Разделы, выделенные жирным шрифтом, в настоящее время пустые, потому что, что бы я ни пытался, это не работает. Переменная, которую она вызывает, содержит четыре ТИПА, один из которых является HEADER.

...