繁体   English   中英

从 AWS S3 存储桶访问文件

[英]Accessing files from AWS S3 Bucket

我正在使用 NodeJS 将文件上传到我的 S3 存储桶中。 作为回应,我收到了该文件的链接。

例如我收到https://my-bucket-name.s3.ap-south-1.amazonaws.com/testUpload_s.txt

该存储桶目前不允许公开访问。 我应该如何安全地访问存储桶中的文件? 我想知道以下方法是否安全?

  1. 允许公共访问存储桶

  2. 在上传过程中,每个文件将被赋予一个随机的唯一名称

  3. 此文件名或响应 URL 存储在数据库中

  4. 当必须获取文件时,我使用从上传响应收到的链接从存储桶访问文件

这种方法安全吗? 如果没有,还有其他方法可以做到这一点吗?

有许多选项可以让客户端访问 S3 中的对象,包括:

  1. 公开对象
  2. 要求客户端使用 AWS 凭证进行身份验证
  3. 给客户一个限时的、预先签名的 URL

它们各自服务于不同的用例。 如果任何人都可以安全访问该文件(例如,该文件是在公共网站上显示的图像),请使用 #1。 如果客户端具有 AWS 凭证,请使用 #2。 如果您不想公开文件但客户端没有 AWS 凭证,请使用 #3。 请注意 #3,预签名 URL 是有时间限制的。

您不需要存储 URL。 您可以使用文件名查询 S3 存储桶中的对象。

对于从外部访问使用签名的 url。

https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM