验证用户是否从AWS S3查看文件

时间:2014-10-28 05:01:37

标签: amazon-web-services amazon-s3

大家好日子,

我对AWS很新,我现在遇到了问题。我甚至不确定这是否是S3的可能性。我尝试使用谷歌搜索,但无法找到任何正确的答案(可能是因为我搜索的关键字没有多大意义;))。

所以我的问题是这个,我有一个节点应用程序将用户图像上传到S3。我不知道如何在前端正确访问这些图像(某种直接链接)。但与此同时,我应该能够限制可以访问图像的用户。例如:如果用户xyz只上传了一个用户应该能够看到它的图像。另一位用户说abc试图打开直接链接,应该说访问限制或类似的东西。

或者如果那是不可能的,至少我应该能够在获取网址上加上一个加密的时间戳,这样只需有限的时间就可以通过该特定的网址访问该图像。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这是S3预签名URL的典型用例。

在S3中,您可以在对象的URL上指定一些包含访问密钥,过期时间戳和签名的查询字符串。 S3验证签名并检查是否在到期时间戳之前发出了请求。如果是这样,它将为该对象提供服务。否则,它将返回错误。

AWS SDK for JavaScript(Node.js)包含有关如何生成预签名网址的示例:http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-examples.html#Amazon_S3__Getting_a_pre-signed_URL_for_a_getObject_operation__getSignedUrl_