我已经创建了 Blob 容器并关联了一个 CDN,一切正常。我想实现以下目标。

  • 没有人应该能够使用 blob.core.windows.net url 访问 blob 内容。
  • 内容应该只能使用 CDN 访问。

  • 如果我将容器设为私有(private),即使 CDN 也无法访问内容。如果我将容器设为公开,内容也可直接访问。

    在 AWS 世界中,访问策略很有可能。

    最佳答案

    这可以通过私有(private)容器和 SAS url 实现。当客户使用 sas 键请求 CDN url 时,如果尚未缓存,CDN 将使用 SAS url 从 blob 请求 Assets 。

    如果您希望对最终客户完全隐藏 SAS token ,您可以使用 Verizon Premium 配置文件并使用 URL 重写规则从 CDN 端添加 SAS token 。

    关于 SAS 的附加信息:https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1#what-is-a-shared-access-signature

    CDN 重写的附加信息:https://docs.microsoft.com/en-us/azure/cdn/cdn-rules-engine-reference-features#url-rewrite

    关于azure - 限制 Azure Blob 容器对 Azure CDN 的访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43287403/

    10-15 03:45