【发布时间】:2017-01-18 18:53:29
【问题描述】:
我正在开发一个网络应用程序,用户可以上传他们的文件,每个用户都可以设置上传文件的权限以访问其他用户。
我想使用 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 服务器端过期吗?
- 在这种情况下最好的解决方案是什么?
【问题讨论】:
标签: azure asp.net-web-api azure-blob-storage azure-sdk-.net azure-storage-files