2013-02-25 44 views
7

Tôi có tệp âm thanh được lưu trữ tại Amazon S3 được truy cập từ ứng dụng trình phát nhạc dựa trên web và cũng từ ứng dụng dành cho thiết bị di động. Ngay cả những người dùng không đăng nhập cũng có thể truy cập nhạc. Tuy nhiên tôi không muốn mọi người sử dụng liên kết để tải xuống nội dung. Điều này có thể được thực hiện trong s3?Ngăn tải trực tiếp tệp âm thanh từ amazon s3

Cảm ơn bạn

+3

Hãy để tôi xem liệu tôi đã nhận nó: bạn có một ứng dụng web mà truy cập vào âm nhạc và suối nó cho các khách hàng của bạn (trình duyệt, ứng dụng, vv)? Nếu vậy, bạn có thể tạo nội dung riêng tư trên S3 và làm cho ứng dụng của bạn truy cập thông qua khóa AWS/Bí mật của bạn. – Viccari

Trả lời

5

Bạn có thể hạn chế quyền truy cập dựa trên liên kết giới thiệu HTTP. Nó không phải là chống đạn (Referrer có thể được giả mạo) nhưng nó sẽ dừng tải bình thường.

Bạn sử dụng chính sách nhóm để hạn chế các giá trị có thể có cho Liên kết giới thiệu.

Có một ví dụ trên trang này (di chuyển xuống một chút) http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html

Dưới đây là ví dụ của họ:

{ 
    "Version":"2008-10-17", 
    "Id":"http referer policy example", 
    "Statement":[ 
    { 
     "Sid":"Allow get requests originated from www.example.com and example.com", 
     "Effect":"Allow", 
     "Principal":"*", 
     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::examplebucket/*", 
     "Condition":{ 
     "StringLike":{ 
      "aws:Referer":[ 
      "http://www.example.com/*", 
      "http://example.com/*" 
      ] 
     } 
     } 
    } 
    ] 
} 

Bạn có thể cũng làm URL ký mà hết hạn - đó sẽ ngăn chặn mọi người liên kết đến nội dung của bạn từ trang web khác.

1

Một kịch bản nói đến cái tâm:

Khi ứng dụng của máy nghe nhạc bạn muốn chơi một cái gì đó, nó có hỏi phụ trợ của bạn cho URL cho MP3. Phần cuối của bạn có thể tạo URL có thông số "Hết hạn" [1] được đặt thành 10 giây trong tương lai.

Bằng cách này, URL do chương trình phụ trợ của bạn trả lại chỉ có thể sử dụng được trong 10 giây, quá đủ để trình phát nhạc bắt đầu tải xuống từ S3.

Tất nhiên người dùng có thể tải tệp xuống nếu họ thấy URL trong một số loại trình thám thính HTTP trong cửa sổ 10 giây và bắt đầu tải xuống.

Nhưng không có cách chống đạn nào để bảo vệ người dùng không thể chạm tay vào nội dung mà thiết bị của họ truy cập. Nếu nội dung được phân phối đến một thiết bị, luôn có cách để những người có đủ kỹ thuật nắm bắt được nội dung đó.

p.s. Chỉ cần một đầu, nếu máy nghe nhạc MP3 của bạn hỗ trợ tìm kiếm (đặc biệt là tìm kiếm bằng cách gửi một yêu cầu phạm vi HTTP khác), bạn sẽ phải nhận lại một URL mới với thông số "hết hạn" được làm mới từ chương trình phụ trợ của bạn.

[1] http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html

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