【问题标题】:Azure Shared Access Signatures To Restrict AccessAzure 共享访问签名来限制访问
【发布时间】:2013-05-29 22:49:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: security azure azure-blob-storage azure-cdn


    【解决方案1】:

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

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

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

    【讨论】:

    • 那个教程真的很有帮助,谢谢。现在我想我还必须为需要存储在“blob 存储”上的资产才能检索 SAS 令牌的应用程序创建一个服务。由于不必存储在存储中,因此我可以使用防火墙或使用凭据来限制对此的访问。这部分通常是怎么做的?另外,你知道是否有办法制作一个没有过期的 SAS 令牌?感谢您迄今为止的帮助。
    • 如果您的应用程序是 source 检索 blob,它不需要任何 SAS - 它只需连接存储名称 + 密钥。事实上,包装存储 REST API 的每个单一语言 SDK 都采用由命名空间+密钥组成的连接字符串(并且此密钥对您来说是私有的 - 永远不要泄露它;您可以随时重新生成它,但只是......不要不要放弃它)。对于未到期的 SAS,只需将“截止”日期设为 2030 年 1 月 1 日,并希望您没有 Y2.3K 错误。 :)
    • 您需要 SAS 的唯一情况是向某人提供 blob URI,并且该 blob 是私有。例如,如果您将月度报表 PDF 存储在 blob 存储中,这将非常有用。用户正在查看他们的页面,想要查看他们的月度报表。您可以将 blob 下载到您的 VM 并将其流式传输到用户的浏览器,或者......只需为 pdf 生成一个 SAS,例如 10 分钟,将 URI 插入到 <a> 标签中,然后让用户单击检索(而不是用尽 VM 的带宽,而是直接访问存储服务)。
    • 是的,遥远的未来日期是有道理的。我的应用程序不是检索 blob 的源,这将由基于 Web 的应用程序的多个页面完成。他们需要安全地访问资产,直到项目上线并且他们可以放弃代币。我会想办法的。再次感谢。
    【解决方案2】:

    我从 MSDN 上的“Overview of the Windows CDN”页面了解到,只有公开可用的 blob 才能使用 Windows Azure CDN 进行缓存。要使 blob 公开可用于匿名访问,您必须将其容器表示为 public。执行此操作后,该容器中的所有 Blob 都将可供匿名读取访问。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2014-09-22
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多