首页 > 解决方案 > 如何保护 azure blob 存储 url 不被任何使用开发人员工具的人检索

问题描述

我必须将图像/视频保存在 azure blob 中,然后在我的网站中使用它们。在做了一些研究之后,我发现你必须在 href 标记中包含 blob url,才能从 azure 中检索图像/视频。

然而,任何人都可以打开站点页面并获取该 blob url 并滥用它。该站点还具有用户身份验证,因此只有在登录后用户才能在站点页面上看到该图像/视频。

有没有其他方法可以从 azure 中检索 blob?或者在开发人员工具中公开可见的网址的任何其他解决方案?

我目前正在使用带有 Visual Studio 的 azure 模拟器。

显示存储为 blob 的视频的测试站点示例

标签: azureurlhtml5-videoblobazure-blob-storage

解决方案


不确定问题是否有效,但另一种非常简单的方法可能是

  1. 将自定义域与您的存储端点一起使用
  2. 将您的 blob 和容器设为私有
  3. 使用后端基础设施,生成一个共享访问令牌,该令牌应仅在短时间内有效。
  4. 使用 SAS 生成 blob url。

如果您需要一起隐藏结构,所有步骤都可以与@rick 回答中提到的功能结合使用。

要理解的一点是视频流需要去浏览器播放器,所以不可能有完美的计划。上面的选项也只会对访问进行时间限制。可能还有其他一些选项,例如服务器发送加密内容的消息层加密,并将在运行时解密您需要有一些自定义播放器功能,这可能会在服务器端产生更高的费用..

如果他有技能和高积极性,即使这也不会成为盗版视频的用户,但会以某种方式使其变得困难,这应该是这里的驱动点。

参考:https ://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1


推荐阅读