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

配置AWS S3桶策略失误致全权限丢失(含Root用户),求解决方案

恢复被错误桶策略锁死的AWS S3桶访问权限

你应用的这个桶策略通过Deny效果拒绝了所有主体(Principal: "*")对目标桶的所有S3操作,由于S3桶策略的拒绝规则优先级最高,即使是账户根用户也会被拦截。以下是两种可靠的恢复方法:

方法一:使用AWS CLI强制删除桶策略

  1. 确保本地已安装AWS CLI,若未安装直接下载配置即可。
  2. 使用账户根用户的Access Key和Secret Key配置CLI,运行命令:
    aws configure
    
    按提示输入根用户的凭证信息。
  3. 执行删除桶策略的命令,替换bucket-name为你的实际桶名称:
    aws s3api delete-bucket-policy --bucket bucket-name
    
    执行成功后,即可恢复对桶的正常访问。

方法二:通过管理员IAM用户绕过(CLI不可用时)

  1. 登录AWS IAM控制台,创建一个新IAM用户,勾选“控制台访问”并设置临时密码。
  2. 给该用户附加AdministratorAccess权限策略,确保拥有最高权限。
  3. 用这个新管理员用户登录AWS控制台,直接进入目标S3桶的“权限”页面,找到桶策略编辑器,删除错误的策略内容并保存。

后续正确配置建议(实现单个IAM用户访问+公共文件夹)

如果你要实现原本的需求,可使用如下桶策略(替换占位符为你的实际信息):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::你的AWS账户ID:user/指定IAM用户名"
      },
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::bucket-name",
        "arn:aws:s3:::bucket-name/*"
      ]
    },
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::bucket-name/public-folder/*"
    }
  ]
}

同时需在S3桶的“公共访问设置”中,关闭“阻止所有公共访问”(或仅保留必要的限制项),确保公共文件夹的访问正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:02:56