Azure 存储防火墙和虚拟网络 - 如何防止未经授权的访问

Azure Storage Firewall and Virtual Networks - how to prevent unauthorized access

在 Azure 存储中有一个名为防火墙和虚拟网络的部分。我可以知道我是否可以将它用于以下用例吗?

  1. 我有一个视频上传到blob,我只需要一组已登录应用程序的选定用户观看我的视频。

  2. 我的 WebAPI 应用程序托管为 Azure WebApp。我可以使用托管 WebApp 的 IP 地址在下面的防火墙和虚拟网络部分创建规则,仅当用户通过 WebApp 请求 URL 时才允许访问存储。(假设 [=31= .mp4 )

  3. 如果用户复制视频的 URL(通过检查 HTML 代码),并将其粘贴到浏览器上,用户将能够查看作为请求的视频不是通过 WebApp 发送的?

注意:总的来说 objective 是为了防止用户复制 URL(通过检查 HTML 代码)并下载或观看视频。

防火墙和 VNet NSG 将是网络级限制,因此它们不会为您提供您正在寻找的用户级限制。您可以使用它们来限制您的表面积,但要实现您的要求,您需要实现身份验证。

Azure Blob 存储支持共享密钥、共享访问签名 (SAS)、Azure Active Directory (AAD)、Active Directory 目录服务 (ADDS) 和匿名 public 访问。最安全的方法是通过用户委派实现 AAD。如果您无法在 AAD 中存储此应用程序的用户,那么您应该查看 SAS。 SAS 令牌可以是有时限的,并且仅限于某些 IP 地址。

此外,您应该看看 Azure Media Player。 Microsoft Azure 媒体服务 (AMS) 是一个可扩展的基于云的平台,使开发人员能够构建可扩展的媒体管理和交付应用程序。媒体服务基于 REST API,使您能够安全地上传、存储、编码和打包视频或音频内容,以便点播和实时流式传输到各种客户端(例如,电视、PC 和移动设备)。

友情链接 https://docs.microsoft.com/en-us/azure/storage/common/authorize-data-access https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-content-protection-overview

我相信您可以为您的项目使用 app service Vnet integration 功能来限制对存储帐户的网络访问。