我正在开发一个 Web 应用程序,用户可以上传他们的文件,每个用户都可以设置上传文件的权限以访问其他用户。
我想使用 Azure File Storage 的 Azure Blob Storage 来保存上传的文件。
我需要在保存之前检查并验证上传的文件,尽管用户应该在 Web 服务器上上传他们的文件,然后 Web 服务器将验证文件并使用访问密钥将它们保存到 Azure 存储。
要使用SAS - Shared Access Signatures, Part 1: Understanding the SAS model中解释的方法访问文件,我想创建帐户 SAS 并在 Web 服务器上生成 URL,然后用户可以直接从 Azure 存储下载其可访问的文件。
这是示例 SAS 网址:
https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D
但是,如果用户直接与匿名用户共享 URL 怎么办:他们可以在过期日期之前访问文件,或者他们可以使用该 URL 访问其他文件(或不?)。
- 账户 SAS 可以限制对特定文件或文件夹的访问吗?
- 我可以使 SAS 服务器端过期吗?
- 在这种情况下,最好的解决方案是什么?