OSS开启私有权限后,如何应用到业务上。

私有权限的BucketObject需要携带签名URL进行请求,同时签名URL地址存在有效期的烦恼,即需要不停地获取签名URL,并放到实际业务中访问。本文主要介绍OSS如何在私有的读写权限环境下,如何应用到业务中。

OSS权限利弊介绍

公共读权限

  • 优点:简便性高,无需携带请求参数,无有效期烦恼。

  • 缺点:安全性低,当遇到恶意请求时,易出现高额账单。

私有权限

  • 优点:安全性高,每次请求都需要签名校验。

  • 缺点:使用复杂度高,需结合自身业务,频繁获取签名地址进行请求。

业务场景介绍

网站业务:通过OSS存储静态文件(如:图片、视频等),通过网站OSS地址进行访问。如图-视频放到网站中

image

解决方案

整理如下几个解决方法:

  • 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,过期后需重复获取。