4. 云端KMS服务介绍:主流云厂商KMS功能对比、计费模型、SLA

说实话,自建HSM迁移到云端,最核心的一步就是选对KMS。我做过不少迁移项目,每次到选型阶段都要把三大厂商翻来覆去比一遍。为什么呢?因为坑藏在细节里。下面我带你逐个看看AWS KMS、Azure Key Vault和GCP Cloud KMS,咱们从功能、计费、SLA三个维度掰开揉碎聊。

4.1 AWS KMS – 老牌选手,生态最全

AWS KMS用起来最顺手,原因很简单:跟CloudTrail、Lambda、S3深度集成。我自己刚接触时就被它“一条龙”的审计能力惊到了——每次密钥操作都自动写入CloudTrail,根本不需要额外配置。

  • 核心功能:支持CMK(客户主密钥)、自动轮换(每年一次,可配置)、FIPS 140-2 Level 2/3(CloudHSM做卫士)。
  • HSM支持:CloudHSM集成,但注意——CloudHSM是独立的,不是KMS默认后端。KMS本身使用的是经过FIPS 140-2 Level 2认证的HSM集群,如果你需要Level 3,得额外买CloudHSM。
  • 权限模型:基于IAM + 密钥策略,可以精细到“谁能在什么条件下用哪个密钥”。
我踩过的坑:曾经有个客户把CMK禁用了,结果所有加密的S3对象都访问不了。恢复密钥很麻烦,因为CloudTrail日志都被加密了……嗯,从那以后我强烈建议给密钥加上“管理员恢复”计划。

4.2 Azure Key Vault – 企业级安全,软删除是救命稻草

Azure Key Vault的设计思路跟AWS不太一样,它特意加强了“误操作防护”。比如软删除功能,你删掉一个密钥后,默认保留90天,期间可以恢复。我记得有一次我在测试环境不小心误删了产品密钥,差点背锅,还好软删除救了场。

  • 核心功能:支持密钥、机密、证书统一管理;硬件的Key Vault(Managed HSM)基于FIPS 140-2 Level 3的HSM;支持BYOK(Bring Your Own Key)。
  • 集成生态:与Azure AD、RBAC深度绑定,权限控制走Azure的角色分配。
  • 软删除与清除保护:默认开启,可配置保留天数(7–90天)。
注意:Azure Key Vault的计费分为“标准版”和“高级版”。高级版才有HSM硬件保护,标准版是软件加密。很多新用户选错版本,以为标准版也带HSM。不是的!

4.3 GCP Cloud KMS – 简约但不简单,全球统一管理

GCP Cloud KMS给人的第一印象是“清爽”。你想想看,它的密钥层次特别清晰:Key Ring -> CryptoKey -> Key Version。我个人习惯用GCP做多地域密钥分发,因为它支持全局密钥环,跨region复制不费劲。

  • 核心功能:自动轮换(可设置周期,比如30天或1年);支持Cloud HSM(FIPS 140-2 Level 3);支持CSEK(客户提供加密密钥)——适合合规要求很高的场景。
  • CSEK特别说明:你可以自己生成密钥,然后通过Cloud KMS API提交,GCP只用它加密你的数据,但密钥本身不被GCP持久化。这招在金融场景里很常见。

我的经验:GCP的计费颗粒度特别细——你每创建一个密钥版本都会产生费用,哪怕不用也收钱。所以别忘了清理废弃的版本,不然月底账单吓人。

4.4 功能对比表

我把三大KMS的核心功能直接怼到一张表里,方便你一眼扫完。

特性 AWS KMS Azure Key Vault GCP Cloud KMS
HSM等级 默认 Level 2,CloudHSM(Level 3)需额外购买 标准版无HSM,高级版 Level 3 默认 Level 2,Cloud HSM(Level 3)按需开通
自动轮换 强制每年一次,可自定义策略 手动轮换,需用生命周期策略自动触发 按周期自动轮换(最小30天)
BYOK支持 支持(导入外部密钥材料) 支持(Bring Your Own Key) 支持(External Key Material)
软删除 需手动启用“密钥删除保护”,否则直接删 默认开启,可恢复90天 不直接提供软删除,需通过版本控制处理
审计日志 CloudTrail自动记录 Azure Monitor + Log Analytics Cloud Audit Logs
区域分布 多区域副本,需手动复制密钥(多区域CMK) 按区域独立Key Vault,不支持全局 全局Key Ring,密钥自动跨区域复制(可选)

4.5 计费模型对比

计费这件事,说白了就是“用多少付多少”,但每家的计费项差别挺大。我建议你迁移前先估算一下每月密钥操作量,不然容易超预算。

计费维度 AWS KMS Azure Key Vault GCP Cloud KMS
月费(每密钥/密钥版本) $1/月/CMK(区域密钥) 标准版:免费(仅前10000次操作)
高级版:$0.03/月/密钥
$0.06/月/密钥版本(注意:每个版本单独收)
API操作费 $0.03/万次调用(Encrypt/Decrypt) 标准版:$0.06/万次操作
高级版:$0.10/万次操作
$0.03/万次操作(对称加密)
HSM附加费 CloudHSM按实例收费(≈$1.6/小时) 高级版已含HSM费用 Cloud HSM按集群计费(≈$3/小时)
免费层 无免费层,但每月CMK前1次操作免费 标准版每月10000次免费操作 每月前1万次操作免费
个人经验:如果你的应用每天加密解密次数超过百万级,GCP的版本计费可能比AWS贵。有一次我给一个IoT平台做迁移,对比下来AWS KMS最划算,因为对方只用了对称加密且操作量大。

4.6 SLA对比

SLA不是简单比数字,还得看适用场景。比如单区域和跨区域SLA差很多。我整理了一个简单表格,但记住:最终SLA以官网为准。

维度 AWS KMS Azure Key Vault GCP Cloud KMS
单区域SLA 99.99% 99.99%(高级版标准版相同) 99.99%
跨区域/多可用区 99.999%(将密钥副本复制到多个区域) 不支持跨区域单一Key Vault,需手动同步 99.999%(全局密钥自动跨区域副本)
常见补偿条件 月度可用性低于99.99%可申请10%–30%折扣 同一标准,信用额度按服务级别调整 低于99.99%可申请服务积分
注意:跨区域SLA虽然高,但需要额外配置。我就见过一个项目图省事只部署了单区域,结果区域故障导致整个KMS不可用。所以别为省配置费去赌99.99%的可用性。

4.7 核心逻辑框架图

下面这幅SVG图把三个KMS的关键维度画在一起,方便你脑子里建立对比图谱。

主流云厂商KMS对比框架 AWS KMS HSM等级:Level 2(+CloudHSM Level 3) 自动轮换:强制1年 计费:$1/密钥 + $0.03/万次 SLA:单区域99.99%,跨区域99.999% Azure Key Vault HSM等级:标准版无HSM,高级版Level 3 自动轮换:需手动策略 计费:标准版前1万次免费,高级版$0.03/密钥 SLA:99.99%(支持软删除) GCP Cloud KMS HSM等级:Level 2,Cloud HSM Level 3 自动轮换:周期可配(最小30天) 计费:$0.06/版本/月 + $0.03/万次 SLA:99.99%(全局自动跨区域) 选型建议 如果看重审计生态选AWS;如果怕误删、需要软删除选Azure;如果多区域自动同步选GCP。

选型没有银弹。我个人习惯先看合规要求(需要Level 3吗?),再看操作频率(计费敏感吗?),最后看区域痛点(要跨云同步吗?)。把这三点理清,答案自然就出来了。