【问题标题】:Azure CDN per Blob SAS每个 Blob SAS 的 Azure CDN
【发布时间】:2014-01-25 16:51:47
【问题描述】:

据我所知,在 Azure 存储中,我们可以在 CONTAINER 基础上使用 SAS 将我们存储的访问权限委托给单个人。

我需要基于每个 BLOB 委派访问权限以防止盗链。

我们正在使用 Asp.Net MVC。对不起我的英语:)

编辑: Azure 新用户如何创建 CDN?

【问题讨论】:

  • 您是否在单个 blob 上寻找 SAS?
  • 是的,你绝对正确!

标签: azure cdn


【解决方案1】:

因此,您可以在 blob 上创建 SAS。该方法类似于在 blob 容器上创建 SAS 的方式。由于您使用的是 ASP.Net MVC,我假设您希望使用 .Net Storage Client API 在 blob 上创建 SAS。要在 blob 上创建 SAS,只需在您创建的 blob 对象上调用 GetSharedAccessSignature 方法即可。

例如,下面的代码将为您提供一个用户有权下载 blob 的 SAS URL:

var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
    {
        Permissions = SharedAccessBlobPermissions.Read,
        SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5),
        SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(15),
    });
    return string.Format(CultureInfo.InvariantCulture, "{0}{1}", blob.Uri, sas);

我前段时间写了一篇博文,更详细地描述了 Blob 和容器上的 SAS 功能:http://gauravmantri.com/2013/02/13/revisiting-windows-azure-shared-access-signature/

关于您关于 CDN 的问题,我相信在宣布新门户时,创建 DSN 节点的功能已从 Windows Azure 门户中删除。我想您需要等待门户网站上再次出现该功能。

【讨论】:

  • 一次可以存在多少个 SAS 策略?我们需要将每个 blob 读取权限委派给 1000 名用户。
  • 因此,如果您使用“ad-hoc”SAS 令牌,则没有限制。但是,如果您使用的是策略标识符,则每个 blob 容器最多可以有 5 个策略标识符。这意味着如果您在策略标识符中定义所有规则,则每个容器最多可以有 5 个 SAS。
猜你喜欢
  • 1970-01-01
  • 2016-09-12
  • 2016-01-31
  • 2016-05-29
  • 1970-01-01
  • 2014-07-28
  • 2019-07-09
  • 1970-01-01
  • 2017-04-05
相关资源
最近更新 更多