如何处理Blob安全性用户特定

时间:2019-03-25 20:35:10

标签: azure azure-storage

我有一个文档管理应用程序,用户可以在其中上传文档,并将其保存在天蓝色的blob中。我想知道如何管理特定于用户的Blob访问。支持用户A创建文档并上传到天蓝色的Blob,用户B应该无法访问它

1 个答案:

答案 0 :(得分:0)

@David Makogon指出我的信息可能不清楚。所以让我重写它

要解决您的问题,您将需要结合使用Azure和您的应用程序。 解决它的方法是。

  1. 当用户上传文件时,创建具有私有访问权限的Blob容器,并将其命名为用户ID。

  2. 然后上传实际文件,您可以通过两种方式处理该文件:第一种方法是直接通过您的应用程序上传,第二种方法是您可以使用SAS tokens(因此,您将获得具有写权限的url和具有此链接可以写入到该文件夹​​的原因,这就是为什么我建议按时间限制它,并且IP,SAS提供这种可能性),然后您的支持者将返回带有令牌的生成的url,客户端可以在其中上传文件(直接从用户计算机上传)< / p>

  3. 以同样的方式,如果用户要下载文件,则需要将请求发送到您的应用程序以获取下载链接(在使用SAS的情况下,您可以创建令牌,以便用户可以访问其容器,这也阻止用户修改url ,因为如果这样做,由于为该特定文件创建了令牌,它们将被拒绝)。

Azure具有RBAC,但是您可以授予全部阅读权限,并写出所有您不需要的内容。