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

如何在AWS S3中设置文件公开权限但禁止文件夹访问

解决AWS S3存储桶禁止访问带末尾斜杠的文件夹路径问题

当前你的存储桶策略允许所有用户访问桶内文件,但访问带末尾斜杠的路径时,S3会将其视为对象(若存在对应键的空对象)或返回默认空内容,导致返回200并下载空文件。你可以通过添加拒绝策略拦截这类请求,同时保留文件的正常访问权限。

修改后的存储桶策略

{
    "Id": "Policy1666356335738",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowFileAccess",
            "Action": ["s3:GetObject"],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::bucket-name/*",
            "Principal": "*"
        },
        {
            "Sid": "DenyFolderPathAccess",
            "Action": ["s3:GetObject"],
            "Effect": "Deny",
            "Resource": "arn:aws:s3:::bucket-name/*/",
            "Principal": "*"
        }
    ]
}

策略说明

  • AllowFileAccess:保留原有允许规则,确保所有路径不以斜杠结尾的文件可正常访问。
  • DenyFolderPathAccess:新增拒绝规则,匹配所有以/*/结尾的资源路径,拦截对带末尾斜杠的“文件夹”路径的GetObject请求,返回403权限错误。

额外配置注意事项

  1. 清理空文件夹对象:检查存储桶中是否存在手动创建的以斜杠结尾的0字节对象(比如folder/),这类对象是模拟文件夹用的,删除它们不会影响文件组织,但能避免被误访问。
  2. 静态网站托管设置:如果存储桶开启了静态网站托管,需确保未设置索引文档(或设置为不存在的文件名),防止S3自动返回索引页面内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:25:17