Flynor平台文档Flynor 首页
Flynor 文档/COMPONENT · FOUNDATION
草案

Secret Store

统一 SecretRef 与 Provider 边界已经用于 Server、Robot、PI、Test Runtime 和标准 Compose 的成熟子集:兼容 env://,支持 Docker/目录 secret://、受限 file-ref://,未配置 managed-secret:// 时默认拒绝;执行侧只接收公钥或最小投影。Tester 的 CHOERODON_TEST_* Token Store 与 Agile/DevOps 凭据严格分离;@flynor/choerodon-core 不拥有任何凭据。企业 Secret backend、统一 workload identity、撤销与双版本轮换作为非阻塞增强继续治理。

展示名称凭据存储
类型security-foundation
成熟度试点
Owner集成平台组
01

职责与边界

负责

  • 保存与轮换 Secret 正文
  • 校验 workload identity、项目和环境作用域
  • 签发短期凭据投影并记录取用审计
  • 撤销、过期和异常使用告警

不负责

  • 不保存 Project Resource 业务配置
  • 不把 Secret 返回给 Worker、Agent、Project Intelligence、Robot 或端侧
  • 不决定能力授权
  • 不把 Tester Token 与 Agile/DevOps Token 合并或复制到 Runner Dispatch
02

数据与接口

拥有的数据

  • Secret 正文、版本、轮换策略、访问审计和吊销状态

输入

CredentialRef;workload identity;project/environment scope

输出

短期凭据投影;失效/吊销状态;秘密访问审计引用

协议

Secret Provider API;workload identity;mTLS/local projection

依赖

protocol

03

运行与部署

Owner / 支持

集成平台组 · pilot · active;升级路径:安全平台组 → 平台治理组

交付策略

embedded · supported;当前受支持子集随宿主嵌入:Server 保管 Capability Lease 私钥,Robot/PI/Test Runtime 只接收公钥或最小 SecretRef 投影,标准 Compose 使用 Docker Secret/受控文件并保留旧 *_env 兼容。企业 Secret backend、统一 workload identity、撤销和双版本轮换是非阻塞增强,不把当前子集伪装成独立服务。

配置

Secret backend、轮换、TTL、workload policy;不进入项目 Manifest。

部署

当前受支持子集嵌入 Server、Robot、Project Intelligence 与 Test Runtime;标准 Compose 使用 Docker Secret/受控文件。未来企业 Provider 可独立安全域部署。

健康检查

当前子集检查引用解析、私钥/公钥分离、默认拒绝、文件权限和无泄露;企业 backend、轮换与吊销另行增量验收。

可观测性

只记录 secretRef、workload、project/environment、结果和 auditRef,不记录正文。

升级与回滚

版本化 Secret 与双版本轮换;回滚不恢复已吊销凭据。

依据

architecture/audits/project-capability-runtime-closure-2026-08-30.md · architecture/adrs/0008-project-capability-reuse-eight-layer-architecture.md · architecture/adrs/0009-test-management-runner-browser-boundaries.md · architecture/test-integration.manifest.json · architecture/schemas/project-resource-config.schema.json · architecture/audits/catalog-secret-store-governance-2026-08-26.md · apps/robot/src/flynor_robot/secret_store.py · apps/robot/tests/test_secret_store.py · apps/robot/schemas/runtime-settings.schema.json