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

S3桶阻止特定扩展名文件上传策略失效问题求助

S3桶阻止特定后缀文件上传的策略错误分析及修正

问题所在

你的策略逻辑完全搞反了:

  • 当前策略用Effect: Deny + NotResource,实际效果是拒绝上传所有非.bat/.exe/.cmd/.sh后缀的文件,反而允许这四类文件上传,和你的需求正好相反。
  • 原策略的资源路径只匹配桶根目录下的目标文件,无法覆盖子文件夹里的文件。

修正后的策略

调整逻辑为拒绝上传任意位置的这四类后缀文件,同时用通配符覆盖所有子层级:

{
    "Version": "2012-10-17",
    "Id": "BlockRestrictedFileExtensions",
    "Statement": [
        {
            "Sid": "DenyRestrictedFileUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::MY-BUCKET-NAME/**/*.bat",
                "arn:aws:s3:::MY-BUCKET-NAME/**/*.exe",
                "arn:aws:s3:::MY-BUCKET-NAME/**/*.cmd",
                "arn:aws:s3:::MY-BUCKET-NAME/**/*.sh"
            ]
        }
    ]
}

关键说明

  • **通配符用来匹配桶内任意层级的子文件夹,确保不管文件传去哪个目录都会被拦截。
  • Deny策略优先级高于所有Allow策略,只要这个策略生效,任何用户都无法上传这四类文件。
  • 记得把MY-BUCKET-NAME替换成你实际的桶名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:22:32