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

部署AWS S3 BucketPolicy遇MalformedPolicy错误求助

解决AWS S3 BucketPolicy部署时的MalformedPolicy错误

问题原因

你的BucketPolicy YAML配置存在缩进错误,导致S3服务无法正确识别PolicyDocument结构,触发Unknown field version错误。YAML校验工具和sam validate --lint仅检查语法格式,不会验证CloudFormation资源的层级结构正确性,因此会出现语法通过但部署失败的情况。

修正后的配置

BucketPolicy:
  Type: AWS::S3::BucketPolicy
  Properties:
    PolicyDocument:
      Id: MyPolicy
      Version: '2012-10-17'
      Statement:
        - Sid: PublicReadForGetBucketObject
          Effect: Allow
          Principal: '*'
          Action: "s3:GetObject"
          Resource: !Join
            - ""
            - - "arn:aws:s3:::"
              - !Ref MyWebsite
              - /*
    Bucket: !Ref MyWebsite

关键修正点

  • 将Type和Properties字段缩进,使其作为BucketPolicy资源的子属性,而非同级字段。CloudFormation要求每个资源的属性必须嵌套在资源名称下,否则会解析出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:15