繁体   English   中英

是否可以在Azure存储Blob或容器上设置持久权限?

[英]Is it possible to set durable permissions on an Azure storage blob or container?

我已经使用.NET一段时间了,但是直到现在才过渡到Azure。

作为我的第一个云项目的一部分,我有一个多用户文档方案。 文档将存储为BLOB,并且每个用户都需要访问自己的文档,而其他人则不能访问。 此外,还有可以访问所有文档的更高级别的组(Admins)。 所有用户都将通过身份验证。

我的问题是:是否可以将允许用户列表直接附加到BLOB,还是需要将其存储在其他位置(在表存储或数据库中)? 我找到了大量有关如何通过“共享访问”签名授予临时客户端访问权限的文档,但是没有关于更永久的“文件”权限的文档。

如果要在Blob上提供访问控制,最好的选择是使用ACS和DB。 您可以为特定用户提供文件访问权限,并将这些访问权限保存到数据库中。 这可以用作您请求的持久许可。

您可以看一下BlobShare示例,它是一个简单的文件共享应用程序,演示了Windows Azure平台的存储服务以及访问控制服务(ACS)的身份验证和授权功能。

http://blobshare.codeplex.com/

Blob没有内置的每用户访问控制。 Blob存储API服务在使用私有Blob时仅具有一种安全机制:帐户密钥(主密钥或辅助密钥都相同)。 共享访问签名实际上只是通过URL提供临时访问的一种方式。 如果您在Web层或业务层中进行了所有用户级授权,则该层可以直接访问Blob,并将其直接返回给用户(通过IIS,tomcat,Web服务或您选择的任何其他机制)。

由于Windows Azure存储没有ACS机制,因此您需要使用与应用程序中任何其他用户级访问所使用的方案类似的方案。

您可以利用共享访问签名。 有关共享访问签名访问的更多详细信息

http://msdn.microsoft.com/zh-cn/library/windowsazure/ee395415.aspx致敬,维杰。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM