我有一个 Azure Blob 存储,其中包含按客户端编号分类的 pdf 格式的 blob。因此,对于每个客户,他们都有多个 pdf 报告。我只希望客户端能够访问其客户端号码的 blob。 (有数百个客户。)
我已经研究过,但只看到共享访问签名,但这看起来不像我需要的。
最佳答案
除了共享访问签名(和策略)之外,没有用户级 blob 权限。
将由您来管理对特定用户内容的访问(以及如何管理这实际上取决于您和您的应用,以及如何管理用户的内容元数据)。
提供指向用户内容的链接时:如果您假设所有内容始终都是私有(private)的,则只需在请求时创建按需 SAS 链接即可。用户无法修改 SAS 链接来猜测连续数字或相邻的 blob,因为 SAS 用于特定 URL。
正如 Andrés 建议的那样,您还可以使用应用程序来流式传输 Blob 内容,而不必担心 SAS。但是,您现在将消耗 Web 应用程序的资源(网络、CPU、内存),这将对应用程序的规模要求产生影响。您将无法再将其卸载到存储服务。
关于Azure Blob 存储文件级安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737802/