2016-01-20 186 views
1

我需要訪問來自Amazon AWS S3的對象,而無需在https URL中共享訪問密鑰。我可以生成無訪問密鑰的URL併成功訪問S3上的對象?AWS S3訪問對象witoout aws訪問鍵提到https url

目前我指定的快捷鍵,如下面的例子:

https://avnishrepotest.s3.amazonaws.com/abc.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<<**access_key**>>/20160119/us-west-2/s3/aws4_request&X-Amz-Date=20160119T111336Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=0b6aa20a5949fd869d639f9c9968daa82d0e71c3416ae55d679aa054146b2689. 

我可以生成URL,而不AWS訪問密鑰和成功下載對象?

+0

你可以考慮使用[presigned URL](http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html)嗎? – jacob

回答

1

當您在S3中使用預簽名的URL時,您會得到一個臨時憑證集。它生成一個訪問密鑰和一個哈希,其中散列着「私鑰」。您可以使用此URL幾秒鐘。 這些憑據是臨時的,根本不是你的。 我不明白爲什麼它可能仍然是一個問題給你。 你想實現的是不可能的。 如果要「隱藏」訪問密鑰,則可以使用URL縮短器,但信息仍可訪問。

+0

實際上我不想與客戶共享AWS訪問密鑰,由於安全目的 – user1488378

+0

爲什麼共享臨時訪問密鑰缺乏安全性? –

+0

這是100%安全的共享此簽名的網址,訪問密鑰生成並臨時有效,並且您不共享密鑰。 – Tom