2017-07-26 1 views
0

Wir haben einen Eimer in AWS S3 und ein IAM-Benutzer mit einer bestimmten Richtlinie erstellt, den Zugriff auf diesen Eimer zu beschränken, wie folgt:AWS S3: kann nicht den Eimer nach Änderung der Politik Liste

Bucket : testbucket

Politik:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject", 
       "s3:GetObjectAcl", 
       "s3:GetObjectVersion", 
       "s3:PutObject", 
       "s3:PutObjectAcl", 
       "s3:PutObjectVersionAcl" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::testbucket/*", 
      ] 
     } 
    ] 
} 

Dann haben wir eine IAM-Benutzer erstellt und diese Politik zu den Berechtigungen des Benutzers zugeordnet. Wir haben einen Access-Key und einen Secret-Access-Key und können erfolgreich Dateien in den Bucket hochladen und diese auch mit einer bestimmten, bekannten URL zu den Ressourcen herunterladen.

Jetzt wollen wir auch alle Objekte im Bucket auflisten können. Deshalb habe ich die Politik auf diese Weise geändert:

Neue Richtlinie:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject", 
       "s3:GetObjectAcl", 
       "s3:GetObjectVersion", 
       "s3:PutObject", 
       "s3:PutObjectAcl", 
       "s3:PutObjectVersionAcl" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::testbucket/*", 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListBucket" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::testbucket/*" 
      ] 
     } 
    ] 
} 

Der neue Artikel hier s3:ListBucket ist.

Ich habe diese Richtlinie erfolgreich geändert und kann die Seite in AWS neu laden, um sicherzustellen, dass diese Änderungen weiterhin bestehen.

Allerdings habe ich schon eine Stunde gewartet, aber ich kann immer noch nicht die Objekte des Buckets auflisten.

Zum Testen verwende ich die App CyberDuck. Es kann den Bucket selbst nach der Authentifizierung auflisten, aber die Objekte im Bucket können immer noch nicht aufgelistet werden.

Muss ich noch etwas anderes machen?

Antwort

3

s3: ListBucket gilt für den Bucket, nicht für die darin enthaltenen Objekte. Daher darf die zweite Anweisung nicht den folgenden Schrägstrich und Platzhalter enthalten und sollte daher so aussehen: