没有访问密钥的AWS S3 JavaScript浏览器上传

y

我想将文件上传到S3,最好不要通过后端服务器,而只能通过浏览器。

在AWS示例中,要创建S3客户端,我需要提供密钥和密钥ID:

const S3 = new AWS.S3({
    accessKeyId: <ACCESS_KEY_ID>,
    secretAccessKey: <ACCESS_KEY_SECRET>,
    region: <AWS_REGION>
});

但是我不想公开访问密钥。该网站托管在CloudFront中,是否可以在CloudFront和S3存储桶之间设置权限,这样我就不需要在JavaScript中提供凭据了?

克里斯·威廉姆斯

出于安全原因,通常应该采用某种方法来审核上传到S3的对象的来源(如果允许公共访问,那么它可以是任何东西)。

与其允许完全公共访问,不如设置AWS Cognito并在您的前端使用它可能更好

您可以选择以下情况之一:

  • 用户通过认知用户登录
  • 使用匿名用户。

这两个选项都将生成可以由您的前端使用的临时凭据。这将防止用户对其进行记录并使其永久保存,确保您仅将权限锁定为仅用于特定S3存储桶的putObject。

一种替代方法是使用API​​网关和Lambda生成可以支持上传的预签名URL。有关此方法的更多信息,请参阅本文

为了增强安全性,可能值得添加一个S3事件来触发Lambda,该Lambda将在对象上传后对其进行验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从heroku访问s3内容时,AWS访问密钥显示在浏览器URL中

来自分类Dev

AWS S3浏览器上传可防止签名劫持

来自分类Dev

使用POST的基于Amazon AWS S3浏览器的上传-

来自分类Dev

通过 AWS-Java SDK 为浏览器签署 S3 上传请求

来自分类Dev

使用浏览器JavaScript SDK检查AWS S3上是否存在文件?

来自分类Dev

将文件从浏览器上传到S3

来自分类Dev

AWS S3访问策略-Web浏览器与API

来自分类Dev

如何在Javascript / ES6的Aurelia浏览器应用程序中使用AWS S3?

来自分类Dev

从浏览器缓存提供图像时,AWS S3 + CloudFront出现CORS错误

来自分类Dev

通过浏览器将异常对象放到AWS S3上的意外错误(putObject)

来自分类Dev

使用 API 网关、AWS LAMBDA 和 S3 从浏览器检索文件

来自分类Dev

AWS S3 存储桶策略不适用于移动浏览器

来自分类Dev

403在通过浏览器将文件上传到具有预签名URL和ng-file-upload的文件到AWS S3时签名不匹配

来自分类Dev

从浏览器直接上传到S3(Amazon)和https问题

来自分类Dev

在浏览器中上传文件后的Amazon S3响应正文

来自分类Dev

上传到S3存储桶的图像无法在浏览器上查看

来自分类Dev

在浏览器中上传文件后的Amazon S3响应正文

来自分类Dev

AWS仅使用ID和密钥将文件上传到S3服务器

来自分类Dev

Amazon S3 AWS 上传进度监听器

来自分类Dev

反应本机AWS S3上传

来自分类Dev

是否等效于具有Azure Blob存储的基于S3浏览器的POST策略?

来自分类Dev

S3拒绝带有预签名URL的浏览器PUT-它认为它们是GET的

来自分类Dev

在没有访问密钥/秘密的情况下提供对 S3 的访问?

来自分类Dev

AWS S3 TransferService上传失败,没有错误

来自分类Dev

如何在没有Cognito的情况下从iOS上传到AWS S3?

来自分类Dev

AWS S3 TransferService上传失败,没有错误

来自分类Dev

如何在没有AWS JavaScript SDK的情况下将文件上传到S3?

来自分类常见问题

从客户端浏览器直接上传Amazon S3文件-私钥披露

来自分类Dev

如何通过NodeJS将文件上传到S3并在浏览器中跟踪进度?

Related 相关文章

  1. 1

    从heroku访问s3内容时,AWS访问密钥显示在浏览器URL中

  2. 2

    AWS S3浏览器上传可防止签名劫持

  3. 3

    使用POST的基于Amazon AWS S3浏览器的上传-

  4. 4

    通过 AWS-Java SDK 为浏览器签署 S3 上传请求

  5. 5

    使用浏览器JavaScript SDK检查AWS S3上是否存在文件?

  6. 6

    将文件从浏览器上传到S3

  7. 7

    AWS S3访问策略-Web浏览器与API

  8. 8

    如何在Javascript / ES6的Aurelia浏览器应用程序中使用AWS S3?

  9. 9

    从浏览器缓存提供图像时,AWS S3 + CloudFront出现CORS错误

  10. 10

    通过浏览器将异常对象放到AWS S3上的意外错误(putObject)

  11. 11

    使用 API 网关、AWS LAMBDA 和 S3 从浏览器检索文件

  12. 12

    AWS S3 存储桶策略不适用于移动浏览器

  13. 13

    403在通过浏览器将文件上传到具有预签名URL和ng-file-upload的文件到AWS S3时签名不匹配

  14. 14

    从浏览器直接上传到S3(Amazon)和https问题

  15. 15

    在浏览器中上传文件后的Amazon S3响应正文

  16. 16

    上传到S3存储桶的图像无法在浏览器上查看

  17. 17

    在浏览器中上传文件后的Amazon S3响应正文

  18. 18

    AWS仅使用ID和密钥将文件上传到S3服务器

  19. 19

    Amazon S3 AWS 上传进度监听器

  20. 20

    反应本机AWS S3上传

  21. 21

    是否等效于具有Azure Blob存储的基于S3浏览器的POST策略?

  22. 22

    S3拒绝带有预签名URL的浏览器PUT-它认为它们是GET的

  23. 23

    在没有访问密钥/秘密的情况下提供对 S3 的访问?

  24. 24

    AWS S3 TransferService上传失败,没有错误

  25. 25

    如何在没有Cognito的情况下从iOS上传到AWS S3?

  26. 26

    AWS S3 TransferService上传失败,没有错误

  27. 27

    如何在没有AWS JavaScript SDK的情况下将文件上传到S3?

  28. 28

    从客户端浏览器直接上传Amazon S3文件-私钥披露

  29. 29

    如何通过NodeJS将文件上传到S3并在浏览器中跟踪进度?

热门标签

归档