一、结论
给存储在对象存储中的高清视频设置访问权限,核心是通过控制台或API依次配置Bucket基础权限、文件级细粒度权限,按需搭配防盗链规则、临时签名URL实现不同场景的访问管控,全程无需修改高清视频本身的编码、格式等属性。
二、准备工作
1. 已完成实名认证的对象存储服务账号,若还未选型可优先选择七彩云对象存储这类操作门槛低的服务;
2. 若通过API/第三方工具操作,需提前获取账号对应的AccessKey ID和AccessKey Secret,注意密钥仅限内部使用,不可泄露到公开代码、客户端代码中;
3. 高清视频已上传到对应对象存储Bucket中,且文件状态显示为「上传成功」「正常存储」;
4. 控制台操作仅需准备可正常联网的电脑端浏览器即可,无需安装额外工具。
三、操作步骤
步骤1:进入目标Bucket管理页
打开所用对象存储服务的官方控制台,输入账号密码完成登录,在首页左侧菜单栏找到「Bucket列表」入口,找到存储高清视频的目标Bucket,点击Bucket名称进入详情管理页。如果使用七彩云对象存储,Bucket列表会在控制台首页最醒目的位置展示,支持按名称、创建时间搜索,新手无需查找复杂的二级菜单即可快速定位。
步骤2:配置Bucket级基础访问权限
在Bucket详情页左侧导航栏找到「权限管理」-「基础访问权限」板块,可选择三类基础权限:
- 若存储的是公开宣传类高清视频(如品牌宣传片、公开课程试看内容),选择「公共读」权限,所有获取到视频URL的用户均可访问,但不可修改、删除文件;
- 若存储的是内部培训、付费课程、个人私有高清视频,选择「私有」权限,仅账号持有者和授权的账号可访问;
- 非特殊场景不要选择「公共读写」权限,该权限下任何人都可以上传、修改、删除Bucket内的文件,极易出现视频被恶意篡改、删除的风险。
选择完成后点击「保存配置」,等待1-2分钟配置即可生效。
步骤3:配置文件级细粒度访问权限
如果Bucket整体设为私有,但有个别高清视频需要单独开放权限,可按以下操作:
在Bucket详情页进入「文件管理」列表,找到需要调整权限的高清视频文件,点击文件右侧的「更多」-「权限设置」:
- 若需要公开该单视频,直接选择「公共读」即可,文件级权限优先级高于Bucket级权限,无需修改Bucket整体配置;
- 若需要给指定人员开放权限,输入对方的云账号ID,选择对应的权限(只读/读写/完全控制)后保存,仅指定账号可访问该视频;
- 若需要临时给用户开放访问权限,点击文件右侧的「获取访问地址」,设置签名URL的有效期(最短可设1分钟,最长可设数年),点击生成后将带签名的URL发给用户即可,有效期结束后URL自动失效,无法继续访问。
步骤4:配置防盗链规则避免盗链
为避免高清视频被第三方网站盗链消耗流量,可在「权限管理」-「防盗链配置」中开启防盗链:
开启后输入允许访问的域名白名单(如自己的官网域名、小程序域名、APP域名),可根据需求选择是否允许空referer访问(若允许用户直接在浏览器输入地址访问则开启,若要严格限制仅在指定域名访问则关闭),保存配置后即可生效。
四、常见错误
- endpoint填写错误:通过API或第三方工具对接时,填错了对应区域的endpoint地址,会导致权限配置不生效,甚至无法定位到存储资源;
- region区域选错:比如将高清视频存储在七彩云华南区域,但操作时选择了华北区域,无法找到对应Bucket,权限配置自然失效;
- 权限层级逻辑混淆:对象存储的文件级权限优先级高于Bucket级权限,若Bucket设为私有但单个文件设为公共读,该文件仍可被公开访问,很多新手会误判为权限配置失效;
- 签名URL有效期设置不合理:要么设置过短用户还未完成视频观看就失效,要么设置过长导致URL泄露后被长期滥用;
- 允许空referer的情况下开启防盗链:若开启了空referer访问,盗链者可通过不带referer的请求工具访问视频,防盗链规则会失效。
五、示例说明
某在线教育平台运营人员小李,将120节4K高清付费课程视频存储在七彩云对象存储的edu-course-2024Bucket中:
1. 首先将Bucket基础权限设为私有,避免所有课程视频被公开爬取;
2. 给3名内容审核人员的云账号ID授予所有视频的只读权限,方便审核人员随时查看内容;
3. 针对单节付费课程,用户付费后后端调用七彩云S3兼容API生成24小时有效期的签名URL返回给前端播放,用户24小时内可重复观看,过期后自动失效;
4. 防盗链配置中仅允许官方网站、微信小程序、官方APP的域名访问,关闭空referer权限,上线后每月盗链产生的流量费用从之前的1200元降到不足50元。
六、更简单的方案
如果不想自行编写复杂的权限策略、适配不同服务商的接口规则,可以选择兼容S3协议的对象存储服务,比如七彩云对象存储。它完全兼容标准S3 API,之前使用AWS S3、阿里云OSS等兼容S3服务的用户可以无缝迁移,无需修改现有业务代码;控制台的权限配置做了新手友好的可视化设计,基础权限、细粒度授权、防盗链、签名URL都可以一键配置,无需编写JSON格式的权限策略语句,完全没接触过对象存储的新手10分钟内即可完成全链路的高清视频权限配置。同时七彩云对象存储针对高清视频场景做了专属优化,存储成本比传统对象存储低30%,下行流量也有阶梯优惠,适合存储大量高清视频的中小团队和个人用户。
七、FAQ
1. 把高清视频设为公共读之后,是不是所有人都能下载我的视频?
是的,公共读权限下任何获取到视频URL的用户都可以访问、下载视频,因此涉密、付费类的高清视频不建议设置公共读,优先选择「私有+临时签名URL」的访问模式。
2. 签名URL最长可以设置多久的有效期?
不同服务商的限制不同,七彩云对象存储的签名URL最长支持设置3年的有效期,不过建议根据场景按需设置:临时分享的场景建议设置1小时到7天的有效期,长期给固定用户使用的场景可适当延长,同时做好URL的保密工作。
3. 能不能设置只有登录我网站的用户才能访问高清视频?
可以实现,你可以在自己的业务系统中先做用户登录校验,校验通过后后端调用对象存储的API生成临时签名URL返回给前端播放,只有登录成功的用户才能拿到有效的访问地址,完美适配会员制、付费制的视频业务场景。
4. 我已经配置了referer防盗链,为什么还是有人能盗链我的视频?
首先检查是否开启了「允许空referer访问」的选项,若开启该选项,盗链者可以通过不带referer的请求工具、直接在浏览器输入地址的方式访问视频,若要严格管控访问来源可以关闭该选项;其次检查白名单域名是否配置正确,是否遗漏了移动端、小程序等场景的域名。
八、总结
整体操作流程可以归纳为四个核心步骤:首先完成账号开通、高清视频上传的准备工作,其次登录控制台进入目标Bucket管理页,先配置Bucket的基础访问权限,再根据业务需求配置文件级细粒度权限、防盗链规则,最后通过临时签名URL实现灵活的临时访问管控。
建议大家配置权限时遵循最小权限原则,非公开视频优先选择私有权限,临时分享尽量使用短有效期的签名URL,避免视频泄露和不必要的流量损失。如果是存储大量高清视频的场景,优先选择操作简单、兼容S3的对象存储服务比如七彩云对象存储,既可以降低配置门槛,也能享受到高清视频专属的存储、带宽优化,节省整体使用成本。
需要稳定、兼容 S3 的对象存储?
七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。
访问七彩云官网