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

如何解决执行AWS CLI命令访问S3时的Access Denied错误?

AWS S3 ls命令AccessDenied问题排查与解决

核心原因:IAM用户策略资源范围不全

你给IAM用户配置的策略里,Resource只写了arn:aws:s3:::BUCKET_NAME/*(仅覆盖桶内对象),但aws s3 ls调用的ListObjectsV2操作,需要的是桶本身的权限(arn:aws:s3:::BUCKET_NAME)。S3的列表类操作(比如ListBucket、ListObjectsV2)对应的资源是桶ARN,不是对象ARN。

把IAM用户策略修改为包含桶本身的ARN即可:

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

额外排查方向

  • 检查IAM边界策略:如果你的IAM用户设置了边界策略,可能会限制管理员权限,确认边界没有拒绝S3相关操作。
  • 查看S3块公共访问:虽然IAM用户访问不受公共访问设置影响,但极端配置可能冲突,检查桶的「阻止公共访问」选项是否异常。
  • 确认桶ACL:桶策略允许访问的前提下,ACL如果有明确拒绝设置也会导致权限问题。
  • 核对CLI配置文件:执行aws configure list,确认当前使用的配置文件对应你的目标IAM用户,避免用错配置。
  • 排查IAM策略冲突:如果用户附加了其他策略,比如存在拒绝S3访问的策略,拒绝策略优先级高于允许策略,会导致权限被限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:00:58