2016-08-06 72 views
-1

我们正在使用MS Azure并开发基于SAAS的多租户应用程序。Micorsoft Azure blob存储安全性

对于每个租户,我们都有BLOB Container Private并分配给每个租户。

此外还要求客户端可以与其他客户端用户共享文件。

例如,

  1. 客户端C1有容器“C1”,它有文件“C1f1”,“C1f2”和“C1f3”。
  2. 用户U1和U2。 U1具有C1f1的访问权限,而U2只具有C1f2访问权限。

我们如何在MS Azure许可或安全中做到这一点?这需要完成RUNTtime?

请建议如何才能做到这一点 - 什么是最好的办法

+0

一个后续问题:用户是否特定于客户?在你上面的例子中,是否可以假定用户U1和U2属于客户端C1? –

+0

Blob存储是一种基础架构,不是为您所要求的内容构建的 - 构建一个管理访问控制的应用层而不是直接使用存储访问机制 – yonisha

回答

1

我相信你有两个选择。

以正确的权限为每个客户端/用户生成和使用SAS令牌。使用SAS令牌,您可以在特定时间点访问特定资源。缺点是SAS令牌不能在每个令牌的基础上被撤销。您只能通过滚动用于生成SAS令牌的存储访问密钥来吊销所有令牌。另一个缺点是您必须为每个要授予访问权限的项目提供SAS令牌。 (欲了解更多信息,请参阅https://azure.microsoft.com/nl-nl/documentation/articles/storage-dotnet-shared-access-signature-part-1/

创建封装Azure存储并向客户提供文件的Web服务。在这个服务中你自己实现授权管理。