在我的应用程序中,我们必须使用直接pdf
存储区s3
点击图标,在新标签页中打开一些url
个文件,如下所示:
http://MyBucket.s3.amazonaws.com/Certificates/1.pdf?AWSAccessKeyId=XXXXXXXXXXXXX&Expires=1522947975&Signature=XXXXXXXXXXXXXXXXX
我觉得这样做并不安全,因为用户可以看到广告管理名称AWSAccessKeyId
,Expiration
和Signature
。这仍然被认为是安全的吗?或者有更好的方法来解决这个问题吗?
答案 0 :(得分:2)
允许用户查看这些参数不是问题,因为;
但我有两个建议给你; 1.使用您自己的域,因此存储桶不可见(如果您使用CloudFornt,则可以使用AWS提供的免费SSL),2。使用HTTPS而不是普通HTTP。
如果由于任何原因您绝对不希望您的用户看到AWS参数,那么我建议您通过自己的API代理对S3的访问。 (虽然我认为没必要)
答案 1 :(得分:1)
我看到您使用http访问(没有SSL)。您可以使用S3为多个域执行虚拟主机托管。
https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
并根据您的域名创建签名网址,您就可以开始使用了。
如果您使用的是SSL,则可以使用Cloudfront
并将cloudfront origin配置为指向您的S3存储桶。
希望它有所帮助。