【发布时间】:2020-06-03 03:03:43
【问题描述】:
如何确保仅从 Azure 媒体服务到特定域的点播流式传输?
例如如果您在 www.domain1.com 上使用 Azure 媒体播放器 - 您可以观看视频,但如果您在 www.whatever.com 上,则视频不应播放。
这是我尝试过的:
在分配的 Azure 存储帐户上设置 CORS - 没有帮助。所有响应似乎都有一个 * cors 标头。
在流端点上设置 IP 限制 - 没有帮助。 我仍然可以使用 azure 媒体播放器演示页面从不同的机器流式传输视频。 https://ampdemo.azureedge.net/azuremediaplayer.html?url=my_url_to_ism_manifest
更新关于 IP 限制 - 似乎需要一些时间才能生效。但现在我意识到这不是一个好的选择,因为没有办法知道我网站所有用户的 IP 地址。
据我了解,AMS 支持的其他内容保护机制(如 fairPlay、widivine 等)需要拥有令牌,这意味着用户应首先对我的网站进行身份验证。
但我不想对我网站上的用户进行身份验证,我只想让视频只有在你在我的网站上时才能播放。
【问题讨论】:
-
我认为
Content protection可以帮助你实现这个需求。 -
@Jason,我读过它们,但它们看起来都需要 STS,因此涉及某种登录/身份验证,我不想使用。
-
下面的 CDN 答案是最简单的,但如果您确实想走加密路线,您可以保护内容并让您的网站生成 JWT 令牌。媒体服务密钥传递服务器只关心令牌是否有效、具有正确的声明以及是否正确签名。无需从您的站点实际验证客户端。只需构建正确的 JWT 并将其嵌入播放器即可。
-
如果令牌没有过期,那就对了。但是,还有另一个选项可以使用参数 urn:microsoft:azure:mediaservices:maxuses 来防止重放保护,如 docs.microsoft.com/en-us/azure/media-services/previous/… 所述
标签: azure azure-storage azure-blob-storage azure-media-services azure-media-player