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

如何修复校验IAM角色名含区域的Checkov自定义策略失效问题

Checkov自定义IAM角色命名校验方案

Checkov完全支持校验IAM角色名称,你的策略未生效主要是正则写法、YAML转义、匹配逻辑三类问题导致,调整方法如下:

原策略存在的问题

  • 正则格式错误:Checkov的regex_match运算符使用Python正则语法,不需要JavaScript风格的/定界符和g全局修饰符
  • 匹配逻辑错误:regex_match默认要求整个属性值完全匹配正则表达式,你当前的正则只能匹配「值完全等于区域名」的情况,无法匹配「包含区域名」的要求
  • YAML转义问题:正则中的\d在YAML字符串中需要转义为\\d,否则YAML解析时会把反斜杠当作转义符处理,导致正则失效
  • 可选冗余配置:如果你只需要校验IAM角色,可移除aws_s3_bucket的资源类型配置

修正后的策略代码

definition:
  and:
      - cond_type: "attribute"
        resource_types:
            - "aws_iam_role"
            # 如需要同时校验S3桶命名可保留该配置,否则删除下一行即可
            - "aws_s3_bucket"
        attribute: "name"
        operator: "regex_match"
        value: ".*(us(-gov)?|ap|ca|cn|eu|sa)-(central|(north|south)?(east|west)?)-\\d.*"

可选规则调整

如果需要严格要求区域名出现在命名的固定位置,可按需调整正则即可:例如要求区域名为前缀时,将value修改为"(us(-gov)?|ap|ca|cn|eu|sa)-(central|(north|south)?(east|west)?)-\\d-.*"即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:45:05