s3-Dateizugriff für große Dateien mit Cyberduck verweigert

3231
user1525248

Wenn ich unten eine benutzerdefinierte Richtlinie verwende, erhalte ich die folgende Fehlermeldung, wenn Sie große Dateien (1 G und mehr) mit Cyberduck hochladen

Dateizugriff verweigert. Bitte wenden Sie sich an Ihren Webhosting-Anbieter

Das Hochladen kleiner Dateien (ca. 200M) ist jedoch kein Problem. Außerdem habe ich kein Problem, wenn Sie neue Ordner und Dateien mit Cyberduck und denselben Anmeldeinformationen erstellen. Also ich habe definitiv einen Lese- / Schreibzugriff.

Auch wenn ich eine vordefinierte Richtlinie (AmazonS3FullAccess) hinzufüge, funktioniert das Hochladen großer Dateien ebenfalls in Ordnung. Ich bin hier ein bisschen verloren. Wie schränkt meine Richtlinie das Hochladen von Dateien ein? Was vermisse ich?

meine Politik

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::photoshoot2016" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::photoshoot2016/*" } ] } 

AmazonS3FullAccess-Richtlinie

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] } 
1

1 Antwort auf die Frage

2
user1525248

Ich habe immer weiter gesucht und festgestellt, dass Amazon die Verwendung von mehrteiligen Uploads für alle Dateien mit mehr als 100 MB ( http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html ) empfiehlt.

Alles, was ich am Ende tun musste, ist das Hinzufügen fehlender Berechtigungen (ListMultipartUploadParts und ListBucketMultipartUploads), um die mehrteiligen Uploads zu aktivieren. Nun sieht meine Politik so aus

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::photoshoot2016" }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::photoshoot2016/*" } ] } 

Ich fand den Haupthinweis durch Aktivieren der Bucket-Protokollierung, die viele Fehler "AccessDenied 243" für REST.GET.UPLOADS aufwies. Amazons Policy Simulator war auch sehr nützlich, um herauszufinden, was fehlte und wo es platziert werden sollte.