3

我们刚刚开始使用 Azure,我正在尝试处理一些安全问题。

我们正在开发一个主要是 javascript 的网络应用程序。我们希望将 javascript 存储在 blob 存储/CDN 中。但在我们发布它之前,我们只希望我们的办公室可以访问。我了解我无法为 Azure blob 创建防火墙规则,因此限制对我们办公室 IP 的访问已失效。

从我读过的内容来看,共享访问签名可能是要走的路。有人可以确认这是一个有效的方向吗?另外,有人可以指出我应该考虑什么机制来限制对这些容器的访问。即一种将令牌限制为仅限我们开发人员的方法。

我知道这可能会让人觉得很弱,但我真的不知道 MS 如何处理来自纯粹 *nix 世界的事情。所有的教程都有几行代码,说明如何使用 SAS 访问内容,但首先设置策略的内容不多。此外,这种方法是否适用于 CDN?

4

2 回答 2

4

共享访问签名作为查询字符串实现,其中包含链接上的有效起始/终止时间以及哈希。

您可以通过任何语言在任何 blob 上创建 SAS。例如,这是一个Java 教程。此时,您可以将生成的链接嵌入到您的网页中。应该像普通网址一样工作。

SAS 不适用于 CDN,因为 CDN 仅适用于公共 blob。

于 2013-06-03T17:59:14.497 回答
4

我从 MSDN 上的“<a href="https://azure.microsoft.com/en-us/documentation/articles/cdn-overview/" rel="nofollow">Overview of the Windows CDN”页面的理解是只有公开可用的 blob 才能使用 Windows Azure CDN 进行缓存。要使 blob 公开可用于匿名访问,您必须将其容器表示为 public。执行此操作后,该容器中的所有 blob 都将可用于匿名读取访问。

如果对容器的公共访问设置为启用读取访问,则任何使用具有 blob 容器 url 的匿名用户都可以读取该容器中的所有 blob。READ 访问权限不会自动授予对容器的 WRITE、DELETE 或 LIST 访问权限。

如果 blob 容器是公共的,那么创建共享访问签名或存储访问策略也不会阻止该公共访问。如果要使用共享访问签名或存储访问策略控制对容器的访问,则必须将公共访问设置为关闭。这在“<a href="http://msdn.microsoft.com/en-us/library/windowsazure/dn246928.aspx" rel="nofollow">使用 Java 控制对 Windows Azure Blob 容器的访问”和其他地方进行了讨论在 MSDN 上。

于 2013-06-03T18:18:49.603 回答