在 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 用于加密部分资源。
用户无需管理,但也无法直接控制。
2
对称密钥 vs 非对称密钥
对称密钥:同一个密钥用于加密和解密,速度快,适合大部分应用。
非对称密钥:包含公钥和私钥,适用于跨系统加密、数字签名等场景。
如果数据需要在 AWS 外部 加解密,非对称密钥可能更合适;否则,大多数情况下选择对称密钥效率更高。
3
KMS 成本
(以 2025 年标准为例)
每个密钥:1 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 的区别
AWS KMS:全托管,AWS 管理基础设施和高可用。
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 管理应用凭证。
这种方案兼顾了安全性、运维效率和成本控制。
在云上的交付能力
作为 AWS 代理商,我们具备全面的云上交付能力,能够将 AWS KMS、CloudHSM 和 Secrets Manager 的功能优势,快速落地到客户的业务场景中。无论是密钥管理策略设计、访问控制策略落实,还是敏感信息的安全存储与自动化管理,我们都能提供端到端的方案支持。同时,我们还为客户提供培训、运维指导及应急响应服务,帮助企业在云上安全、合规、高效地运行业务,真正实现“安全上云”的价值。

