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

已配置AmazonS3FullAccess的IAM用户调用S3操作出现AccessDenied错误

S3 ListBuckets AccessDenied 报错原因及排查方案

你贴的IAM用户策略本身已经覆盖了s3:ListAllMyBuckets动作的权限要求,出现该报错的核心原因是存在更高优先级的权限规则禁止了该操作,常见原因及排查步骤如下:

常见原因

1. 显式拒绝策略覆盖

IAM权限评估逻辑中显式拒绝优先级最高,就算当前用户绑定了S3全权限允许策略,只要存在其他关联策略(用户组策略、权限边界、组织SCP策略、会话策略)中包含s3:ListAllMyBuckets或s3:*的显式拒绝规则,就会触发访问拒绝。

2. 权限边界限制

如果该IAM用户配置了权限边界,即便身份策略给了S3全权限,只要权限边界未放开s3:ListAllMyBuckets动作、或限制了资源范围不为*,权限也会被拦截。

3. AWS组织SCP限制

如果当前账号加入了AWS Organizations,组织层面的服务控制策略(SCP)会限制账号下所有身份的最大权限,若SCP未放开S3相关操作,本地IAM配置的全权限不会生效。

4. 自定义端点策略限制

如果CLI配置了自定义S3端点(VPC端点、私有服务端点),端点的访问策略如果禁止了s3:ListAllMyBuckets动作,也会触发该报错。

排查步骤

  • 检查当前IAM用户的所有关联策略:包括直接绑定的身份策略、所属用户组的策略,搜索是否存在Effect: Deny且动作覆盖s3:ListAllMyBuckets的规则
  • 检查IAM用户权限边界:进入AWS控制台→IAM→用户→对应用户→权限→权限边界栏,确认权限边界允许s3:ListAllMyBuckets动作且资源配置为*
  • 核实组织SCP配置:如果账号归属AWS组织,联系组织管理员检查对应账号的SCP策略,确认未限制S3访问权限
  • 检查CLI配置项:执行aws configure get s3.endpoint_url确认是否配置了自定义S3端点,若有配置需核对端点策略放开了ListBuckets权限;执行aws configure get region确认区域配置符合要求
  • 使用IAM策略模拟器验证:在IAM控制台的策略模拟器中输入当前IAM用户ARN,选择服务为S3、操作选择ListAllMyBuckets、资源输入*,运行模拟即可直接得到权限被拒绝的具体原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:51:02