2013-06-19 38 views
6

Tôi đang lập kế hoạch chuyển hướng người dùng đến các URL được chỉ định của các tài nguyên nhạy cảm được lưu trữ trong S3. Chúng được tạo sau khi kiểm tra quyền của người dùng và có thời gian chờ tích cực (30 giây). Tuy nhiên, lo lắng của tôi là liệu một số phần mềm độc hại có thể xuất hiện trên máy khách của tôi để nắm bắt url và vẫn tải xuống tệp trong thời hạn hết hạn của URL. Hay tôi chỉ là quá hoang tưởng?Các URL được chỉ định an toàn trong AWS S3 an toàn như thế nào?

Nếu điều này đã được trả lời trước đó, vui lòng chỉ cho tôi theo hướng đó. Đánh giá cao sự giúp đỡ của bạn.

Trả lời

2

Tôi đã tìm thấy điều này - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html và dùng thử. Dường như nó hoạt động. Diễn giải mã từ doc -

# Start a session with restricted permissions. 
sts = AWS::STS.new() 
policy = AWS::STS::Policy.new 
policy.allow(
    :actions => ["s3:ListBucket"], 
    :resources => "arn:aws:s3:::#{bucket_name}" 
).condition.add(:like, :referer, "domain.com") 

session = sts.new_federated_session(
    'User1', 
    :policy => policy, 
    :duration => 2*60*60) 

Vì vậy, các chính sách mà chúng ta tạo ra có thể có nguồn gốc từ địa chỉ IP mà tải client hoặc/và có thể là AWS: Trường Referer thiết vào miền ứng dụng của tôi. Tôi nghĩ rằng điều này cung cấp ít nhất một mức cản trở đối với tài nguyên của bạn. Tôi nhận được điều đó, địa chỉ IP hoặc người giới thiệu có thể dễ dàng bị giả mạo. Nhưng nó tốt hơn là không có bất kỳ sự bảo vệ nào cả.

4

Bất kỳ ai nhận được URL trước khi hết hạn đều có thể sử dụng URL đó để truy cập dữ liệu. S3 hỗ trợ chính sách xô làm hạn chế các địa chỉ IP được phép truy cập vào dữ liệu:

http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html

Tuy nhiên trong trường hợp này, bạn đang lo lắng về phần mềm độc hại trên máy client. Vì vậy, điều đó sẽ không giúp được gì. Bạn đã xem xét mã hóa dữ liệu sao cho chỉ có quy trình khách hàng mới có thể giải mã được dữ liệu đó?

Bạn vẫn dễ bị tổn thương bởi một khách hàng không an toàn/bất cẩn làm rò rỉ dữ liệu bằng cách nào đó.

+0

Tuyệt đối, điều đó không thực sự hữu ích nhiều. Cảm ơn câu trả lời anyway. –

+0

Chính sách nhóm sẽ không hoạt động, nhưng bạn có biết bất kỳ cách nào để có thể bao gồm một ACL tạm thời trong URL không? thx- –

+0

Không. Có cách nào bạn có thể ủy quyền yêu cầu và chủ yếu là một URL một lần không? – sethwm

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