大家好日子,
我对AWS很新,我现在遇到了问题。我甚至不确定这是否是S3的可能性。我尝试使用谷歌搜索,但无法找到任何正确的答案(可能是因为我搜索的关键字没有多大意义;))。
所以我的问题是这个,我有一个节点应用程序将用户图像上传到S3。我不知道如何在前端正确访问这些图像(某种直接链接)。但与此同时,我应该能够限制可以访问图像的用户。例如:如果用户xyz只上传了一个用户应该能够看到它的图像。另一位用户说abc试图打开直接链接,应该说访问限制或类似的东西。
或者如果那是不可能的,至少我应该能够在获取网址上加上一个加密的时间戳,这样只需有限的时间就可以通过该特定的网址访问该图像。
提前致谢。
答案 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_