无法通过AWS CLI实现ListObjects

时间:2017-10-02 02:42:55

标签: amazon-web-services amazon-s3

我在http://tstststs.s3-us-west-2.amazonaws.com/有一个空桶,它具有为公共访问启用的ListObjects权限,但在执行aws s3 ls s3://tstststs时,我收到以下消息:An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

任何人都可以帮我解决这个问题吗?由于我将其设置为公共访问权限,因此无法成为凭据错误,可以吗?

2 个答案:

答案 0 :(得分:0)

您需要将S3存储桶策略设置为这样的。注意:这将允许任何人阅读" yourbucketname"中的任何对象。如果您需要更具体的内容,亚马逊已经发布了大量示例:

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

答案 1 :(得分:-1)

aws s3 ls命令实际上触发的不仅仅是ListObjects命令。 (例如,它可能会获取存储区域,这涉及更多权限。)

如果您希望它纯粹调用ListOjects,请使用aws s3api list-objects