身份与机密管理 (Identity & Secret Management)
身份是新的边界。在云原生世界中,配置文件中的静态密码是大多数违规行为的根本原因。Cyberun Cloud 通过集中式身份和访问管理 (IAM) 以及动态机密消除了这种风险。
统一身份 (SSO)
我们提供由 Keycloak(行业标准的开源身份提供商)驱动的 身份即服务。
- 单点登录 (SSO): 一组凭据即可访问 Rancher 控制台、Harbor 仓库、OpenSearch 仪表板以及您自己的应用程序。
- 联邦认证: 我们支持与企业 IdP(Google Workspace, Azure AD, Okta)集成。您的员工可以使用其现有的企业帐户登录。
- 细粒度 RBAC: 权限直接映射到 OIDC 组。
- 组
dev-team-> 可以部署到namespace-dev。 - 组
ops-team-> 可以 SSH 进入节点。
机密管理 (金库)
我们利用 OpenBao(HashiCorp Vault 的开源分支)来管理敏感数据。我们严格遵守 机密永远不应存储在 Git 中 的原则。
动态机密
sequenceDiagram
participant App as 业务应用
participant Agent as Vault_Agent
participant Bao as OpenBao_KMS
participant DB as PostgreSQL_DB
Note over App, DB: 初始化阶段
App->>Agent: 1. 请求数据库权限
Agent->>Bao: 2. 验证 Pod 身份 (K8s SA)
Bao->>DB: 3. 创建临时账号 (TTL=1h)
DB-->>Bao: 4. 返回临时账号/密码
Bao-->>Agent: 5. 加密传输凭据
Agent-->>App: 6. 注入凭据文件
Note over App, DB: 运行阶段
App->>DB: 7. 使用临时凭据连接
Note over Bao, DB: 1小时后 (过期)
Bao->>DB: 8. 自动撤销/删除账号
应用程序不再硬编码数据库密码,而是即时请求凭据。
- 请求: 应用程序向 OpenBao 请求访问 PostgreSQL。
- 生成: OpenBao 在数据库上动态创建一个具有 1 小时 TTL(生存时间)的临时用户名/密码。
- 注入: 凭据通过 Sidecar 或 CSI 驱动程序注入到 Pod 中。
- 撤销: 1 小时后,凭据自动过期。即使泄露,也毫无用处。
静态加密
存储在 Cyberun 平台内的所有机密都使用 AES-256-GCM 加密。
- KMS 集成: 主加密密钥受到保护,可以定期轮换而无需停机。
- etcd 加密: 我们为 Kubernetes 数据存储 (etcd) 启用了静态加密,确保服务器硬盘的物理被盗不会导致集群机密泄露。