将 AWS 预签名 URL 发送到前端安全吗?

问题描述 投票:0回答:1

我使用express和nodejs作为后端,我使用aws-sdk客户端将图像/文件上传到aws s3中,在检索并将其发送到前端时,我每次都会发送图像的预签名URL。我的问题是,安全吗?因为 url 包含存储桶名称和区域以及其他元素。我不想让用户/任何其他人知道发生了什么。有没有更好的方法或者什么可以解决?

我正在考虑只发送 aws 中的文件密钥(如“uploads/images/image.jpg”)作为响应,而不是预先签名的 url,并让客户端在想要查看图像时进行提取。但我想,很少会出现问题,我有很多图像附加到特定请求,如果客户端不断为每个图像而不是可以直接从aws获取的预签名url访问服务器,这会成为服务器上的负担吗?如果是轮播视图,会不会显得很无缝?

使用预先签名的 url 很棒,但我不想在其中显示 aws 凭证。

amazon-web-services image amazon-s3 mern pre-signed-url
1个回答
0
投票

使用预签名 URL 来提供存储在 AWS S3 中的文件是一种常见且通常安全的做法。

  • 只要在服务器端正确生成和管理预签名 URL,它们就是安全的。确保生成具有适当过期时间的预签名 URL,以限制访问窗口。此外,请确保您的 S3 存储桶策略配置正确,以将访问限制为仅授权用户。

替代方法:您可以选择 S3 静态网站托管,而不是直接提供预签名 URL。为了使其更加安全、大幅提高性能并减少延迟,您可以将 CloudFront 配置为将 S3 存储桶中的内容作为源提供服务,从而有效地向最终用户隐藏 S3 详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.