root用户被拒绝从s3存储桶下载

时间:2015-04-26 09:19:07

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

在使用我的root权限(访问密钥和密钥)配置后使用s3cmd,每当我尝试使用syncget从存储桶下载内容时,都会收到此奇怪错误我的root帐户的权限:

WARNING: Remote file  S3Error: 403 (Forbidden):

所有者是我使用IAM控制台创建的另一个用户,但我是否正确期望root用户应始终获得完全且不受限制的访问权限? 同样使用aws - cli我得到一个未知错误

A client error (Unknown) occurred when calling the GetObject operation: Unknown

此外,我认为我必须添加一个存储桶策略以允许root访问(听起来很奇怪),因为我使用此策略添加了匿名访问的第一步

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::myBucket/*"
            ]
        }
    ]
}

但是错误仍与上述相同。存储桶的所有者也是root用户(尝试访问的用户与所有者相同)。我在这里理解错了什么?如何恢复root用户对我自己的存储桶的访问权限?该存储桶是由我自己的IAM用户制作的?

2 个答案:

答案 0 :(得分:1)

重新检查存储状态以及S3是否处于生命周期中总是一个好主意,因此在这种情况下它可能已经转移到Glacier。在这里,我尝试使用s3cmd命令访问Glacier对象,并且我收到了无信息和无关的权限错误。将此添加为s3cmd的未来版本的增强功能以​​获得更好的警告/错误消息是个好主意。

答案 1 :(得分:1)

要使任何S3读取权限起作用,您不仅需要允许这些对象,还需要允许cssListBucketListAllMyBuckets,我的合并版本:

GetBucketLocation

AWS IAM Documentation

上查看更多示例