登录
首页 >  Golang >  Go问答

AWS S3 预签名 URL 访问控制

来源:stackoverflow

时间:2024-02-28 16:09:26 244浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《AWS S3 预签名 URL 访问控制》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

目前正在开发一个项目,该项目本质上涉及存储在 AWS S3 上的在线图库。当前的流程是前端网页发送对 EC2 上托管的 API 服务的请求,然后返回一个预签名的 URL。该服务将使用 Go 和 aws-sdk-go-v2。

URL 有时间限制,设置为 PUT 对象类型。不幸的是,我还没有弄清楚如何限制将要上传的文件的其他方面。理想情况下,URL 应该限制在它可以接受的范围内,仅限 IE 图像。

我的搜索得到了不同的结果,说这是可能的,不可能的,或者只是完全没有提到我正在做的事情。

关于设置 POST/PUT 策略有很多答案,但我认为它们要么适用于 V1 SDK,要么只是完全不同的语言。这里的答案甚至有一些库可以做到这一点,但我还不想诉诸于使用它,因为它需要将访问密钥放置在代码中或环境中的某个位置(尝试获得 EC2 的 IAM 的好处)自动化流程的角色)。

有人知道这在 SDK V2 上是否仍然存在吗?我有点想将其保留在 SDK 的 V2 上,只是为了保持一致性。

编辑:差点忘了。我发现 S3 也可以在上传完成后跟踪链接。这还有可能吗?如果可以验证某些内容已上传以便可以记录下来,那就太好了。


正确答案


在返回预签名 PUT URL 之前,您可以尝试通过后端 API 验证文件名。一个不太严格但可能很好的方法是在前端客户端中验证文件内容。

好了,本文到此结束,带大家了解了《AWS S3 预签名 URL 访问控制》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>