Tôi đã khởi chạy một ứng dụng mẫu sử dụng Amazon S3 để lưu trữ hình ảnh. Tôi quản lý để dỗ nó vào làm việc. Ứng dụng được lưu trữ tại github.com. Ứng dụng cho phép bạn tạo người dùng bằng ảnh tiểu sử. Khi bạn tải ảnh lên, ứng dụng web lưu trữ nó trên Amazon S3 thay vì hệ thống tệp cục bộ của bạn. (Rất quan trọng nếu bạn lưu trữ tại heroku.com)Làm thế nào để làm cho hình ảnh được lưu trữ trên Amazon S3 ít công khai hơn nhưng không hoàn toàn riêng tư?
Tuy nhiên, khi tôi đã thực hiện "nguồn xem" trong trình duyệt của trang, tôi nhận thấy URL của hình ảnh là URL Amazon S3 trong nhóm S3 mà tôi đã gán cho ứng dụng. Tôi đã cắt & dán URL và có thể xem ảnh trong cùng một trình duyệt và trong một trình duyệt khác mà trong đó tôi không có phiên mở nào cho ứng dụng web của tôi hoặc Amazon S3.
Có cách nào để hạn chế quyền truy cập vào URL đó (và hình ảnh) để chỉ có thể truy cập vào các trình duyệt được đăng nhập vào các ứng dụng của tôi không?
Hầu hết thông tin tôi tìm thấy về Amazon ACL chỉ nói về quyền truy cập chỉ cho chủ sở hữu hoặc nhóm người dùng được xác thực với Amazon hoặc AmazonS3 hoặc cho mọi người nặc danh.
EDIT ---- CẬP NHẬT ngày 07 tháng 7 năm 2010
Amazon có hơn just announced cách để hạn chế truy cập vào các đối tượng S3 và xô. Trong số các cách khác, bây giờ bạn có thể hạn chế quyền truy cập vào đối tượng S3 bằng cách đủ điều kiện tham chiếu HTTP. Điều này có vẻ thú vị ... Tôi không thể đợi cho đến khi họ cập nhật tài liệu nhà phát triển của họ.
@Justice - Cảm ơn bạn đã có câu trả lời hoàn chỉnh và rất hợp lý. Đó chính xác là lý do tôi cần để sử dụng S3. Các tài sản được lưu trữ trên S3 không phải là siêu quan trọng như xa như sự riêng tư đi, và các URL chỉ có sẵn cho người dùng đăng nhập. Tôi cho rằng tôi phải làm một số loại băm muối để tạo ra số ngẫu nhiên. –
+1 cho điểm logic. Tạo một url ngẫu nhiên mới cho mỗi cập nhật cho tài nguyên cũng rất quan trọng. –