首页/开发/CI/CD 与发布速查/Kubernetes Secret 的边界
环境与配置管理60 条

Kubernetes Secret 的边界

Secret 默认只是 base64 编码,不等同加密:需要开启 etcd 静态加密(KMS)、收紧 RBAC,并控制挂载与读取范围。

CI/CD 与发布速查开发更新于 2026-10-12
创建kubectl create secret generic db --from-literal=password=...
安全点静态加密、RBAC、ServiceAccount 权限、节点上的临时存储与可读范围
提示Secret 落入节点磁盘的方式与卷类型相关,敏感场景核对文档

静态加密配置要点

静态加密配置要点
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
  - resources: [secrets]
    providers:
      - kms:
          apiVersion: v2
          name: app-kms
          endpoint: unix:///var/run/kmsplugin/socket.sock
      - identity: {}
默认配置下能读 Secret 的人可能远多于预期:定期审计 ClusterRole 与命名空间 RBAC 绑定。

易错点

  • 以为 Secret 自带加密:默认只是编码,必须显式配置静态加密与访问控制
  • Secret 挂载为环境变量后随进程转储泄露:优先文件挂载并控制转储行为

数据来源与参考

  • Kubernetes 文档《Encrypting Confidential Data at Rest》
  • Kubernetes 文档《Secrets》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌