2013-08-10 8 views
8

Ich entwickle eine mobile Anwendung, mit der jeder eine Datei in einen S3-Bucket hochladen kann. Ich denke, ich verwende den anonymen Token-Automaten von Amazon.Amazon S3-Richtlinie erlaubt nur Upload nicht überschreiben

Allerdings kann ich nicht sehen, wie man eine TokenVendingMachinePolicy.json Datei schreibt, die nur das Hochladen neuer Dateien erlaubt, nicht das Überschreiben (effektives Löschen). Ich dachte, nur s3:PutObject erlaubt wäre in Ordnung, aber es scheint, die s3:PutObject Erlaubnis erlaubt beides. Das erscheint ein bisschen seltsam, da es eine separate s3:DeleteObject-Berechtigung gibt, die nutzlos ist, da Sie sowieso nur mit dem 0-length-Objekt überschreiben können.

Gibt es eine Möglichkeit, nur das Hochladen neuer Dateien zuzulassen? Wie wird dieses Problem normalerweise gelöst?

+0

Sie eine Lösung für diese gefunden? – dtgq

+0

Ich habe die gleiche Frage jetzt ... wenn Uploads direkt vom Client-Browser zu S3-Bucket mit einer vor-signierten URL gehen, dann ist es theoretisch für einen Benutzer möglich, die Dateien eines anderen Benutzers nur mit dem Schlüssel zu löschen (das ist öffentlich verfügbar) der Datei, die sie "löschen" möchten. – dtgq

Antwort

2

Leider ist es nicht möglich, eine einmalige Schreibberechtigung zu haben. Ein Workaround wäre, die Versionierung in Ihrem Bucket zu verwenden.

diese Antwort auf eine ähnliche Frage sehen, dass es im Detail erklärt:

Amazon S3 ACL for read-only and write-once access

Verwandte Themen