核心组件
SPIRE Server
概述
SPIRE Server 是中央授权机构,负责:
颁发和管理 X.509 和 JWT SVID
维护注册条目(定义工作负载身份映射)
存储信任包和已证明节点信息
验证 Agent 的节点证明
启动流程
sequenceDiagram
participant Config as 配置加载器
participant Server as SPIRE Server
participant Catalog as 插件目录
participant CA as CA 管理器
participant Endpoints as API 端点
Config->>Server: 加载配置
Server->>Catalog: 初始化插件
Catalog-->>Server: 插件就绪
Server->>CA: 初始化 CA
CA-->>Server: CA 就绪
Server->>Endpoints: 启动 API 服务
Endpoints-->>Server: 服务就绪
Server->>Server: 启动后台任务
配置示例
server {
bind_address = "0.0.0.0"
bind_port = "8081"
trust_domain = "example.org"
data_dir = "/opt/spire/data/server"
log_level = "INFO"
ca_key_type = "ec-p256"
ca_ttl = "24h"
default_x509_svid_ttl = "1h"
default_jwt_svid_ttl = "5m"
}
API 服务
服务 |
描述 |
|---|---|
Agent API |
Agent 证明和 SVID 续期 |
Entry API |
注册条目 CRUD 操作 |
Bundle API |
信任包管理 |
SVID API |
X.509 和 JWT-SVID 颁发 |
TrustDomain API |
联邦信任域管理 |
SPIRE Agent
概述
SPIRE Agent 是节点本地守护进程,负责:
向 Server 证明自身身份
维护本地身份缓存
在 Unix 套接字上暴露 Workload API
持续从 Server 同步注册条目
在 SVID 过期前自动轮换
启动流程
sequenceDiagram
participant Config as 配置加载器
participant Agent as SPIRE Agent
participant Storage as 本地存储
participant Server as SPIRE Server
participant Manager as 管理器
participant API as Workload API
Config->>Agent: 加载配置
Agent->>Storage: 打开本地数据库
Agent->>Agent: 初始化插件
Agent->>Agent: 引导信任包
Agent->>Server: 节点证明
Server-->>Agent: 颁发 Agent SVID
Agent->>Manager: 初始化管理器
Agent->>API: 启动 Workload API
Agent->>Agent: 开始同步循环
配置示例
agent {
data_dir = "/opt/spire/data/agent"
log_level = "INFO"
trust_domain = "example.org"
server_address = "spire-server"
server_port = "8081"
socket_path = "/tmp/spire-agent/public/api.sock"
}
Workload API
RPC |
描述 |
|---|---|
FetchX509SVID |
流式获取 X.509-SVID 和信任包 |
FetchX509Bundles |
仅流式获取信任包 |
FetchJWTSVID |
按需获取 JWT-SVID |
FetchJWTBundles |
获取 JWT 签名密钥 |
ValidateJWTSVID |
验证 JWT-SVID |
数据存储
支持的后端
PostgreSQL: 推荐用于生产环境
MySQL: 推荐用于生产环境
SQLite: 仅用于开发和测试
存储内容
已证明节点信息
注册条目
信任包
CA 日志
配置示例
plugins {
DataStore "sql" {
plugin_data {
database_type = "postgres"
connection_string = "dbname=spire host=localhost user=spire password=secret sslmode=disable"
}
}
}
CA 管理器
职责
生成和存储签名密钥
颁发 X.509 证书和 JWT
密钥轮换
密钥类型
类型 |
描述 |
|---|---|
|
ECDSA P-256 (推荐) |
|
ECDSA P-384 |
|
RSA 2048 位 |
|
RSA 4096 位 |
下一步
了解 数据流 以理解数据在组件之间的流动。