Microsoft Azure blob存储安全性

Microsoft Azure blob存储安全性,azure,azure-storage-blobs,blobstore,Azure,Azure Storage Blobs,Blobstore,我们正在使用MSAzure并开发基于SAAS的多租户应用程序 对于每个租户,我们都有BLOB容器专用并分配给每个租户 此外,还要求客户端可以与其他客户端用户共享文件 例如 客户端C1有容器“C1”,它有文件“C1f1”、“C1f2”和“C1f3” 用户U1和U2。U1具有C1f1的访问权限,U2仅具有C1f2访问权限 我们如何在MS Azure许可或安全中做到这一点?这需要在短时间内完成吗 请建议如何做到这一点-最好的方法是什么我相信您有两种选择 为每个具有正确权限的客户端/用户生成并使用SAS

我们正在使用MSAzure并开发基于SAAS的多租户应用程序

对于每个租户,我们都有BLOB容器专用并分配给每个租户

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

例如

  • 客户端C1有容器“C1”,它有文件“C1f1”、“C1f2”和“C1f3”
  • 用户U1和U2。U1具有C1f1的访问权限,U2仅具有C1f2访问权限
  • 我们如何在MS Azure许可或安全中做到这一点?这需要在短时间内完成吗


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

    我相信您有两种选择

    为每个具有正确权限的客户端/用户生成并使用SAS令牌。使用SAS令牌,您可以在特定时间点内提供对特定资源的访问。缺点是不能基于每个令牌撤销SAS令牌。您只能通过滚动用于生成SAS令牌的存储访问密钥来撤销所有令牌。另一个缺点是,您必须为每个要授予访问权限的项目提供SAS令牌。(有关更多信息,请参见)


    创建一个封装Azure存储并向客户提供文件的Web服务。在此服务中,您可以自己实现授权管理

    一个后续问题:用户是否特定于客户端?在上面的示例中,是否可以假设用户U1和U2属于客户机C1?blob存储是一种基础结构,不是按照您的要求构建的—构建一个管理访问控制的应用程序层,而不是直接使用存储访问机制,将是更明智的做法