You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

能否通过S3存储桶策略限制上传文件的最大大小?

可以通过S3存储桶策略实现文件大小限制

是的,完全可以通过S3存储桶策略来拒绝超过指定大小的文件上传请求,核心是利用策略中的条件判断,针对Content-Length请求头进行校验。

具体策略示例

以下是拒绝上传超过100MB(即104857600字节)文件的桶策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket-name/*",
      "Condition": {
        "NumericGreaterThan": {
          "s3:Content-Length": "104857600"
        }
      }
    }
  ]
}

关键说明

  • your-bucket-name替换为你的实际存储桶名称
  • s3:Content-Length是S3提供的条件键,用于获取上传请求中的文件大小(单位为字节)
  • 策略通过Effect: Deny对所有用户的PutObject操作进行限制,当文件大小超过设定值时直接拒绝请求

注意事项

  • 该策略仅对普通单文件上传生效,如果用户使用分段上传(Multipart Upload),每个分段的大小可能小于阈值,但总文件大小会超过限制,这种情况桶策略无法直接拦截。若需防范此类场景,可结合S3生命周期规则自动清理未完成的分段上传,或在应用层对分段上传的总大小做校验。
  • 注意字节值的正确换算:1MB=1024×1024=1048576字节,100MB对应104857600字节

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

火山引擎 最新活动