4

我们正在开发使用云中文件的不同客户端应用程序。文件必须通过安全的授权访问安全地存储在云中。此外,多个客户端应用程序必须可以同时通过临时 URL 读取这些文件。我们试图在 Azure 中实现这一点,但遇到了以下问题: - 当您将 blob 存储在私有容器中并生成共享访问密钥时,只有一个用户可以在特定时间读取该文件。系统是这样工作的:客户端应用程序要求 Web 服务器为该 blob 生成一个公共 URL 并将其返回以供使用。问题是如果一秒钟另一个客户端应用程序要求服务为同一个 blob 生成一个公共 URL。在那一刻,第一个变得无法使用。- 我们公开了容器,但我们无法保留 blob 的永久 URL

那么,我们如何为存储在私有容器中的同一个 blob 生成多个临时访问 URL(共享密钥或类似的)?将 URL 从 Windows Azure 传输到 Windows Azure 的最佳实践是什么,即使是临时的,例如 20 分钟,也不会被其他人捕获并重用它?任何解决方案都适用于未来的 CDN 集成吗?

我们感谢您的帮助。谢谢!

4

1 回答 1

0

您可以为 blob 生成多个共享访问签名,并且它们都可以同时使用。每次生成新的共享访问签名时,听起来您可能无意中撤销了旧的存储访问策略。通过保留(并可能重复使用)旧的存储访问策略来解决问题。有关更多信息和示例代码,请参阅这些链接:

http://msdn.microsoft.com/en-us/library/windowsazure/jj721951.aspx

http://msdn.microsoft.com/en-us/library/windowsazure/ee393341.aspx

为了保护共享访问签名,您应该通过加密通道将其从服务器发送到客户端。为此使用 SSL 或类似的。

我不相信 CDN 解决方案可以帮助您满足您的要求。

于 2013-09-26T01:07:09.613 回答