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

Terraform创建AWS IAM策略时触发MalformedPolicyDocument错误

解决Terraform配置AWS IAM策略时SID格式错误问题

问题原因

报错信息明确说明:IAM策略的语句ID(SID)必须是字母数字,需匹配正则表达式[0-9A-Za-z]*。你当前配置中的SID值"don't_delete_production_dbs !"包含单引号、空格、感叹号和下划线,均属于非法字符,导致terraform apply时被AWS API拒绝(terraform plan仅做Terraform语法校验,不会验证AWS的具体规则限制)。

解决方案

将SID修改为仅包含大小写英文字母和数字的合法值,示例如下:

data "aws_iam_policy_document" "db_iam_policy_document" {
  version =  "2012-10-17"
  statement {
      actions   = ["rds:DeleteDBInstance"]
      effect    = "Deny"
      resources = [
        "arn:aws:rds:us-west-2:123456789:db:*"
      ]
      condition {
        test     = "StringEquals"
        variable = "rds:db-tag/environment"
        values = [
          "production"
        ]
      }
      sid       = "DontDeleteProductionDbs"
    }
 }

只要SID仅由大小写英文字母和数字组成即可,比如dontdeleteproductiondbs、DontDeleteProductionDbs123等都是符合要求的取值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:10:28