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

S3终端命令访问被拒问题:配置凭证与策略仍报错

AWS S3 访问被拒问题排查

我尝试使用AWS S3终端命令列出并获取对象,已通过IAM用户私钥配置凭证,为S3桶添加了相关策略(甚至试过更宽松的版本),同时关闭了「Block public access (bucket settings)」,IAM用户也配置了全S3权限策略,但执行以下命令时始终报错:

aws s3 ls s3://folder-staging/file01.txt --profile folder-staging
An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied

当前桶策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowGetObjects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::xxxxxx:user/manolo"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::folder-staging",
                "arn:aws:s3:::folder-staging/*"
            ]
        }
    ]
}

尝试过的宽松版桶策略(无效)

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

IAM用户策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "s3-object-lambda:*"
            ],
            "Resource": "*"
        }
    ]
}

身份验证结果

执行aws sts get-caller-identity --profile manolo返回:

{
    "UserId": "yyyyyyyy",
    "Account": "xxxxxxxx",
    "Arn": "arn:aws:iam::xxxxxx:user/manolo"
}

排查方向

  • 核对Profile配置:命令中使用--profile folder-staging,但身份验证用的是--profile manolo,确认两个Profile对应的是否为同一IAM用户的密钥,避免凭证不匹配。
  • 确认资源存在性:确保s3://folder-staging/file01.txt真实存在,AWS为保护资源隐私,不存在的对象也可能返回「访问被拒」。
  • 检查全局限制策略:排查账户级别的S3权限边界、服务控制策略(SCP)或IAM用户的权限边界,这类策略可能覆盖已配置的允许规则。
  • 验证资源ARN正确性:确认桶名、对象路径拼写无误,策略中配置的Resource ARN需与实际资源完全匹配。
  • 清理凭证缓存:执行aws configure list --profile folder-staging,检查当前Profile使用的Access Key是否正确,避免旧凭证缓存干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:42:55