您的身份系统是您最大的单点故障
Source: Dev.to
为什么身份成为单点故障
在过去的十年里,公司把所有资源都投入到了零信任(Zero Trust):
- 应用迁移到单点登录(SSO)之后。
- 条件访问规则不断增加。
- 多因素认证(Multi‑factor authentication)已变得无处不在。
安全性提升了,但韧性悄然下降。
大多数组织现在将 所有 认证都通过单一的 SaaS 身份提供商(IdP)——例如 Okta 或 Microsoft Entra ID——进行,然后把这种权威扩散到各处:
- 每个云平台(AWS、Azure、Google Cloud)
- 每个本地系统
- 构建流水线、监控仪表盘、财务应用、事件控制台、Kubernetes 集群
“一个地方授予访问权限,撤销特权,检查正在发生的事情。”
这种便利性导致了脆弱的架构:我们锁住了每一扇门,却把每把钥匙换成了 一把放在建筑外的单一主钥。
“盲目受限”状态
当 IdP 出现故障时:
| 症状 | 实际情况 |
|---|---|
| 用户无法登录 | 显而易见 |
| 工程师被锁定 | 自动化无法运行 |
| 恢复计划无法启动 | 没有人能执行它们 |
| 系统仍在运行 | 仪表盘保持绿色,基础设施正常运行 |
| 掌管一切的人被锁定 | 瘫痪 |
常见故障:
terraform无法承担角色。- CI/CD 流水线无法推送修复。
- 跳板主机拒绝连接。
- 提权不可能。
这不是计算故障(没有任何“显而易见的损坏”),也不是存储丢失(没有数据丢失)。运维层本身已经消失。
身份中断的传播方式
- 登录流程 – 控制台将您重定向到外部 IdP。
- IdP 为您登录并颁发令牌。
- 云服务将令牌交换为会话。
- 所有下游工具都信任该会话。
如果 IdP 无法颁发令牌,所有下游都会一次性失败——遍及所有云。多云仍然意味着 单一权威,因此您只有一个巨大的故障点。
说明:集中式 IdP – 单点故障,所有服务都会停止,无论您的基础设施看起来多么“多样”。
构建身份弹性
1. 实际的、非联邦的紧急访问
- 每个云必须 至少拥有两个管理员账户,且 不依赖 SAML 或 OIDC 联邦。
- 使用 基于硬件的 MFA 来保护它们。
- 将凭证 离线保存,仅在严格的流程下使用。
- 审计、轮换并测试 这些“破窗”账户——未测试的账户只能摆设。
2. 会话存活性
- 避免在修复过程中把所有人踢出的超短会话时长。
- 允许特权工程会话在不稳定期间 持续数小时,同时仍然执行特权提升工作流。
3. 备份认证权威
- 关键系统(银行、医院、生产 AI)应拥有 独立于主目录运行的次级认证权威。
- 你并不是要放弃集中式身份管理;只是为灾难场景添加一个 后备路径。
4. 模拟身份失败
- 大多数灾难恢复演练关注区域性断电、勒索软件或数据库损坏。
- 增加一个场景:“如果我们的 IdP 在所有地方返回 HTTP 503 会怎样?”
- 练习使用破窗账户登录、恢复令牌签发并恢复业务运营。
Source: …
为什么它比以往更重要
自动化意味着 机器与机器对话:
- AI 流水线需要令牌才能访问存储。
- 推理引擎需要令牌来访问特征库。
- FinOps 工具通过服务账号获取成本数据。
当身份验证中断时,机器会停下来——不仅是人。
没有人会在没有备份的情况下启动全球数据库,也不会用单一插头为医院供电。然而,许多公司却把 唯一的 SaaS IdP 当作所有业务的唯一身份提供者。这是一种架构上的赌注,而不是工具选择。
- 集中身份管理 简化监督。
- 构建冗余 能在出现故障时保持存活。
成熟的架构需要 两者兼备。
将身份视为控制平面,而不仅仅是另一个应用。
小结
| 部分 | 关注点 |
|---|---|
| 第 1 部分 | 多云故障如何通过共享依赖传播。 |
| 第 2 部分(本篇) | 隐藏的瓶颈——身份——锁定每个环境。 |
Part 3
将深入网络,这会悄悄地让你比 API 更加被供应商锁定。
Part 4
将拆解2026年云费用为何上升,以及架构才是真正的罪魁祸首。
如果回顾整套系列内容,会发现一个规律:大多数现代故障并不是从计算或存储层开始的,而是从共享控制层起始的。至于身份认证?它是人们最常低估的环节。
如果你业务中的每一次操作都依赖于单一外部权威的许可,那么实际上并没有实现高可用。你的业务始终是有条件的——在等待绿灯。真正的弹性意味着你不需要任何许可就能继续存在。
我们刚刚推出了 Engineering Workbench——一套确定性的、在浏览器端运行的工具,旨在帮助你在数据永不离开浏览器的前提下,揭示这些层层相连的风险。
Need the code? 在 Canonical Architecture Specifications 中心获取我们的 Terraform 模块和身份弹性脚本。