使用腾讯云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),接口调用方式详见。如果有朋友需要也可以在下面留言,我会再补充文档。
再多说几句。
如果对停服敏感,可以将代码中这段注释去掉。这样就可实现盗刷流量峰值过去后即恢复服务。但可能有反复盗刷的情况。对于结果优劣各位亲家自行评估。
标签:
推荐文章
- 执炬奔跑,梦想生生不息——访杭州亚运会火炬手
- 肝火旺有什么症状 肝火旺的症状吃什么药
- 推行“三三”工作模式 石门县公安局全力护航开学季
- 惠安县开展教师节慰问活动
- 长春到沈阳需要隔离吗6月
- 美元指数持续走强,人民币汇率调整压力加大
- 股票行情快报:盘江股份(600395)9月8日主力资金净卖出327.07万元
- 上市四个月急推重组,荣旗科技欲加码新能源领域业务
- 蚂蚁集团正式发布金融大模型,针对个人和专业用户分别推出两大产品
- 海螺水泥(00914)出资10亿元携金石投资等参设合伙企业
- 让生活垃圾“变废为宝”,他们这样做
- 微软正在测试Paint中的背景去除工具
- 破发股巨一科技上半年净利降67% 2021年上市募15.8亿
- 期权有什么投资价值为什么?
- 把“世界超市”义乌搬上京东 京东9.9超省日打造靠谱版“9.9包邮”
- 薛之谦演唱安河桥说再见 薛之谦献唱安河桥
- 参与隋田力造假大案 又有两家上市公司将被罚
- 广哈通信9月8日快速反弹
- 我们几个朋友有轮着组饭局(买单)的习惯
- 跨省就医、交通出行、文旅购票……你手里的这张卡还有这些用处→
- 国有五大行、招行等今迎新一轮存款利率下调,最高降幅达25个基点
- 当好东道主 喜迎山旅会——“万马”奔腾:闻稻谷飘香 品诗酒田园
- 你的思维方式,决定了你的职场高度
- qq炫舞2挂(炫舞2挂)
- 失主刚刚报警,窃贼已被抓获
- 早晨吃牛奶还是晚上喝牛奶好(早晨吃牛奶好还是晚上喝牛奶好)
- 受台风影响,未来三天广珠城际全部列车停运
- 深度金选|年内涨停超30次、成AI首只10倍股!绑定英伟达,鸿博股份第六次转型会成功吗?
- 人民币大消息
- 金枪鱼进出口市场分析 国内金枪鱼行业市场如何?
- 价格暴涨4倍还多:玩家怀念30美元能买PS+一整年
- 聚维酮碘商品报价动态(2023-08-31)
- 高质量发展在申城|对接虹桥国际开放枢纽建设这一国家战略,长宁怎么做?
- 滨海新区警方擒获“百万大盗”
- 陕西发布全国首个考古工地安全专业标准
- 英国空管系统故障或致航司损失1亿美元
- 今起降价!有的便宜了9535元
- 经济法基础考点强化(55)
- 排位赛日本暂列O组第一 中国男篮M组第四 直通巴黎日本占尽先机
- 拼劲十足!崔永熙仅出战9分钟 1中1得到4分1助攻2抢断1追帽
- 物流数据看亮点 经济发展“脉动”强劲
- 揭秘康灵盾为东方肥牛王火锅定制的小料台设计!
- 贩卖明星航班侵犯隐私 航空公司两客服获刑3年
- 吸金不断!Tims天好中国二季度营收4.117亿【附咖啡行业市场分析】
- 人民币市场汇价(8月30日)
- 湘江开放日,为高校学子“智”引未来
- 高新区(新市区):反诈宣传进社区 守护平安聚民心
- 院线电影《加班惊魂》开机 新锐演员鲍李宁担男一引期待
- 让气象雷达更加“耳聪目明”
- 全省法院全链条打击电信网络诈骗犯罪
- 2021年郭冬临小品就地过年(郭冬临小品回家过年是哪年春晚)
- 沪深股通|泰坦科技8月29日获外资买入0.37%股份
- 古代最著名的五大才女(值得收藏史上四大才女)
- “华尔街之狼”正在抄底中国房地产
X 关闭
最新资讯
- 中国梦·大国工匠篇丨我在三江源国家公园当宣传员
- 海河,“津门古渡”的“活力秀带”
- 博山区猕猴桃园开始采摘
- 60余名省内外专家学者、与会嘉宾走进“明代生活的活化石”平坝天龙屯堡
- 港股内房股午后持续走高 绿城中国涨超12%
- 30万株醉蝶花“落户”滨海公园
- “拿什么拯救你,我的男篮” 天时地利人和皆不利,出局基本成定局
- 马士基供应服务公司将削减100多个工作岗位,以简化运营
- 高层次人才赋能首府产业发展研讨会召开
- 分析|湖人新赛季可能看到的5套阵容 双塔or射手阵or詹中锋?
- 成都GDP首次半年破万亿元,高质量发展取得积极进展
- 莱西公交22路(关于莱西公交22路的简介)
- 猪笼草的功效与作用(猪茏草)
- 魔兽世界怀旧服邪恶临近任务怎么做(wowtbc怀旧服邪恶临近任务流程攻略)
- 关爱留守儿童,天旅投集团在行动!
- 84健康/眼部除皱哪家医院好 眼部除皱专家)
- 南昌小伙被诱骗至柬埔寨,江西警方跨境成功解救!
- 男生拍照摆pose大全(男生怎么拍照好看又上镜)
- 华鑫证券:五箭齐发,超跌反弹一触即发
- 行政复议法修订草案三审:扩大行政复议范围、完善行政复议前置范围
- 湖北荆州:用绘本记录旅程 10岁小学生绘“卷”成“书”
- 中国空间站已开展上万次在轨实验
- 制造业当家,全国首个千亿工业大镇容桂,如何转型再突围?
- 《创3》主题曲考核,希林娜依·高逆袭成功,张艺凡引争议
- 福建启动预防台风“苏拉”Ⅳ级应急响应
- 一屋两人三餐四季搞笑下联 一屋两人三餐四季 求一个下联 求浪漫的 谢谢
- 中国太保上半年营业收入同比增长6.5%
- 祥生医疗(688358.SH):选举莫若理为公司第三届董事会董事长
- 极端天气发生后,对GDP有哪些影响?怎样减小损失?
- 李凯尔低迷原因曝光!主教练说出真相,3大水货出炉,王哲林上榜
- 煤炭行业:钢铁方案未提平控 中报披露业绩回落
- 多地盐业:管够,不用囤货
- 保时捷boxster报价
- 客厅电视机尺寸选择标准 客厅电视机尺寸选择
- 原神湖畔的维维安涅成就完成方法
- 我用席慕蓉的诗谱了曲,可以上传到网络上吗
- 拟上市公司实控人母亲或曾是疫苗临床研究所领导
- 释放创新创造活力 为人才提供全方位全周期服务
- 姚洋:中国经济未来的动力是创新,但创新就会有泡沫
- 黔东南“黎从榕”加快对接融入粤港澳大湾区
- 进口禁令,五国达成一致
- 俄称击落乌无人机 乌称打击俄多个目标
- 股票行情快报:索菱股份(002766)8月25日主力资金净卖出219.25万元
- 英国的文化特色有哪些用英语描写(英国的文化特色有哪些)
- 手机相关知识:网易考拉入驻商家条件
- 联盟猎人去哪里抓猪(QQ飞车抓猪是什么意思)
- 铂科新材股东户数增加45.79%,户均持股71.02万元
- 突发!陕西一高速路桥台路面塌陷!这雨是真大、天气是真恶劣!
- 两部门:继续实施公共租赁住房税收优惠政策
- 2023内蒙古锡林浩特市招聘义务教育阶段学校教师(应届毕业生)拟聘公示
X 关闭