2009-04-19 27 views
10

Cố gắng hiểu S3 ... Làm thế nào để bạn giới hạn quyền truy cập vào tệp bạn tải lên S3? Ví dụ: từ một ứng dụng web, mỗi người dùng có các tệp họ có thể tải lên, nhưng làm cách nào để bạn giới hạn quyền truy cập để chỉ người dùng đó có quyền truy cập vào tệp đó? Dường như xác thực chuỗi truy vấn yêu cầu ngày hết hạn và điều đó sẽ không hiệu quả đối với tôi, có cách nào khác để thực hiện việc này không?Cho phép S3 của S3

Trả lời

1

Bạn sẽ phải xây dựng logic truy cập toàn bộ để S3 trong các ứng dụng của bạn

14

Có nhiều cách khác nhau để kiểm soát quyền truy cập vào các đối tượng S3:

  1. Sử dụng truy vấn chuỗi auth - nhưng khi bạn lưu ý điều này đòi hỏi một ngày hết hạn. Bạn có thể làm cho nó xa trong tương lai, điều đó đã đủ tốt cho hầu hết mọi thứ tôi đã làm.

  2. Sử dụng S3 ACLS - nhưng điều này yêu cầu người dùng phải có tài khoản AWS và xác thực với AWS để truy cập đối tượng S3. Đây có lẽ không phải là những gì bạn đang tìm kiếm.

  3. Bạn ủy quyền truy cập đối tượng S3 thông qua ứng dụng của bạn, thực hiện logic kiểm soát truy cập của bạn. Điều này sẽ mang lại tất cả băng thông thông qua hộp của bạn.

  4. Bạn có thể thiết lập một trường hợp EC2 với logic proxy của bạn - điều này giúp băng thông gần với S3 và có thể giảm độ trễ trong các tình huống nhất định. Sự khác biệt giữa điều này và # 3 có thể là tối thiểu, nhưng phụ thuộc vào tình huống cụ thể của bạn.

8
  1. Có người dùng nhấn máy chủ của bạn
  2. có máy chủ thiết lập một xác thực truy vấn-string với một thời hạn ngắn (phút, giờ?)
  3. có máy chủ của bạn chuyển hướng đến # 2
0

Tôi cũng đã giải quyết vấn đề này. Don, người đã viết lớp S3 PHP tôi đang sử dụng, chỉ ra rằng bạn có thể sử dụng dirs bên trong thùng. Vì vậy, bạn có thể đặt tập tin của bạn trong một thư mục với một chuỗi ngẫu nhiên và sau đó chuyển hướng đến đó. mybucket.amazon.net/wef49kfe4j409jf4f4f9jdfd/myfile.zip Trong khi không an toàn, bạn có thể kiểm soát quyền truy cập vào nó bằng cách thay đổi quyền hoặc tạo và xóa nó (giữ nguyên bản gốc trong một nhóm khác) khi cần thiết.

Các vấn đề liên quan