限制 Azure Blob 容器对 Azure CDN 的访问

Restrict Azure Blob Container access to Azure CDN

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

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

如果我将容器设为私有,即使 CDN 也无法访问内容。如果我制作容器 public,内容也可以直接访问。

在 AWS 世界中,使用访问策略是很有可能的。

这可以通过私有容器和 SAS url 实现。当客户使用 sas 密钥请求 CDN url 时,如果尚未缓存,CDN 将使用 SAS url 从 blob 请求资产。

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

有关 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