在使用我的root权限(访问密钥和密钥)配置后使用s3cmd
,每当我尝试使用sync
或get
从存储桶下载内容时,都会收到此奇怪错误我的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用户制作的?
答案 0 :(得分:1)
重新检查存储状态以及S3是否处于生命周期中总是一个好主意,因此在这种情况下它可能已经转移到Glacier。在这里,我尝试使用s3cmd
命令访问Glacier对象,并且我收到了无信息和无关的权限错误。将此添加为s3cmd
的未来版本的增强功能以获得更好的警告/错误消息是个好主意。
答案 1 :(得分:1)
要使任何S3读取权限起作用,您不仅需要允许这些对象,还需要允许css
,ListBucket
和ListAllMyBuckets
,我的合并版本:
GetBucketLocation
上查看更多示例