You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Cloud的Cloud KMS存储私钥?

GCP Cloud KMS 私钥存储与应用接入说明

私钥存储逻辑说明

你提到的「先存存储服务再用KMS加密」不是必须流程,Cloud KMS支持两种私钥使用模式,按需选择即可:

  • KMS托管私钥模式:直接将私钥作为密钥版本导入KMS,私钥全程存储在KMS的硬件安全模块(HSM)中,不会对外暴露明文。你不需要额外将私钥存储在其他服务,只需要调用KMS开放的密码学接口完成签名、解密等操作即可,适合对私钥安全等级要求高、需要满足合规要求的场景。
  • 自托管私钥密文模式:如果需要自行保存私钥副本,可以先用KMS密钥加密私钥明文,再将加密后的密文存储在GCS、Cloud SQL等存储服务中。这种模式下KMS只负责存储加密私钥用的根密钥,不存储你的业务私钥本身,适合需要频繁读取私钥明文、对调用延迟要求较高的场景。

应用访问私钥的实现步骤

根据你选择的存储模式,对应操作流程如下:

KMS托管私钥模式

该模式下应用不需要接触私钥明文,直接调用KMS接口完成操作即可:

  1. 在Cloud KMS控制台创建对应用途的密钥环和非对称密钥,若使用自有私钥选择「导入现有密钥」选项,按指引完成私钥导入
  2. 为应用绑定的服务账号授予roles/cloudkms.cryptoOperator角色权限,确保应用有权限调用目标KMS密钥的对应接口
  3. 应用侧集成GCP官方SDK,调用KMS的asymmetricSign、decrypt、getPublicKey等接口完成所需的密码学操作即可

自托管私钥密文模式

该模式下应用需要自行完成密文解密后使用私钥:

  1. 本地使用gcloud命令,提前用KMS密钥加密私钥明文,生成密文文件:
gcloud kms encrypt \
  --key=你的KMS密钥ID \
  --keyring=你的密钥环ID \
  --location=密钥所在区域 \
  --plaintext-file=./本地私钥明文文件路径 \
  --ciphertext-file=./输出加密后密文文件路径
  1. 将生成的密文文件上传到存储服务,更推荐直接存入GCP Secret Manager,该服务是专门用于存储敏感信息的托管服务,底层默认用KMS加密,不需要你自行处理加密流程
  2. 为应用绑定的服务账号授予roles/cloudkms.cryptoKeyDecrypter角色权限,以及对应存储服务的读取权限
  3. 应用运行时先从存储服务拉取私钥密文,调用KMS的decrypt接口解密密文得到私钥明文,直接放在内存中使用即可,不要将明文写入持久化存储

内容的提问来源于stack exchange,提问作者nkhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:15:00