Amazon KMS (Key Management Service) 是一項 Amazon Web Services (AWS) 提供的全受管服務,它讓您可以輕鬆地建立和控制用於加密資料的加密金鑰 (Encryption Keys)。KMS 將硬體安全模組 (HSM) 和金鑰管理服務整合在一起,幫助您保護用於 AWS 服務和應用程式中的加密金鑰。
簡單來說,KMS 提供了一個集中的、安全的方式來管理你的加密金鑰,讓你可以對數據進行加密,而無需自己處理金鑰的生成、儲存、保護、輪換和稽核等複雜性。
主要概念與特點:
- 受管加密金鑰:
- KMS 提供不同類型的金鑰: 客戶主金鑰 (Customer Master Keys, CMKs):這是您在 KMS 中建立和管理的主要金鑰。CMK 永遠不會離開 KMS,它用於加密和解密您的數據加密金鑰 (Data Keys)。 客戶管理的 CMK (Customer Managed CMK): 您可以完全控制這些金鑰的建立、輪換、權限和刪除。 AWS 受管 CMK (AWS Managed CMK): AWS 代表您建立和管理這些金鑰,並將其用於特定的 AWS 服務(例如 S3, EBS, RDS 等)。您可以在 IAM 策略中控制其使用。 AWS 擁有的 CMK (AWS Owned CMK): 這是 AWS 為其服務使用的金鑰,您無法直接管理或稽核這些金鑰。 資料金鑰 (Data Keys): CMK 不直接加密您的應用程式資料,而是用於加密和解密您的資料金鑰。資料金鑰用於實際加密您的大量應用程式資料。這種分層加密(也稱為信封加密 Envelope Encryption)更高效。
- 安全性與金鑰控制:
- 硬體安全模組 (HSM): KMS 使用符合 FIPS 140-2 Level 2 或 Level 3 的認證硬體安全模組來保護您的金鑰,防止未經授權的存取和使用。
- 嚴格的存取控制: 與 AWS IAM (Identity and Access Management) 深度整合,讓您可以精細地控制哪些使用者或服務可以存取和使用哪些金鑰,以及執行哪些加密操作。
- 自動金鑰輪換: 您可以配置客戶管理的 CMK 自動輪換,以增加安全性。
- 稽核與監控:
- AWS CloudTrail 整合: 記錄所有對 KMS 的 API 呼叫,包括金鑰的使用情況。這提供了金鑰使用情況的完整稽核追蹤,對於合規性非常重要。
- Amazon CloudWatch 整合: 監控 KMS 金鑰的使用和操作指標。
- 與 AWS 服務廣泛整合:
- KMS 與幾乎所有的 AWS 服務無縫整合,使得加密資料變得非常容易。例如: Amazon S3: 加密儲存在 S3 中的物件。 Amazon EBS: 加密 EC2 實例的磁碟區。 Amazon RDS: 加密資料庫實例。 Amazon Redshift: 加密資料倉儲。 Amazon DynamoDB: 加密 NoSQL 資料庫。 AWS Lambda: 加密環境變數。 AWS CloudTrail: 加密日誌檔。 AWS Secrets Manager: 加密機密資訊。 等等...
- 高可用性和耐用性:
- KMS 是一項高度可用且具備冗餘的服務,其底層架構跨越多個可用區域,確保金鑰管理服務的連續性。
典型使用案例:
- 資料加密: 加密您儲存在各種 AWS 服務中的靜態資料 (Data at Rest) 和傳輸中的資料 (Data in Transit)。
- 應用程式中的加密: 開發人員可以直接透過 KMS API 在應用程式中進行加解密操作。
- 合規性: 滿足各種行業和政府法規對數據加密和金鑰管理的合規性要求(如 HIPAA, PCI DSS, GDPR 等)。
- 集中金鑰管理: 作為組織內所有加密金鑰的中央管理系統。

















