【发布时间】:2018-07-24 10:00:04
【问题描述】:
我们有一个 ASP.NET Core v1.1 Web 应用程序,它显示存储在 Azure Blob 存储服务中的受保护图像。我们通过使用在未来 36 小时到期的共享访问签名 (SAS) 来实现这一点。
我们将此 SAS 存储在内存中长达 18 小时(滑动到期 6 小时,绝对到期 18 小时),以避免重复调用 blob 服务。自 10 月以来一直在生产,没有问题,但最近在过去一周中,我们遇到了客户报告损坏图像的问题。清除缓存可以解决问题。
我们的短期解决方法是将缓存缩短到最多 5 分钟,但我不确定如果 SAS 有效期为 36 小时,我们为什么需要这样做?
所以,我的问题是:
- SAS 是否有可能比预期的更早到期?
- 像我描述的那样缓存 SAS 是否安全,或者我应该为每个请求请求一个新签名?
【问题讨论】: