本文为您介绍URL鉴权的工作原理。
为了保障监控视频流上云的安全性,防止推流域名/播流域名被非法盗取,内容被未经授权方播放,视图计算产品默认会对推流域名(RTMP推流使用),播流域名(RTMP、国标GB28181)进行URL鉴权。
通过防盗链方法添加 Referer 黑名单的方式可以解决一部分盗链问题。但是,由于 Referer 内容可以伪造,所以Referer 防盗链方式无法彻底保护站点资源。因此,采用URL鉴权方式保护用户监控资源更为安全有效。
工作原理
URL鉴权功能通过阿里云接入节点(监控设备的接入)和CDN加速节点与客户业务服务(客户的业务服务用来进行实时监控流、历史监控流的组织管理等操作)配合,实现了一种更为安全可靠的监控资源防盗方法。
客户业务服务端提供加密 URL(接入流/播放流URL,包含权限验证信息)。
您使用加密后的 URL 向阿里云接入点(监控流接入)或CDN加速节点(监控流播放)发起请求。
接入点或CDN加速节点对加密 URL 中的权限信息进行验证以判断请求的合法性。正常响应合法请求,拒绝非法请求。
操作步骤
在 视图计算 控制台页面下的 空间管理 页,选择一个空间,单击 空间配置。
如果是RTMP协议接入,在推流域名和播放域名后面,单击 域名配置 分别配置URL鉴权,如果是国标GB28181协议接入,仅需配置播放域名的URL鉴权。
在 域名配置 信息中,选择
,填写 鉴权KEY 和 鉴权时间 来进行URL鉴权的设置。
备KEY用来进行备份,应用在主KEY被盗时,用备KEY生成新的鉴权URL进行替换。
生成鉴权URL Demo:填写原始URL、鉴权KEY和有效时间,系统生成一个完整的鉴权URL。此操作仅仅是操作示范,供您了解URL的完整格式,此鉴权URL不能直接进行使用。
以RTMP播流URL鉴权为例:
如果是其他播放协议HTTP FLV,HLS或者推流URL鉴权,请在原始URL中输入对应的信息:
RTMP推流:
rtmp://pushtest.aliyun.com/live/firststream
HTTP FLV播放:
http://companytest.aliyunlive.com/live/firststream.flv
HLS播放:
http://companytest.aliyunlive.com/live/firststream.m3u8
鉴权代码示例
视图计算的URL鉴权规则与视频直播URL鉴权原理类似,您可以参考鉴权代码示例。