为什么我的终端返回此s3错误?

时间:2015-10-24 15:11:18

标签: amazon-web-services amazon-s3 amazon

这是我一直收到的错误:

A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied

我已经对我的凭据进行了三次检查,并将此错误用Google搜索到了我的智慧'结束。我编辑了我的存储桶策略以添加s3:ListBucket操作,但无济于事。当我这样做时,它只会返回一条类似的消息:

A client error (AccessDenied) occurred when calling the ListBuckets operation: Access Denied

思考?这也是我第一次创建一个s3水桶,所以很可能我错过了一些重要的步骤。

我已经对我的密钥进行了三次检查,甚至尝试创建一个额外的用户(编辑存储桶权限以允许经过身份验证的用户)。始终返回相同的错误。

非常非常感谢任何帮助或见解。谢谢!

2 个答案:

答案 0 :(得分:7)

在我收到与您相同的(第二个)错误后,我发现了这个问题:

$ aws s3 ls

A client error (AccessDenied) occurred when calling the ListBuckets operation: Access Denied

事实证明,您需要添加specific policy permission才能列出所有可用的存储分区:

{
    "Sid": "AllowListingOfAllBuckets",
    "Effect": "Allow",
    "Action": [
        "s3:ListAllMyBuckets"
    ],
    "Resource": [
        "arn:aws:s3:::*"
    ]
},

由于你没有说明你正在运行哪个命令来产生错误,我不能说这是否对OP有帮助,但希望它能帮助那些偶然发现这个帖子的人在同样的情况下我

答案 1 :(得分:5)

我有一个非常类似的问题。我的用户有S3FullPermissions,我可以创建存储桶并列出所有这些:

aws s3 mb s3://my-bucket
make_bucket: s3://my-bucket/

aws s3 ls
2017-03-24 12:30:34 my-bucket

但是当我试图跑步时:

aws s3 ls s3://my-bucket
A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied

错误本身与我使用的 awscli版本相关,而不是我的存储桶/用户/策略的任何错误配置。为了解决这个问题,我删除了我的发行版存储库中安装的awscli软件包,并使用pip 安装了它:

# apt-get remove awscli
# pip install awscli

希望这可以帮助处于类似情况的人,我浪费了几个小时试图猜测这里发生了什么。