如何授予对私有s3存储桶中的对象的长期读取访问权

时间:2019-04-24 10:11:55

标签: amazon-web-services amazon-s3 aws-sdk

那么我有一项每天生成PDF文件的服务,我需要通过电子邮件共享此PDF文件的下载链接以发送给我们的客户。

我正在考虑将这些文件保存到s3存储桶中,但是我们需要确保这些下载链接始终有效,我经历了Amazon S3 Pre-Signed URLs,但是asfaik预先签名的网址仅对{{1}有效},但是链接应该一直有效,是否还有其他方法可以使s3对象获得更长期的访问权限?

2 个答案:

答案 0 :(得分:1)

不可能生成有效期超过一周的Amazon S3预签名URL。

从长远来看,您需要使用CloudFront签名URL,您可以为其设置到期日。

请参阅CloudFront文档中的Serving Private Content with Signed URLs and Signed CookiesUsing Signed URLs,并在“ Medium”中查看Using CloudFront Signed URLs to Serve Private S3 Content

答案 1 :(得分:0)

您可以创建一个自定义下载链接来访问您的后端服务(使用jwt或其他您选择的到期时间)。

在服务器上验证JWT之后,生成一个新的S3预签名链接(有效期短)并继续下载。