私有权限的Bucket或Object需要携带签名URL进行请求,同时签名URL地址存在有效期的烦恼,即需要不停地获取签名URL,并放到实际业务中访问。本文主要介绍OSS如何在私有的读写权限环境下,如何应用到业务中。
OSS权限利弊介绍
公共读权限
优点:简便性高,无需携带请求参数,无有效期烦恼。
缺点:安全性低,当遇到恶意请求时,易出现高额账单。
私有权限
优点:安全性高,每次请求都需要签名校验。
缺点:使用复杂度高,需结合自身业务,频繁获取签名地址进行请求。
业务场景介绍
网站业务:通过OSS存储静态文件(如:图片、视频等),通过网站OSS地址进行访问。如图-视频放到网站中

解决方案
整理如下几个解决方法:
CDN + OSS【推荐】
OSS开启私有读写权限,同时CDN开启“私有Bucket回源”功能。通过这个方式,CDN域名无需签名的URL地址进行请求到OSS资源,也可以实现避免恶意客户端请求到公共读的OSS上,并产生大量流量。【将OSS访问路径引到CDN侧,同时实现加速】
CDN防护,通过CDN配置进行拦截【通过CDN实现拦截】
通过访问控制的功能(IP黑白名单、Refer防盗链、鉴权URL等)进行拦截。访问控制概述
通过带宽封顶的功能进行防护,结合实际日常业务带宽量配置,触发阈值时,域名下线(即无法访问)。配置带宽封顶
DCDN WAF,通过DCDN WAF进行防护(如已添加CDN,可控制台一键升级DCDN),DCDN-WAF可以配置频次控制和Bot防护等功能,有效拦截恶意请求,避免大额异常流量费用产生。边缘WAF概述(新版)
ECS + OSS
ECS进行反向代理,访问链路是:客户端 -> ECS -> OSS,OSS开启私有权限,ECS通过反向代理方式请求到OSS。使用ECS实例反向代理OSS
ECS获取签名URL,访问链路是:客户端 -> ECS -> 客户端 -> OSS。
客户端请求应用服务器,获取签名URL地址。
客户端通过签名URL地址,访问OSS,过期后需重复获取。