小编hps*_*smn的帖子

CloudFormation 不断为我的 S3 存储桶模板的部署抛出 InvalidBucketAclWithBlockPublicAccessError

目标

创建一个 S3 存储桶,我的服务将向其中写入图像,并且任何人都可以从中读取图像,因为我将在我的服务的网页上显示该图像。

问题

因此,我有一个非常通用的(我认为)S3 存储桶模板,它应该允许任何人读取其中的对象:

 SomeS3Bucket:
    Type: "AWS::S3::Bucket"
    Properties:
      BucketName: "some-bucket-name"
      AccessControl: PublicRead
      OwnershipControls:
        Rules:
          - ObjectOwnership: BucketOwnerPreferred # without it it complains about ownership being set to BucketOwnerEnforced
      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: "AES256"
            BucketKeyEnabled: false
      CorsConfiguration:
        CorsRules:
          - AllowedHeaders:
              - "*"
            AllowedMethods:
              - "PUT"
              - "POST"
              - "DELETE"
              - "GET"
            AllowedOrigins:
              - "*"
Run Code Online (Sandbox Code Playgroud)

尝试部署此模板总是会导致如下错误:Bucket cannot have public ACLs set with BlockPublicAccess enabled (Service: Amazon S3; Status Code: 400; Error Code: InvalidBucketAclWithBlockPublicAccessError)

尝试从 AWS 控制台并使用aws-cli/2.6.4 …

amazon-s3 amazon-web-services aws-cloudformation

3
推荐指数
1
解决办法
1981
查看次数