SPIRE 中文手册
目录
概述
核心概念
SPIFFE 标准
关键术语
SPIFFE ID
信任域(Trust Domain)
SVID(SPIFFE Verifiable Identity Document)
工作负载(Workload)
注册条目(Registration Entry)
架构概览
下一步
信任模型
信任域
什么是信任域?
信任域配置
信任包(Trust Bundle)
定义
信任包类型
信任包管理
证明机制
节点证明
工作负载证明
联邦
概述
配置示例
安全考虑
下一步
SVID 类型
概述
X.509-SVID
定义
证书链
配置
使用场景
示例
JWT-SVID
定义
配置
JWT 声明
使用场景
示例
比较
SVID 轮换
自动轮换
轮换策略
最佳实践
简介
核心功能
工作负载身份
自动证明
信任联邦
使用场景
下一步
快速开始
安装指南
系统要求
操作系统
硬件要求
Linux 安装
使用预编译包
创建系统用户
配置 Systemd 服务
Kubernetes 安装
使用 Helm
使用 YAML 清单
Docker 安装
Docker Compose 示例
验证安装
检查 Server 状态
检查 Agent 状态
故障排除
常见问题
下一步
快速上手
场景
步骤 1:准备配置
Server 配置
Agent 配置
步骤 2:启动 Server
步骤 3:生成 Join Token
步骤 4:启动 Agent
步骤 5:创建注册条目
步骤 6:验证
获取 SVID
查看输出
完整脚本
常见问题
Agent 无法连接 Server
工作负载无法获取 SVID
下一步
配置第一个工作负载
概述
Go 应用程序
安装依赖
获取 X.509-SVID
mTLS 服务端
mTLS 客户端
Java 应用程序
Maven 依赖
获取 SVID
spiffe-helper
安装
配置
运行
Envoy SDS
Envoy 配置
注册工作负载
最佳实践
概述
前置条件
获取 SPIRE
预编译版本
容器镜像
从源码构建
快速验证
下一步
架构
核心组件
SPIRE Server
概述
启动流程
配置示例
API 服务
SPIRE Agent
概述
启动流程
配置示例
Workload API
数据存储
支持的后端
存储内容
配置示例
CA 管理器
职责
密钥类型
下一步
数据流
概述
节点证明流程
工作负载证明流程
注册条目同步
同步流程
事件驱动缓存
SVID 生命周期
状态机
轮换时机
JWT-SVID 流程
信任包分发
本地信任包
联邦信任包
性能考虑
缓存策略
优化建议
下一步
插件系统
概述
插件架构
Server 插件
DataStore
KeyManager
NodeAttestor
UpstreamAuthority
BundlePublisher
Notifier
Agent 插件
KeyManager
NodeAttestor
WorkloadAttestor
SVIDStore
插件配置
基本结构
多实例配置
开发自定义插件
gRPC 接口
插件开发步骤
示例框架
最佳实践
系统架构
组件职责
通信模式
Server-Agent 通信
Agent-Workload 通信
高可用性
下一步
SPIRE Server
Server 配置
配置文件格式
基本配置
完整配置示例
配置参数详解
server 块
密钥类型
环境变量
配置验证
最佳实践
下一步
Server 命令行
概述
全局选项
服务命令
run
validate
healthcheck
条目管理
entry create
entry show
entry update
entry delete
entry count
Token 管理
token generate
Bundle 管理
bundle show
bundle set
bundle list
bundle delete
Agent 管理
agent list
agent show
agent evict
agent ban
agent count
实用命令
x509 mint
jwt mint
输出格式
脚本示例
批量创建条目
导出和导入条目
下一步
Server API
概述
认证和授权
认证方式
授权
Entry API
创建条目
列出条目
更新条目
删除条目
Agent API
列出 Agent
创建 Join Token
驱逐 Agent
Bundle API
获取本地 Bundle
设置联邦 Bundle
SVID API
颁发 X.509-SVID
颁发 JWT-SVID
连接示例
通过 Unix Socket
通过 mTLS
完整客户端示例
错误处理
参考资源
概述
部署架构
单节点部署
高可用部署
核心功能
身份管理
注册条目管理
信任包管理
快速启动
下一步
SPIRE Agent
Agent 配置
配置文件格式
基本配置
完整配置示例
配置参数详解
agent 块
SDS 配置
授权委托
插件配置
NodeAttestor
KeyManager
WorkloadAttestor
环境变量
Kubernetes 配置示例
最佳实践
下一步
Agent 命令行
概述
服务命令
run
validate
healthcheck
API 命令
api fetch
api watch
api validate jwt
实用示例
调试工作负载证明
检查证书内容
测试 mTLS
监控 SVID 轮换
JWT 验证测试
输出格式
X.509 获取输出
JWT 获取输出
故障排除
常见错误
下一步
Workload API
概述
API 端点
gRPC 服务定义
X.509 操作
FetchX509SVID
FetchX509Bundles
JWT 操作
FetchJWTSVID
FetchJWTBundles
ValidateJWTSVID
监听更新
X.509 更新监听
JWT Bundle 更新监听
TLS 配置
mTLS 服务端
mTLS 客户端
授权策略
允许任意 SPIFFE ID
允许特定 SPIFFE ID
允许同一信任域
自定义授权
错误处理
最佳实践
概述
架构
核心功能
节点证明
工作负载证明
SVID 缓存和轮换
部署模式
DaemonSet(Kubernetes)
Systemd 服务
快速启动
下一步
插件参考
节点证明器
概述
AWS IID
Agent 配置
Server 配置
生成的 SPIFFE ID
GCP IIT
Agent 配置
Server 配置
Azure MSI
Agent 配置
Server 配置
Kubernetes PSAT
Agent 配置
Agent Pod 配置
Server 配置
Kubernetes SAT
Agent 配置
Server 配置
Join Token
Agent 配置
Server 配置
使用方法
X509 POP
Agent 配置
Server 配置
SSH POP
Agent 配置
Server 配置
选择建议
工作负载证明器
概述
Unix
配置
生成的选择器
注册条目示例
Kubernetes
配置
生成的选择器
注册条目示例
Kubelet 访问配置
Docker
配置
生成的选择器
注册条目示例
Systemd
配置
生成的选择器
注册条目示例
组合使用
选择器匹配规则
最佳实践
密钥管理器
概述
Disk
Server 配置
Agent 配置
安全建议
Memory
配置
使用场景
AWS KMS
Server 配置
IAM 策略
创建 KMS 密钥
GCP Cloud KMS
Server 配置
IAM 权限
创建密钥环
Azure Key Vault
Server 配置
权限配置
密钥轮换
轮换流程
配置轮换参数
备份和恢复
Disk KeyManager 备份
KMS 备份
选择建议
上游授权
概述
Disk
配置
创建 CA 证书
AWS PCA
配置
IAM 策略
创建 PCA
HashiCorp Vault
配置
Vault PKI 配置
嵌套 SPIRE
配置
架构示例
cert-manager
配置
ClusterIssuer 配置
EJBCA
配置
选择建议
概述
插件类型
Server 插件
Agent 插件
配置语法
插件选择指南
云环境
Kubernetes
裸机/虚拟机
下一步
开发指南
构建 SPIRE
前置条件
Go 版本
安装 Go
获取源码
使用 Make 构建
基本构建
构建特定目标
交叉编译
使用 Go 直接构建
构建容器镜像
使用 Docker
多阶段构建
开发构建
启用调试信息
使用 Race Detector
生成代码
Protocol Buffers
Mocks
依赖管理
更新依赖
检查依赖
清理
常见问题
构建失败:缺少依赖
CGO 相关问题
版本信息不正确
Makefile 目标
测试指南
测试类型
运行测试
所有测试
特定包
集成测试
测试覆盖率
生成覆盖率报告
包级覆盖率
编写测试
单元测试示例
表驱动测试
使用 Mocks
使用测试夹具
测试工具
test/spiretest
test/fakes
test/clock
集成测试
结构
运行集成测试
编写集成测试
调试测试
详细输出
特定测试
跳过缓存
超时
CI/CD 测试
GitHub Actions
本地模拟 CI
最佳实践
贡献指南
欢迎贡献
贡献流程
1. 准备工作
2. 创建分支
3. 开发
4. 提交
5. DCO 签名
6. 推送和创建 PR
Pull Request 指南
PR 标题
PR 描述
PR 检查清单
代码规范
Go 代码风格
代码检查
格式化
文档贡献
文档位置
文档规范
Issue 报告
Bug 报告
功能请求
社区
沟通渠道
行为准则
审查流程
审查标准
合并要求
发布流程
获取帮助
概述
开发环境要求
系统要求
可选工具
快速开始
项目结构
开发工作流
下一步
SPIRE 中文手册
索引
索引