Skip to content

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/SPIRE 官方开源资料整理与翻译,仅供学习交流;商标与版权归各自所有者。SPIFFE 与 SPIRE 是 CNCF 项目。