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

Terraform aws_kms_key抛出MalformedPolicyDocumentException问题求助

排查KMS策略MalformedPolicyDocumentException异常的解决方案

嘿,我看你在用Terraform创建CloudTrail加密的KMS密钥时碰到了策略格式的问题,这就帮你梳理几个核心排查方向:

1. 先补全拼写与未完成的语法

从你贴的代码片段里能看到"Principa..."——这里明显是Principal字段拼写缺了最后一个字母l,而且整个Statement对象的内容也没写完,这种不完整的JSON结构肯定会触发MalformedPolicyDocumentException,先把这部分补全再说。

2. 严格校验JSON格式

KMS策略对JSON格式的要求非常严格,哪怕一个小错误都会报错,你可以对着这几点自查:

  • 所有引号必须是双引号,不能用单引号,且要完全闭合
  • 检查{}/[]括号是否一一匹配,没有遗漏或多写
  • 数组/对象里的最后一个元素后面不能加逗号(比如Statement数组的最后一条策略语句末尾不能有逗号)

你可以用本地的jq命令,或者把完整策略粘贴到JSON校验工具里,快速定位格式问题。

3. 确保包含CloudTrail所需的必要权限

就算格式修复了,策略里也得给CloudTrail分配足够的权限,不然后续CloudTrail没法正常加密日志。给你一个符合要求的完整示例策略,你可以参考调整:

resource "aws_kms_key" "trail" {
  description         = "KMS Key for CloudTrails encryption"
  enable_key_rotation = true
  policy = <<EOF
{
  "Version": "2012-10-17",
  "Id": "key-consolepolicy-3",
  "Statement": [
    {
      "Sid": "Enable IAM Root Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::${var.account_id}:root"
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "Allow CloudTrail Encrypt/Decrypt Operations",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:${var.region}:${var.account_id}:trail/${var.trail_name}"
        }
      }
    },
    {
      "Sid": "Allow CloudTrail to Describe Key",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "kms:DescribeKey",
      "Resource": "*"
    }
  ]
}
EOF
}

4. 检查Terraform变量插值

如果你用了var.account_id这类变量,要确保变量已经正确定义并赋值,避免插值后生成无效的ARN或破坏JSON结构。建议先把变量替换成实际值,用JSON工具验证合法后,再放回Terraform代码里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:32:14