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

AWS S3 Bucket Policy YAML格式错误求助:Statement与Id格式异常

S3 Bucket Policy YAML格式错误排查与修复

问题原因

你的Bucket Policy YAML文件核心问题是缩进层级错误:在PolicyDocument节点下,Version、Id、Statement应该是同级的顶级属性,但你把Id和Statement的缩进比Version多了一级,导致YAML解析器误判它们是Version的子节点,触发格式错误。

修复后的代码

BucketPolicy:
  Type: AWS::S3::BucketPolicy
  DeletionPolicy: Retain
  Properties:
    Bucket: !Ref MyWebsite
    PolicyDocument:
      Version: 2008-10-17
      Id: PolicyForCloudFrontPrivateContent
      Statement:
        - Sid: AllowCloudFrontServicePrincipal
          Effect: Allow
          Principal:
            Service: cloudfront.amazonaws.com
          Action: 's3:GetObject'
          Resource: 'arn:aws:s3:::travissalmonwebsite/*'
          Condition:
            StringEquals:
              'AWS:SourceArn': 'arn:aws:cloudfront::224062589507:distribution/EY5YTW9GQAJ75'
        - Sid: PublicGetObject
          Effect: Allow
          Principal: '*'
          Action: 's3:GetObject'
          Resource: 'arn:aws:s3:::travissalmonwebsite/*'

关键调整点

  • 将Id和Statement的缩进调整到与Version同一层级,确保三者都是PolicyDocument的直接子属性
  • 保持其他节点的缩进一致(比如Properties下的Bucket和PolicyDocument同级,Statement下的子项缩进统一)

内容的提问来源于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 23:47:57