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

自定义Checkov策略未生效:EC2实例描述检查无失败输出求助

问题分析与解决方案

核心问题

你的自定义Checkov策略未生效有两个关键原因:

  1. 命令参数错误:使用了-c参数加载自定义规则,但该参数实际用于指定Checkov的配置文件,而非自定义规则目录。
  2. 规则属性路径错误:Terraform的aws_instance资源没有直接的description属性,描述需通过tags中的Description标签定义,原规则检查的属性不存在。

修复步骤

1. 修正自定义规则加载命令

将原命令中的-c替换为--external-checks-dir,指定存放自定义规则的目录:

checkov -f terraform/main.tf --external-checks-dir checkov/

2. 更新Checkov规则定义

修改checkov/checkov.yml中的规则,将检查目标改为tags.Description属性:

---
metadata:
  name: "EC2 Instance must have a Description tag"
  id: "CKV2_AWS_1"
  category: "GENERAL_SECURITY"
  guideline: "All EC2 instances should have a Description tag that identifies the purpose of the instance."

definition:
  cond_type: "attribute"
  resource_types:
    - "aws_instance"
  attribute: "tags.Description"
  operator: "exists"

3. 验证效果

运行修正后的命令后,由于你的EC2实例未配置Description标签,Checkov会输出类似如下的失败结果:

Check: CKV2_AWS_1: "EC2 Instance must have a Description tag"
        FAILED for resource: aws_instance.example
        File: /terraform/main.tf:3-9
        Guide: All EC2 instances should have a Description tag that identifies the purpose of the instance.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:23:39