gpt4 book ai didi

node.js - 在哪里存储凭据?

转载 作者:搜寻专家 更新时间:2023-11-01 00:28:43 24 4
gpt4 key购买 nike

我正在构建一个包含图像上传功能的应用程序,并且我决定使用 AWS S3 作为文件存储服务。为了将图像上传到 AWS s3,您需要向 API 提供该服务的凭据。为了保证这些凭据的安全,我决定将它们存储在我自己的服务器中,并且仅在客户需要上传图像时才将它们提供给他们。

以下是我上传图片的流程:

  1. 客户端从相机胶卷中选择图片并点击上传按钮

  2. 该应用向我自己的服务器发出请求,并通过图像托管服务 (AWS s3) 的访问 key 获得响应

  3. 客户端现在可以将图像上传到 AWS s3。上传完成后,凭据将从客户端中删除。

我的问题是:

  1. 这样做安全吗? - 是否有更好的方法来处理这个问题?

  2. 我应该将凭据存储在服务器的什么位置以保证它们的安全?我的意思是我应该将它们存储在文件中、数据库中还是代码中?

*我使用 graphql/expressjs 作为后端,使用 react native 作为前端。

最佳答案

1) 这样做安全吗? - 有没有更好的方法来处理这个问题?

-- 不,它不安全,您应该生成签名的 url 并将其发送给您的客户端,客户端将使用该签名的 url 直接发布到 s3。( http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html )

2) 我应该将凭据存储在我的服务器中的什么位置以保证它们的安全?我的意思是我应该将它们存储在文件中、数据库中还是代码中?

-- 始终将凭据存储在 aws parameter store 或 hashicorp 保险库中,当应用程序启动时,调用它并获取凭据。

( https://aws.amazon.com/ec2/systems-manager/parameter-store/ )

( https://www.vaultproject.io/ )

关于node.js - 在哪里存储凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47109674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com