在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/月
- 常規請求:每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 管理應用程式憑證。
- 這種方案兼顧了安全性、維運效率和成本控制。