发布状态
服务端稳定版为 v1.0.1,Go SDK 为 v1.0.0。这是首批稳定版;已有标签不变。
稳定版不等于你的部署已经验收。上线前仍需在自己的环境完成容量、恢复和安全验证;测试记录不构成对所有部署的吞吐量或可用性保证。
生产验收清单和测试记录注明了测试环境、失败记录和仍需验证的事项。
v1.0.1 增加了只读恢复检查、停机换主密钥和管理端分页,并修复 Kubernetes 同步竞态、SDK 快照隔离等问题。自编 Management 客户端升级时,需要按分页约定读取完整列表;机器读取接口和 SDK 调用方式不变。
谁能读取哪些数据
- Token 按环境授权。 获得
production权限的应用,可以读取该环境中的所有 Config 和 Vault 值,不能只授权某个条目。 - Namespace 只是分组。 Vault Namespace 和 Kubernetes Namespace 都不能缩小 Token 在 Configra 服务端的权限。
- 网页角色覆盖整个工作区。 Admin 可以管理数据;Viewer 只读,并且不能查看敏感值。它们不是按项目分配的角色。
如果两个团队或应用不能互相读取数据,不要把它们放进同一个环境再靠命名区分。应使用独立部署,或选择具备所需权限粒度的方案。
已有的保护及其限制
应用读取使用 HTTPS,默认同时检查 Token 和客户端证书。网页登录交给配置的登录系统,管理操作检查 Admin 权限。
Vault 值和 CA 签名私钥加密保存在数据库中。但如果攻击者同时拿到数据库和 Master Key,仍可能解密这些内容,所以必须分开控制访问和备份。客户端私钥只在首次签发时交付,服务端不保留。
吊销 Token、客户端证书或 CA 后,会阻止后续授权读取,不会删除应用已经下载的配置,也不会清空已经同步的 Kubernetes Secret。
Kubernetes CSI provider 是运行在节点上的受信任组件;同步控制器具有所在应用命名空间的 Secret 读写权限。安装前需要确认你愿意授予这些权限。
当前还不能保证什么
测试通过的环境和你自己的部署可能不同。尤其要单独检查 API 入口的 mTLS 透传、备份恢复和跨主机故障。
| 事项 | 对使用者的影响 |
|---|---|
| 每秒 1000 次读取的持续负载 | v1.0.1 的运行时代码在 4 vCPU Linux 主机上完成十分钟测试,60 万次读取全部成功,P99 为 31.9 ms;API 限制为 2 CPU / 512 MiB,不是所有部署的容量保证 |
| Kubernetes 跨主机高可用 | 三节点演练使用同一宿主机;不等于独立服务器或可用区故障验收 |
| 自动轮换 Master Key | 支持维护窗口内离线轮换,不支持不停机轮换或 HSM / 云 KMS 托管 |
| 按单条配置授权 | 当前权限粒度仍是整个环境 |
| 自动重启应用 | 修改配置后,需要应用自己的重载逻辑,或由部署系统重启 |
| 自动部署续期证书 | 可以签发新证书,但替换应用中的旧证书和到期告警需要另行安排 |
访问日志与审计日志
Access 记录读取操作,通过 NATS 发送;故障时可能丢失,不能作为“每次读取都有记录”的保证。
Audit 记录变更操作及已登录用户被拒绝的写入。已保存的事件通过数据库待发送队列重试投递。如果拒绝记录无法持久化,请求会返回 503 audit_unavailable。测试已覆盖 ClickHouse 中断后的重投递;数据库不可用时不能承诺仍然保存了记录。
怎样反馈问题
普通使用问题可以提交 Issue。请提供版本、状态码、Request ID 和脱敏后的最小复现,不要附上 Token、私钥、生产配置或完整敏感响应。
安全漏洞请使用仓库的私密报告入口,不要先公开利用细节。