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

使用Terraform创建AWS S3 VPC Endpoint策略报InvalidPolicyDocument错误如何解决

问题根因

你遇到的报错是因为策略结构不符合AWS IAM策略的标准规范,VPC端点策略要求顶层必须包含两个必填字段:

  • 固定的Version字段,取值为2012-10-17,这是当前AWS策略的通用版本号
  • Statement数组,所有的权限规则(包括你写的Sid、Principal、Action等字段)都必须放在这个数组内,不能直接放在策略顶层

修正后的配置

policy = jsonencode({
  Version = "2012-10-17"
  Statement = [
    {
      Sid    = "Restrict-Access-To-Specific-Bucket"
      Principal = "*"
      Action = "*"
      Effect = "Allow"
      Resource = [
        "arn:aws:s3:::${aws_s3_bucket.snowflake-data-bucket-raw.id}",
        "arn:aws:s3:::${aws_s3_bucket.snowflake-data-bucket-raw.id}/*"
      ]
    }
  ]
})

补充说明

如果后续需要新增多条权限规则,直接在Statement数组中追加新的规则对象即可。如果需要校验策略合法性,可以先把jsonencode的输出打印出来,手动对照AWS策略语法规则排查问题。


内容的提问来源于stack exchange,提问作者sd-gallowaystorm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:06