SEC08-BP01 實作安全金鑰管理
安全金鑰管理包括儲存、輪換、存取控制及監控保護工作負載的靜態資料所需的金鑰資料。
預期成果:您擁有可擴展、可重複且自動化的金鑰管理機制。此機制會對金鑰資料強制執行最低權限存取,並且在金鑰可用性、機密性和完整性之間取得正確的平衡。您會監控金鑰的存取情況,若需要輪換金鑰資料,您可以使用自動化程序進行輪換。您不允許真人操作員存取金鑰資料。
常見的反模式:
-
真人存取未加密的金鑰資料。
-
建立自訂加密演算法。
-
存取金鑰資料的許可過於廣泛。
建立此最佳實務的優勢:透過為工作負載建立安全的金鑰管理機制,就可以協助保護您的內容,防止未經授權的存取。此外,您可能需要依法加密您的資料。有效的金鑰管理解決方案能夠提供符合這些法規的技術機制,以保護金鑰資料。
未建立此最佳實務時的曝險等級:高
實作指引
靜態資料加密是基本的安全控制。為了實作此控制,您的工作負載須採取某種機制,以安全儲存和管理用於加密靜態資料的金鑰資料。
AWS 提供 AWS Key Management Service (AWS KMS) 來為 AWS KMS 金鑰提供耐用、安全和備援儲存。許多 AWS 服務會與 AWS KMS 整合
使用多帳戶策略部署工作負載時,您應將 AWS KMS 金鑰與使用金鑰的工作負載保存在相同的帳戶中。這個分散式模型會將管理 AWS KMS 金鑰的責任歸在您的團隊身上。在其他使用案例中,您的組織可能會選擇將 AWS KMS 金鑰儲存到集中式帳戶中。此集中式結構須實施其他政策來實現跨帳戶存取權,才能讓工作負載帳戶存取儲存在集中式帳戶中的金鑰,但此結構可能較適合跨多個 AWS 帳戶 共用單一金鑰的使用案例。
無論金鑰資料儲存在何處,您都應透過使用金鑰政策和 IAM 政策嚴格控管金鑰存取權。金鑰政策是控制 AWS KMS 金鑰存取權的主要方式。此外,AWS KMS 金鑰授權可提供 AWS 服務的存取權,以代表您加密和解密資料。檢閱 AWS KMS 金鑰存取控制指引。
您應監控加密金鑰的使用情況,以偵測不尋常的存取模式。使用儲存在 AWS KMS 中 AWS 管理的金鑰和客戶管理的金鑰執行的操作可記錄在 AWS CloudTrail 中,並且應定期審查。務必特別注意監控金鑰銷毀事件。為了減少意外或惡意銷毀金鑰資料的情況,金鑰銷毀事件並不會立即刪除金鑰資料。嘗試刪除 AWS KMS 中的金鑰會受到等待期的約束 (預設為 30 天,最短 7 天),讓管理員有時間檢閱這些動作,並在必要時撤回請求。
大多數 AWS 服務會以顯而易見的方式使用 AWS KMS,您唯一要做的就是決定要使用 AWS 管理或客戶管理的金鑰。如果您的工作負載要求直接使用 AWS KMS 來加密或解密資料,則您應使用封套加密來保護您的資料。此 AWS Encryption SDK 可為您的應用程式提供用戶端加密基本類型,以實作封套加密並與 AWS KMS 整合。
實作步驟
-
確定金鑰的適當金鑰管理選項 (AWS 受管或客戶自管)。
-
為了方便使用,AWS 為大多數服務提供了 AWS 擁有和 AWS 管理的金鑰,其提供靜態加密功能,而不需要管理金鑰資料或金鑰政策。
-
使用客戶管理的金鑰時,請考慮使用預設金鑰存放區,以便在敏捷性、安全性、資料主權與可用性之間達到最佳平衡。其他使用案例可能會要求使用自訂金鑰存放區搭配 AWS CloudHSM
或外部金鑰存放區。
-
-
檢閱您用於工作負載的服務清單,以了解 AWS KMS 與服務整合的方式。例如,EC2 執行個體可以使用加密的 EBS 磁碟區,因此要確認從這些磁碟區建立的 Amazon EBS 快照同樣是使用客戶管理的金鑰加密,並減少意外洩漏未加密的快照資料。
-
如需 AWS 服務提供之加密選項的詳細資訊,請參閱該服務之使用者指南或開發人員指南中的靜態加密主題。
-
實作 AWS KMS:AWS KMS 可讓您輕鬆建立和管理金鑰,並控制多種 AWS 服務和應用程式中的加密使用方式。
-
考慮使用 AWS Encryption SDK:當您的應用程式需要在用戶端對資料進行加密時,可使用整合 AWS KMS 的 AWS Encryption SDK。
-
啟用 IAM Access Analyzer 以自動檢閱並在發現有過度廣泛的 AWS KMS 金鑰政策時發出通知。
-
考慮使用自訂政策檢查,以確認資源政策更新未將公開存取權授予 KMS 金鑰。
-
-
啟用 Security Hub 以在金鑰政策設定錯誤、有排定要刪除的金鑰,或有未啟用自動輪替的金鑰時收到通知。
-
確定適合 AWS KMS 金鑰的日誌記錄層級。由於 AWS KMS 的呼叫 (包括唯讀事件) 會加以記錄,因此與 AWS KMS 關聯的 CloudTrail 日誌可能會變得很龐大。
-
有些組織偏好將 AWS KMS 日誌記錄活動分隔為單獨的追蹤。如需詳細資訊,請參閱《AWS KMS 開發人員指南》的 Logging AWS KMS API calls with CloudTrail。
-
資源
相關文件:
相關影片:
相關範例: