2013-06-19 114 views
6

我打算將用戶重定向到存儲在S3中的敏感資源的預先設置的URL。在檢查用戶的權限並且具有激進超時(30秒)之後,這些會生成。然而,我的擔心是,我的客戶端機器上存在的某些惡意軟件是否可以捕獲URL並在URL的過期時間內下載文件。或者我只是太偏執?AWS S3中預先登記的網址安全性如何?

如果之前已經回答了這個問題,請指出我的方向。感謝你的幫助。

回答

2

我發現這個 - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html 並試了一下。它似乎有效。從文檔複述代碼 -

# 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) 

這樣我們就可以創建具有該客戶端下載和/或可能是AWS原始IP地址的政策:引薦字段設置爲我的應用程序的域。我認爲這對您的資源提供了至少一個阻礙。我明白,IP地址或引用者很容易被欺騙。但它比沒有任何保護更好。

4

任何在到期前獲取URL的人都可以使用它來訪問數據。 S3支持桶政策限制允許對數據的訪問的IP地址:

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

然而,在這種情況下,你所擔心的客戶端計算機上的惡意軟件。所以這沒有幫助。您是否考慮過對數據進行加密,以便只有客戶端進程才能解密數據?

您仍然容易受到不安全/粗心的客戶端泄露數據的影響。

+0

絕對不會,這真的很有幫助。無論如何感謝您的答案。 –

+0

存儲桶政策無法正常工作,但是您知道任何可以在URL中包含臨時acl的方式嗎? thx- –

+0

不是嗎?您是否可以代理請求並從本質上提供一次性URL? – sethwm

相關問題