2013-08-10 33 views
8

Tôi đang phát triển một ứng dụng dành cho thiết bị di động cho phép bất kỳ ai tải tệp lên một thùng S3. Tôi nghĩ rằng tôi sẽ sử dụng Máy bán hàng tự động ẩn danh được cung cấp bởi Amazon.Chính sách Amazon S3 chỉ cho phép tải lên không ghi đè

Tuy nhiên, tôi không thể xem cách viết tệp TokenVendingMachinePolicy.json sẽ chỉ cho phép tải lên tệp mới, không ghi đè (xóa có hiệu quả). Tôi cho rằng chỉ cho phép s3:PutObject sẽ ổn, nhưng có vẻ như sự cho phép của s3:PutObject cho phép cả hai. Điều này có vẻ hơi lạ, vì có sự cho phép s3:DeleteObject riêng biệt, điều này là vô ích, vì bạn chỉ có thể ghi đè lên với đối tượng 0 độ dài.

Có cách nào để chỉ cho phép tải lên tệp mới không? Vấn đề này thường được giải quyết như thế nào?

+0

Bạn đã tìm thấy một giải pháp cho điều này? – dtgq

+0

Tôi có cùng câu hỏi này ngay bây giờ ... nếu tải lên trực tiếp từ trình duyệt của khách hàng tới thùng S3 bằng URL được ký trước, thì về mặt lý thuyết có thể cho người dùng xóa tệp của người dùng khác bằng cách có khóa (công khai có sẵn) của tệp mà họ muốn "xóa". – dtgq

Trả lời

2

Rất tiếc, không thể có quyền ghi một lần. Cách giải quyết là sử dụng phiên bản trên nhóm của bạn.

Xem câu trả lời này cho một câu hỏi tương tự mà giải thích nó một cách chi tiết:

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