在 AWS 云安全体系中,数据加密、密钥管理和机密信息保护是保障系统安全的核心环节。AWS 提供了多种安全服务,其中 AWS Key Management Service (KMS) 、AWS CloudHSM 和 AWS Secrets Manager 是最常用的三种,但它们并非功能重复,而是面向不同的安全需求:
- AWS KMS:托管式密钥管理与加密服务,适合绝大多数应用场景,特点是易用、成本低、与 AWS 服务高度集成。
- AWS CloudHSM:专属硬件安全模块服务,提供最高的密钥自主权和合规性保障,适合对安全要求极高的行业(如金融、政府)。
- AWS Secrets Manager:专注于应用程序机密信息(如密码、API Key、OAuth Token)的安全存储和自动轮换,减少人工维护风险。
理解这三者的工作方式、优缺点和差异,对于在架构设计中作出合理选择非常重要。
什么是 AWS KMS?

AWS KMS 是一项全托管 的密钥管理服务,允许用户在云端安全地生成、存储和使用加密密钥,并可与 S3、EBS、RDS、Lambda 等几乎所有 AWS 服务无缝集成。KMS 背后依赖符合 FIPS 140-2 标准的硬件安全模块(HSM)来保护密钥的加密材料。
1. KMS 的密钥类型
KMS 中的密钥被称为 KMS Key(以前称为 CMK),分为三类:
1.Customer managed keys(客户管理密钥)
- 由用户创建和维护,拥有完全的控制权限。
- 可自定义密钥策略、设置别名、标签,启用或禁用密钥,并手动或自动轮换。
- 适合需要精细化权限控制的场景,如 SSE-KMS 加密的 S3 存储桶。
2.AWS managed keys(AWS 托管密钥)
- 由 AWS 自动创建和管理,通常用于默认加密场景。
- 运维成本低,但控制权限有限。
3.AWS owned keys(AWS 自有密钥)
- 不显示在用户账户中,AWS 用于加密部分资源。
- 用户无需管理,但也无法直接控制。
- 对称密钥 vs 非对称密钥
- 对称密钥:同一个密钥用于加密和解密,速度快,适合大部分应用。
- 非对称密钥:包含公钥和私钥,适用于跨系统加密、数字签名等场景。
如果数据需要在 AWS 外部 加解密,非对称密钥可能更合适;否则,大多数情况下选择对称密钥效率更高。
3. KMS 成本
(以 2025 年标准为例)
- 每个密钥:1 USD/月
- 常规请求:每 10,000 次 0.03 USD
- 非对称密钥生成成本更高,例如 RSA 生成对费用较高(10 美元以上/万次)。
什么是 AWS Secret Manager?

Secrets Manager 专注于应用程序机密信息管理,例如数据库密码、API Key、第三方服务凭证等。它通过与 KMS 集成,自动加密存储的机密信息,并在需要时解密返回。
1. 为什么需要 Secrets Manager?
传统方式是将密码直接写在配置文件或代码中,这存在两个问题:
- 密码暴露风险高,一旦代码泄露,凭证就被盗取。
- 密码轮换复杂,需要手动更新多个应用和配置,很容易漏改。
Secrets Manager 解决了这些痛点:
- 自动轮换:支持为 RDS、Aurora、Redshift 等数据库定期自动更新密码。
- 集中存储:所有机密集中在安全的存储中,不再散落在代码里。
- 版本控制:通过标签(如 AWSCURRENT、AWSPENDING)管理多个版本的机密,实现平滑切换。
2. 使用流程示例
- 创建一个 Secret(例如数据库连接密码),并选择加密所用的 KMS Key。
- 配置自动轮换策略(例如每 30 天更新一次)。
- 应用程序在运行时通过 API 获取当前有效的机密,而不是硬编码密码。
3. Secrets Manager 成本
- 前 30 天免费试用
- 之后每个 Secret:0.4 USD/月
- API 请求:每 10,000 次 0.05 USD
什么是 AWS CloudHSM?

CloudHSM 是一项提供专属硬件安全模块的服务,让你在 AWS 云上获得一台只属于自己的 HSM 实例,并且你是密钥的唯一持有者,AWS 无法访问。
1. 主要特性
- 符合 FIPS 140-2 Level 3 安全标准,满足金融、医疗、政府等行业的合规要求。
- 支持标准加密 API(PKCS#11、JCE、CNG),方便集成到现有系统。
- 可生成、导入、导出密钥,并执行加解密、签名、HMAC、随机数生成等操作。
2. 与 KMS 的区别
- KMS:全托管,AWS 管理基础设施和高可用。
- CloudHSM:你自己管理 HSM,包括密钥备份、恢复、高可用部署等。
3. CloudHSM 成本
(东京区域为例)
- 1.81 USD/小时
- 一台实例一个月约 1,321 USD(不含额外网络/存储费用)。
三者对比总结
特性 | AWS KMS | AWS Secrets Manager | AWS CloudHSM |
---|---|---|---|
核心功能 | 托管密钥管理与加密 | 机密信息存储与轮换 | 专属硬件安全模块 |
是否全托管 | 是 | 是 | 否 |
与 AWS 集成度 | 高 | 高 | 中等 |
控制权限 | 中等(部分可配置) | 中等 | 最高(完全自管) |
常见用途 | S3/EBS 数据加密 | 数据库密码、API Key 管理 | 金融级加密、数字签名 |
成本 | 低 | 中等 | 高 |
合规性 | 高 | 高 | 最高 |
选型建议
- 日常云上数据加密 → 优先选择 KMS,简单易用且成本低。
- 应用凭证与密码管理 → 使用 Secrets Manager,减少人工维护风险。
- 高安全 & 合规要求 → 选择 CloudHSM,获得完全的密钥控制权。
在很多实际架构中,三者会组合使用:
- 用 CloudHSM 生成顶级主密钥 → 导入到 KMS 进行日常加密 → 通过 Secrets Manager 管理应用凭证。
- 这种方案兼顾了安全性、运维效率和成本控制。