SPIRE 源码解读
基于 SPIRE v1.15.2 源码的深度解读,聚焦"把机制讲透"。所有代码引用采用 文件路径:行号 格式(相对 SPIRE 仓库根),均经实际核对。
阅读方式:文中
pkg/server/ca/ca.go:33这类引用可在 SPIRE 仓库 对应版本查看。建议git clone --depth 1 https://github.com/spiffe/spire到本地对照阅读。
本专区包含
| 文档 | 内容 | 适合 |
|---|---|---|
| 整体架构 | Server/Agent 双组件、启动装配、插件化 catalog、9 个 v1 API、方法级 OPA 授权、整体架构图与数据流 | 建立全局观 |
| SVID 颁发全流程 | 三条颁发链路(节点认证 → 工作负载认证 → CA 签名)的代码级走读,端到端时序图,关键函数速查表,安全设计要点 | 搞懂"证书怎么签出来的" |
30 秒建立认知
- 两个二进制:
spire-server(信任域的信任根与控制面,持有/轮换 CA、签发 SVID)+spire-agent(节点本地守护进程,通过工作负载 API 把 SVID 下发给工作负载)。 - 一切皆插件:节点认证(NodeAttestor)、工作负载认证(WorkloadAttestor)、密钥管理(KeyManager)、上游 CA(UpstreamAuthority)、数据存储(DataStore)…… 内置与外部插件都走 gRPC。
- 核心安全思想:主体不能自证身份 —— 私钥在本地生成,但身份(SPIFFE ID)由 Server 依据"节点认证结果 / 注册条目"决定。
延伸阅读
- 想了解规范本身:SPIFFE 协议中文版
- 想做生产部署:高可用与大集群部署 · 云上落地