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

配置S3 Bucket策略授予文件夹公网访问权限失败排查求助

S3 Bucket Policy配置失效问题排查

我创建了一个用于存放待售数字产品(当前为数字艺术作品)的S3 Bucket,Bucket下有两个文件夹,分别存储带水印和无水印的图片。之前靠ACLs实现文件夹权限控制,现在想用Bucket Policy限制部分文件夹访问,同时给指定文件夹开放公网访问权限。已经禁用ACLs、开启公网访问权限,也给目标文件夹配置了如下策略,但策略始终不生效,请问我遗漏了什么配置?

当前配置的Bucket Policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::-----/-----/*"
    }
  ]
}

相关配置截图说明

  • S3 阻止公网访问配置截图
  • S3 对象所有权编辑配置截图

排查及修复建议

  1. 资源ARN正确性检查
    务必把Resource字段里的占位符-----替换成真实的Bucket名称和目标文件夹前缀,比如Bucket名为my-art-store、目标文件夹是watermarked-arts,正确ARN应为arn:aws:s3:::my-art-store/watermarked-arts/*。S3没有真实文件夹概念,前缀路径必须完全匹配才能生效。

  2. 阻止公网访问(Block Public Access)全项验证
    确认以下四项设置全部为关闭状态:

    • 阻止新的公网Bucket策略
    • 阻止所有公网和跨账户访问(无论哪种权限方式)
    • 阻止新的公网ACLs
    • 忽略公网ACLs
      只要其中一项开启,就会直接覆盖Bucket Policy的公网访问许可。
  3. 对象所有权设置确认
    既然已禁用ACLs,需确保对象所有权设置为Bucket所有者强制控制,这样所有上传的对象会自动归Bucket所有者所有,避免因对象归属不一致导致策略权限不生效。

  4. 策略应用层级验证
    Bucket Policy必须直接绑定到整个Bucket上,而不是所谓的"文件夹"——S3的文件夹是前缀模拟的,策略仅在Bucket层级配置才会生效。

  5. 权限冲突排查
    检查是否存在其他生效的Bucket Policy、IAM用户/角色策略,或是组织级的SCP(服务控制策略),这些策略如果包含Deny语句,会优先覆盖当前的Allow规则。可以用S3的访问分析器检测权限冲突点。

  6. 测试方式优化
    测试时使用浏览器隐身窗口(避免缓存旧权限状态),或是用AWS CLI执行匿名下载命令:aws s3 cp s3://<bucket-name>/<folder-path>/test-image.jpg ./ --no-sign-request,根据返回的错误信息定位问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:12:08