繁体   English   中英

Azure共享访问签名限制访问

[英]Azure Shared Access Signatures To Restrict Access

我们刚刚开始使用Azure,我正试图解决一些安全问题。

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

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

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

我对MSDN上“ Windows CDN概述 ”页面的理解是,只有公开可用的blob可以使用Windows Azure CDN进行缓存。 要使Blob公开可用于匿名访问,您必须将其容器表示为公共容器。 执行此操作后,该容器中的所有blob都可用于匿名读取访问。

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

如果blob容器是公共的,那么创建共享访问签名或存储的访问策略也不会阻止该公共访问。 如果要使用共享访问签名或存储的访问策略来控制对容器的访问,则必须将公共访问权限设置为OFF。 这在“ 使用Java控制对Windows Azure Blob容器的访问 ”和MSDN上的其他地方进行了讨论。

共享访问签名是作为查询字符串实现的,包含链接上有效的自/次时间以及哈希。

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

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

暂无
暂无

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

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