2017-10-02 2 views
0

Ich habe einen leeren Eimer auf http://tstststs.s3-us-west-2.amazonaws.com/ die die Listobjects Erlaubnis für den Zugang der Öffentlichkeit freigegeben hat, aber bei der Ausführung aws s3 ls s3://tstststs ich die folgende Meldung: An error occurred (AccessDenied) when calling the ListObjects operation: Access Deniedkann nicht durch AWS Listobjects CLI

Kann mir jemand helfen, dies herauszufinden? Da ich es für den öffentlichen Zugriff eingerichtet habe, kann es kein Anmeldefehler sein, oder?

+0

Sind Sie sicher, dass AWS CLI richtig konfiguriert ist? Verwenden Sie 'aws configure', wenn Sie sich nicht sicher sind. –

Antwort

0

Sie müssen die S3-Bucket-Richtlinie auf etwa so einstellen. Hinweis: Dies jemand erlauben, jedes Objekt in „yourbucketname“ und nichts anderes wie die Auflistung von Dateien zu lesen, Hochladen, usw. Amazon viele Beispiele veröffentlicht, wenn Sie etwas speziellere benötigen:

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

Ich habe das gemacht, aber es gibt mir immer noch Zugang ... das komische daran ist, dass ich es von einem Browser aus aufrufen kann, aber nicht von CLI: / – Akababa

-1

Der aws s3 ls Befehl tatsächlich Auslöser mehr als ein ListObjects-Befehl. (Beispielsweise könnte es den Bucket-Bereich abrufen, der mehr Berechtigungen erfordert.)

Wenn Sie möchten, dass ListOjects nur aufgerufen wird, verwenden Sie aws s3api list-objects.