2017-03-25 3 views
1

J'ai créé l'ACL AWS WAF suivante et je veux l'associer à mon ALB en utilisant terraform. est-il possible de le faire en utilisant terraform? Je veux bloquer toutes les demandes sauf celles qui ont une clé secrète utilisant les pare-feu de l'application Web amazon web service, aws waf. A cet effet, j'ai créé byte_set, aws règle et les listes de contrôle d'accès, ACLest-il possible d'associer aws ELB/ALB avec WAF ACL en utilisant terraform?

resource "aws_alb" "app" { 
    ............ 
    } 


#waf 
resource "aws_waf_byte_match_set" "byte_set" { 
    name = "tf_waf_byte_match_set" 

    byte_match_tuples { 
    text_transformation = "NONE" 
    target_string   = "${var.secret_key}" 
    positional_constraint = "EXACTLY" 

    field_to_match { 
     type = "HEADER" 
     data = "referer" 
    } 
    } 
} 

resource "aws_waf_rule" "wafrule" { 
    depends_on = ["aws_waf_byte_match_set.byte_set"] 
    name  = "tfWAFRule" 
    metric_name = "tfWAFRule" 

    predicates { 
    data_id = "${aws_waf_byte_match_set.byte_set.id}" 
    negated = false 
    type = "ByteMatch" 
    } 
} 

resource "aws_waf_web_acl" "waf_acl" { 
    depends_on = ["aws_waf_byte_match_set.byte_set", "aws_waf_rule.wafrule"] 
    name  = "tfWebACL" 
    metric_name = "tfWebACL" 

    default_action { 
    type = "BLOCK" 
    } 

    rules { 
    action { 
     type = "ALLOW" 
    } 

    priority = 1 
    rule_id = "${aws_waf_rule.wafrule.id}" 
    } 
} 

Répondre

1
+0

Glenn Bech [22:06] On dirait que le soutien WAF est une sorte de travail en cours atm. Cette requête de tirage a été fusionnée. https://github.com/hashicorp/terraform/pull/13705 - ajout d'un support pour les ressources WAF régionales (qui peuvent être appliquées à un ALB). Lorsque cette requête Pull a été fusionnée, cela a provoqué des conflits dans le PR qui autorisera l'association Web_acl -> alb. (https://github.com/hashicorp/terraform/pull/13712) –