跳转到主要内容

PGSTY KES 20261018 发布

PGSTY 密钥加密服务首发:AWS SDK v2、兼容既有密钥,以及经过验证的 OpenBao 集成。

发行版: RELEASE.2026-10-18T00-00-00Z · 软件包: 20261018000000.0.0 · 源码: 2f7e741db905。

这是 PGSTY 维护的密钥加密服务(Key Encryption Service,KES)首个正式发行版。KES 是独立部署的无状态服务,供需要外部 KMS 的 SILO 服务端加密场景使用(参见组件版本矩阵)。

变更内容

  • 建立 PGSTY 维护与发布流水线,完整保留上游版权、署名及第三方许可证。可执行文件与系统软件包保持 kes 命名,Go 模块路径保持 github.com/minio/kes。
  • 升级至 Go 1.27.2 并刷新依赖,将 AWS Secrets Manager 后端从已弃用的 AWS SDK for Go v1 迁移至 AWS SDK for Go v2。完整保留 YAML 配置字段、显式凭据优先级、自定义端点与密钥存储格式(继续忽略 ~/.aws/config 与 SDK 环境变量端点覆盖)。
  • 完整兼容既有 KES HTTP API、MINIO_KMS_KES_* 环境变量、存量根密钥及已加密对象;现有 SILO + KES 部署可直接升级,无需迁移密钥。
  • 新增 SILO 搭配 OpenBao KV v2 及 Moto Secrets Manager 模拟器的升级、回滚与重启集成测试(每次版本切换均强制重启 SILO 以排除服务端密钥缓存干扰)。
  • 提供签名 Git 标签、GitHub 构建来源证明、GPG 签名 RPM 包与非 root 容器镜像;禁用内置 kes update 自更新命令。

部署与升级

在服务端加密链路中,SILO 负责加解密对象数据,KES 负责验证客户端 mTLS 身份并封装/解封装数据加密密钥(DEK),OpenBao 负责持久化存储主密钥(KEK)。因此,MINIO_KMS_KES_ENDPOINT 必须指向 KES,而非直接指向 OpenBao(架构边界与故障恢复要求见 KES 与 OpenBao 设计说明)。

生产启动 KES 前须配置 TLS 证书、mTLS 客户端身份策略与持久化密钥后端(开发模式仅将密钥保存在内存中)。官方容器默认以非特权 UID/GID 1000:1000 运行,挂载的配置文件与证书须对该用户可读;Linux RPM/DEB/APK 软件包安装 /usr/local/bin/kes,不会自动拉起未配置的服务。

升级前请先备份底层密钥存储与配置文件;升级后验证存量加密对象解密、新加密对象写入,以及重启 KES 与 SILO 后的冷读能力。

交付与验证

全部 19 个发行附件(Linux/macOS/Windows 的 amd64/arm64 共 6 个平台压缩包、6 个 Linux RPM/DEB/APK 软件包、归档校验清单与 6 份软件包校验文件)均已核验,涵盖下载摘要、二进制源码/平台标记、软件包载荷、2 份 RPM 签名及 11 份 GitHub 构建来源证明(见发布工作流)。

官方多架构容器镜像 docker.io/pgsty/kes:RELEASE.2026-10-18T00-00-00Z(linux/amd64 与 linux/arm64,Docker 发布记录)的索引摘要为:

sha256:c2d1a63d15052dfd2854bec9db3fc6846dd74fd6fdf43079f338f36e7a3d5f04

维护验收矩阵重点覆盖 SILO + PGSTY KES + OpenBao KV v2(含 mTLS 认证、OpenBao AppRole 访问、DEK 加解密、重启持久性、未认证请求拒绝,以及与 SILO 20260903/20260916 和上游 KES 2025-03-12T09-35-18Z 的互操作与回滚测试;AWS Secrets Manager 后端通过本地 Moto 模拟器完成协议与存储回归)。

下载 KES · 配置与安装文档 · 制品核验指南 · 相对上游源码差异。