在Checkov的帮助下,我正在学习策略代码。在这个过程中,我也在写我自己的政策。
我想写一个检查"managed_rule_set“中内容的策略。我知道如何正确引用terraform文件中的属性,但不知道如何在这种特殊情况下进行引用。我通过yaml文件定义了自定义策略,并对checkov的文档进行了定位。
Terraform-file:tf-档案
resource "azurerm_web_application_firewall_policy" "waf_network" {
name = "waf-${var.tag_project}-network-${var.tag_environment}"
resource_group_name = azurerm_resource_group.rg_network.name
location = "azurerm_resource_group.rg_network.location"
policy_settings {
enabled = true
mode = "Prevention"
}
managed_rules {
managed_rule_set {
type = "OWASP"
version = "3.1"
}
managed_rule_set {
type = "Microsoft_BotManagerRuleSet"
version = "0.1"
}
}
tags = merge(local.common_tags, local.intrinsic_tags)
}有什么主意吗?谢谢!
发布于 2022-01-31 15:44:14
根据您想要实现的目标,您可以使用.*.引用所有managed_rule_set块,如下所示
- cond_type: "attribute"
resource_types:
- "azurerm_web_application_firewall_policy"
attribute: "managed_rules.managed_rule_set.*.type"
operator: "contains"
value: "OWASP"https://stackoverflow.com/questions/70879881
复制相似问题