防错设计之线上线下权限隔离没做好——阿里测试之道(17)

发表于:2022-5-13 08:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阿里巴巴技术质量小组    来源:51Testing软件测试网原创

  第二类:线上线下权限隔离没做好
  案例7:2017年11月,线下环境的文件发送系统配置了线上SFTP,导致线下测试文件误传到线上环境。
  案例8:2018年3月,案例7的问题再次发生。
  案例9:数据质量团队在做线下环境清理时,调用API误删除了线上的正式任务,影响了3天的商户账单产出,以及部分BI报表/对账单和业务核对报表产出。
  防错设计主要有以下5种。
  网络隔离:生产环境的资源,例如数据库、SFTP、API等,都要尽可能地配备IP地址白名单,只有白名单上的源IP地址可以访问。不过,IP地址白名单本身也很容易出错,要非常小心,要有很好的防错设计和监控应急能力。IP白名单一旦改错,网络就无法访问,可能引起大面积故障。
  权限隔离:访问线下环境的账号和访问线上环境的账号必须是两个。同一个账号
  不可以同时有线上和线下的访问权限,防止出错、调串。在案例7和案例8中,如果做好了权限隔离,就只会导致文件上传失败,影响不会那么大。另外,对于工程师的生产环境访问权限,要做到授权范围最小、时间最短,必须是JIT(JustInTime),即要用的时候申请,用完之后马上回收。对范围大、有效期长的修改权限(读权限可以适当放宽)要严格管控。
  防错设计要充分重视。案例8和案例7是同一个问题,案例7发生后,SFTP的网络隔离方案开始实施,但进展不够快,到2018年3月中下旬才落地。案例8的问题是在2018年3月初发生的。
  在案例9中,我们的生产和测试任务都运行在同一个数据平台里,本身无法实现网络隔离,只做了租户级别的隔离。因此,这里的权限隔离尤为关键。如果数据平台的API对访问不同的资源(例如,生产的任务与测试的任务)有很好的权限检查,在运维层面遵循了对生产环境资源访问权限高度管控的原则,那么在这个案例里,就算测试脚本出了问题也没有权限修改生产环境资源,不会误删线上的正式任务。
  所有的删除操作都要有一个“回收站”机制(虽然“回收站”机制在以上案例里并不能避免故障发生),要能快速恢复被删的内容。

查看《阿里测试之道》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号