2014-12-04 51 views
0

我已經上傳了三個文件到S3。 a.zip, b.zip, c.zip你能設置一個S3對象的訪問鍵嗎?

我想允許某些人通過點擊瀏覽器中的鏈接通過HTTP下載這些文件。是否有可能與每個不可猜測的文件相關聯的密鑰(如文件名),以便我可以與密鑰共享URL,並且他們將無法通過替換文件名下載其他文件:

http://s3.amazonaws.com/bucket/a.zip?key=DIFFICULT_SECRET1 
http://s3.amazonaws.com/bucket/b.zip?key=DIFFICULT_SECRET2 
http://s3.amazonaws.com/bucket/c.zip?key=DIFFICULT_SECRET3 

回答

1

這是通過簽訂網址查詢字符串身份驗證完成:

http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html

一旦你生成一個對象的標識的URL,它永遠只能工作是單個對象,並且爲所有的實際目的,無法進行反向工程或修改以訪問任何其他對象。簽名的網址也有一個有限的到期時間,您可以在簽名時設定。

+0

這看起來不錯,做任何特定的權限需要在存儲桶上設置或做簽名的URL優先? – nickponline 2014-12-04 20:17:20

+0

與access-key-id關聯的IAM帳戶需要獲取對象的權限。只要沒有明確拒絕該操作的策略,該請求就會被驗證,並且將根據IAM用戶的權限授予訪問該對象的權限。 – 2014-12-04 20:25:14