使用腾讯云SCF实现COS费用封顶的最佳实践_播资讯
概述
腾讯云COS对象存储,在使用的过程中,为了降低开发成本或单纯的出于“便捷”的考虑,往往将存储桶设置为公有读状态。但这也埋下了巨大的安全风险的种子,在各种流量盗刷场景下,会快速吸干账户余额,正可谓“公有一时爽,盗刷就破产”。
那么对于我们这些中小企业个人用户,盗刷都有哪些具体危害呢?
(资料图片)
恶意竞争:盗刷流量的行为可能是某些企业或个人恶意竞争的手段,通过消耗竞争对手的流量来获取商业利益或个人利益。经济损失:盗刷流量会导致网站运营商面临经济损失,因为他们需要支付更多的非业务流量费用,同时也会影响网站或应用的正常业务体验等。法律维权:盗刷流量是一种违法行为,在盗刷导致损失后,需要收集相关证据,上报至网警备案,追根溯源进行打击。无形成本:包括证据采集,日志分析,多方沟通产生的时间等额外无形成本。那么有没有一种折中方案,允许我们在使用匿名用户访问的情况下的安全使用呢?既在常态模式下方便用户访问,又能在极端情况下为我们及时止损。
下面就介绍一下用过使用SCF来自动实现COS的权限修改的方式。
整体的逻辑为 创建SCF云函数-->定时拉取存bucket的准实时流量-->判断流量是否超过阈值-->修改为私有读方式
功能事件图
实现方式
功能介绍与组件
方案中所用到的产品包括
1.云函数(Serverless Cloud Function,SCF)
云函数的主要作用和优势
1)可以创建主动型触发事件,可根据需要设定触发周期。
2)已内置腾讯云 通用云openapi SDK以及COS SDK库,无需外部引用。
3)同园区与COS内网互访,不产生外网流量。
2.腾讯云可观测平台(Tencent Cloud Observability Platform,TCOP) AKA :(云监控)
云监控主要作用
1)多维度采集COS监控项,包括外网流量,请求次数,CDN回源流量,跨地域复制流量等等。更多指标详见
https://cloud.tencent.com/document/product/248/45140
2)数据采集延时低,通过实际测试,一般10分钟内可采集到分钟级数据指标。
实现逻辑与步骤
云监控调用方法
# MetricName 参数 InternetTraffic 指的是外网下行流量 req = models.GetMonitorDataRequest() params = { "Namespace": "QCE/COS", "MetricName": "InternetTraffic", "Period": 60, "StartTime": time_start.strftime("%Y-%m-%d %H:%M:%S"), "EndTime": time_end.strftime("%Y-%m-%d %H:%M:%S"), "Instances": [ { "Dimensions": [ { "Name": "bucket", "Value": bucket } ] } ] } req.from_json_string(json.dumps(params))
返回数据
{ "Response": { "DataPoints": [ { "Dimensions": [ { "Name": "bucket", "Value": "wainsun-1253985742" } ], "Timestamps": [ 1680576000, 1680576060, 1680576120, 1680576180, 1680576240, 1680576300 ], "Values": [ 155189649, 169098752, 0, 0, 0, 0 ] } ], "EndTime": "2023-04-04 10:45:00", "MetricName": "InternetTraffic", "Msg": "", "Period": 60, "RequestId": "57d5d310-0989-47db-8982-26b1903afe85", "StartTime": "2023-04-04 10:40:00" }}
返回结果中
Timestamps以及对应的Values是我们得到并用于判断的数据信息。通过简单的SUM就可以得到这个时间段的总流量,从而做出限制性操作。
实践案例
介绍一个具体的实践案例,展示如何使用以上方法来实现流量费用封顶。
1. 登录腾讯云官网,进入到SCF控制台--函数服务--选择园区--点击“新建”按钮
2. 选择模板创建--过滤 timer关键词--找到定时拨测 标签:python3.6的模板
3. 确认配置
1)修改自定义函数名称,修改对应函数描述。
2)确认函数代码执行环境为运行环境:Python3.6执行方法: index.main_handler
3)启动日志,选择默认配置
4)修改触发器为自定义创建,触发方式定时触发,周期修改为每1分钟
5)点击完成
4. 创建函数并设置函数代码
创建过程很快,十几秒可创建成功。
进入到函数管理--函数代码--复制文章下面附件中的函数代码内容并粘贴进来
注意,这里需要按照自己的环境,修改4个必选变量
secret_id 和 secret_key
这个是账号的API 秘钥,建议使用子账号秘钥,子账号需要授权COS存储桶的putbucketacl权限。
region
这个是存储桶所在地域,更多地域信息可参见 COS地域列表
bucket
这个是存储桶的完整名称,通常为bucket-appid的形式,这个可以在COS控制台的桶列表中查看到。
其他可选变量
"MetricName":"InternetTraffic",
这里默认设置为公网下行流量,其他监控指标详见
if_flow>100*1024*1024:#超过100MB流量阈值
这里默认设置100MB,主要用于测试,测试完成后根据业务所需要的限额流量自行设置。
5. 部署与测试
点击测试,会自动执行 :部署+1次函数 触发
执行正常可以看到测试成功,并返回执行日志。
6. 验证有效性
设置对应存储桶权限为公共读权限,并验证匿名访问一个对象,正常可以返回200 ok
找到一个大于我们设置阈值100MB的文件,再次下载。
注意:不要使用同地域的CVM或docker测试,同地域走内网,不会产生公网下行流量。
大约10分钟后,可以看到云函数检查到了公网下行流量超过阈值,并将存储桶ACL改为私有。
控制台检查并再次匿名测试下载资源
均符合预期。
这样就实现了盗刷场景发生后自动及时止损。这里为什么会延时10分钟的,这个是因为存储桶数据的采集,向云监控推送,统一计算等等均需要时间。所以根据实践测试,将延时设置为10分钟。
总结
上面通过这个实践,我们将SCF,COS,云监控整合在一起,通过基础数据采集,事件触发,ACL修改等方式,实现了盗刷即停服的保护措施,同时又弥补了告警+人工处理的时效性低的问题。针对于费用敏感又必须使用匿名方式对外提供访问的用户,是一个比较适合的方案。
多说几句。
上面的实践是通过检测外网下行流量并修改存储桶的ACL的方式实现止损。
如果使用CDN(回源鉴权)+COS的方式,那么修改私有是没有效果的,因为CDN的回源参数都会带上签名,这样的场景就需要修改授权CDN的策略来实现止损,(需要将授权给CDN策略的allow改为deny),接口调用方式详见。如果有朋友需要也可以在下面留言,我会再补充文档。
再多说几句。
如果对停服敏感,可以将代码中这段注释去掉。这样就可实现盗刷流量峰值过去后即恢复服务。但可能有反复盗刷的情况。对于结果优劣各位亲家自行评估。
关键词:
上一篇:心理健康服务走进校园|精彩看点
下一篇:最后一页
- 国家移民管理局暂停签发韩国、日本公民来华口岸签证及72/144小时过境免签-环球滚动
- 港股异动 | 药明生物(02269)升7% 近三月北水增仓超5个百分点 机构料全年业绩持续高增
- 当前快报:美国小企业乐观度降至近十年来倒数第二
- 英文爱情的句子唯美句子大全(精选259句)
- 粤港澳大湾区中小企业报告:逾6成中小企业预期2023年将投放可观资金于大湾区_天天热文
- 山西泽州警方摧毁省级目标贩毒网络 17名毒贩累计贩毒超30公斤 今日热门
- 安逸花网贷8万逾期还不起我会不会被起诉 全球快播
- 有意思小周刊(2023.01.09):一文详解|影响成长的关键思考_世界消息
- 当前要闻:电子车牌板块1月9日跌0.11%,易华录领跌,主力资金净流出6738.9万元
- 省呗网贷逾期14年多久会上征信
-
简讯:时政画说丨有朋自远方来
时隔3年多,法国总统马克龙再次对中国进行国事访问3年多来,国际形势变乱交织4月6日,北京中法元首再度握手视频地址:时政画说丨有朋自远方来
-
厦门本轮降雨今起停歇 周末适合出门踏青
天接云涛连晓雾,星河欲转千帆舞。昨天的厦门,雾失楼台,岛隐雾中,“仙气”十足。白天最高气温在19℃—21℃,厦门本站最高气温达20 2℃,昼
-
禹州市财政局:扛牢文明创建决胜之责
河南经济报记者刘学中通讯员闫静今年是禹州市夺取“全国文明城市”桂冠的冲刺之年、决战决胜之年。自全市召开创建全国文明城市动员会后,禹州
-
世界微头条丨2023年中国国际机床展览会开幕在即,海内外企业集聚北京
2023年4月10日至15日,中国国际机床展览会(CIMT)将于北京国际展览中心盛大召开,这是该展会于1989年创立以来走过的第34个年头,同时这也是疫情复出后
-
这个春天,跟他们一样感受云南!
金羊网
-
科颜氏淡斑精华效果怎么样 科颜氏淡斑精华可以去痘印吗
科颜氏淡斑精华是热门产品的,不知道用它来淡斑的话效果究竟怎么样好不好?使用科颜氏淡斑精华真的可以去痘印吗?
-
博威合金:4月6日融资净买入203.75万元,连续3日累计净买入1014.2万元
4月6日,博威合金(601137)融资买入1273 86万元,融资偿还1070 11万元,融资净买入203 75万元,融资余额2 74亿元,近3个交易日已连续净买入累
-
校友会2023中国民办大学排名,武昌首义学院等第一
2023年4月6日,全国第三方大学评价机构艾瑞深校友会网正式发布《校友会2023中国大学排名:高考志愿填报指南》,连续第21年发布中国大学排名,
-
胡润:全球40岁以下白手起家十亿美元富豪减少28人
这是胡润研究院第八年发布此榜单。相关数据统计截止日期为2023年1月16日。榜单企业家分布在10个国家和地区,总财富为2690亿美元(1 8万亿元
-
每日视讯:“锤哥”御用造型师,曝光两人幕后造型照!粉丝热评“神仙CP”
哈喽大家好~欢迎关注AE,为您带来每日国外明星、电影、剧集消息!这几天漫威MCU电影宇宙中“雷神索尔”克里斯·海姆斯沃斯的御用造型师LucaVannella,
X 关闭
使用腾讯云SCF实现COS费用封顶的最佳实践_播资讯
心理健康服务走进校园|精彩看点
哈维列出6人引援名单,梅西赫然在列,巴萨已备好详细回归计划-世界实时
张家界市司法局来衡考察普法与依法治理工作
每日视点!殷拓基础设施收购EdgeConneX
X 关闭
得知西安疫情防控“升级” 男子夜骑共享单车回咸阳淳化
中国医生将任SIU主席背后:从追随者同行者到引领者
海南省通报政法队伍教育整顿成果
云南两地发现核酸阳性人员 西安实行最严格的社会面管控
广东梅州大埔中央红色交通线沿线发现多株百岁古树