知识卡片
集中式安全策略实施点是对微服务分散治理原则的必要例外
内容
[[边界安全的固有缺陷催生零信任的三个核心转变]]之外,Google在”BeyondProd” 论文里还提出了两条容易被忽视但很关键的原则。第一条是”集中、共享的安全 策略实施点”,这条恰恰是微服务”分散治理”原则的一个例外:微服务提倡每个 服务自主决定自己的实现细节,但身份管理、安全传输层、数据安全层这类 安全相关的非功能性需求最好不要分散——原因有二,一是写出真正安全的代码 本身极难,Fenix’s Bookstore里Security工程的代码量就是所有微服务中最多 的;二是让每个服务各自实现安全逻辑,出现漏洞时就要在多处分别修补, 实现不一致的风险也更高,因此安全能力应该下沉到云原生基础设施这个统一 的”Choke Point”,而不是散落在各服务的应用代码里。第二条是”受信的机器 运行来源已知的代码”,这把安全的关注点从”运行时”延伸到了”软件供应链” 全流程——从编码、自动化测试、集成、漏洞扫描到发布上线的整条CI/CD链路 都要纳入安全控制,因为像XcodeGhost这样在编译阶段就把恶意代码嵌入软件的 供应链攻击是真实发生过的,只在运行时做防护已经不够。这两条原则合起来 说明零信任安全不是简单地把”信任”两个字换成”不信任”,而是重新划定了 “安全该由谁负责、该在流程的哪个环节被检查”。
参考来源
- 位置:《凤凰架构:构建可靠的大型分布式系统》第9章"可靠通信"9.1.1节
"零信任安全模型的特征"(源文件:_epub-src对应OEBPS/Text/chapter106.xhtml)
- 结论依据:原文说明"集中、共享的安全策略实施点"与分散治理原则相反、
是因为高安全代码难写且分散实现易生漏洞不一致,安全应下沉至基础设施;
并说明"受信的机器运行来源已知的代码"针对软件供应链全流程加入控制,
引用XcodeGhost事件为例,直接支撑本卡片结论。
- 原始内容:Google这个观点相当于为分散治理原则做了一个补充——分散治理,
但涉及安全的非功能性需求最好除外……因此Google明确提出应该有集中式的
"安全策略实施点"……安全需求应该从微服务的应用代码下沉至云原生的基础
设施里。