知识卡片
拆分服务缩小可信计算基础
内容
单体应用里,处理商品目录搜索的代码和处理收货地址的代码共享同一个数据库和进程,目录搜索里的漏洞就足以泄露地址这类敏感数据,因为两者共享的TCB是整个应用加数据库。把系统拆成微服务、给每个服务配独立数据库后,后端目录服务从架构上就访问不到地址数据,攻击者攻陷目录服务也无法触及支付信息——这才是拆分微服务在安全维度的真正收益:不是”看起来更现代”,而是物理上缩小了单个漏洞能触达的数据范围,呼应[[纵深防御限制爆炸半径]]。
参考来源
- 位置:《Google系统架构解密:构建安全可靠的系统》第6章《面向易理解性的设计》6.3节小型TCB案例(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_058.html`)
- 结论依据:原文对比单体应用(整个应用及数据库都是地址数据安全策略的TCB)与微服务重构(TCB只剩后端购买服务及其数据库),并明确指出"攻击者不再使用后端目录中的漏洞来获取支付数据,因为后端目录从一开始就无法访问该数据"。
- 原始内容:在这个新的架构中,地址数据安全策略的可信计算基础要小得多:只由后端购买服务及其数据库和相关的依赖项组成。攻击者不再使用后端目录中的漏洞来获取支付数据,因为后端目录从一开始就无法访问该数据。