本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動加密現有和新的 Amazon EBS 磁碟區
由托尼 DeMarco (AWS)和喬希·喬希(AWS)創建
環境:生產 | 技術:儲存與備份、安全性、身分識別、合規性、管理與治理 | |
AWS 服務:AWS Config;Amazon EBS;AWS KMS;AWS Organizations;AWS Systems Manager |
Summary
Amazon Elastic Block Store (Amazon EBS) 磁碟區的加密對於組織的資料保護策略很重要。這是建立一個結構良好的環境的重要一步。雖然沒有直接加密現有未加密的 EBS 磁碟區或快照的方法,但您可以透過建立新的磁碟區或快照來加密它們。如需詳細資訊,請參閱 Amazon EC2 文件中的加密 EBS 資源。此模式提供預防性和偵測控制,可加密新的和現有的 EBS 磁碟區。在此模式中,您可以設定帳戶設定、建立自動補救程序,以及實作存取控制。
先決條件和限制
先決條件
有效的 Amazon Web Services (AWS) 帳戶
AWS Command Line Interface (AWS CLI) (AWS CLI),在 macOS、Linux 或視窗上安裝和設定
jq
, 安裝和配置在 macOS, Linux, 或視窗 AWS Identity and Access Management (IAM) 許可的佈建為具有 AWS CloudFormation、亞馬遜彈性運算雲端 (Amazon EC2)、AWS Systems Manager、AWS Config 和 AWS Key Management Service (AWS KMS) 的讀寫存取權
AWS Organizations 的設定已啟用所有功能,這是服務控制政策的要求
目標帳戶中已啟用 AWS Config
限制
在您的目標 AWS 帳戶中,不得有名為加密磁碟區的 AWS Config 規則。此解決方案會以此名稱部署規則。具有此名稱的預先存在規則可能會導致部署失敗,並導致與多次處理相同規則相關的不必要費用。
此解決方案會使用相同的 AWS KMS 金鑰加密所有 EBS 磁碟區。
如果您為帳戶啟用 EBS 磁碟區加密,則此設定為區域特定。如果您為 AWS 區域啟用此功能,則無法針對該區域中的個別磁碟區或快照停用該功能。如需詳細資訊,請參閱 Amazon EC2 文件中的預設加密。
修復現有未加密的 EBS 磁碟區時,請確保 EC2 執行個體未使用中。此自動化功能會關閉執行個體,以便中斷未加密的磁碟區並連接加密的磁碟區。正在進行修復時會有停機時間。如果這對您的組織來說是重要的基礎結構,請確定已設置手動或自動的高可用性設定,以免影響執行個體上執行的任何應用程式的可用性。建議您僅在標準維護時段期間修復重要資源。
架構
自動化流程
AWS Config 偵測到未加密的 EBS 磁碟區。
管理員使用 AWS Config 將修復命令傳送給 Systems Manager 員。
系 Systems Manager 自動化會擷取未加密 EBS 磁碟區的快照。
系 Systems Manager 自動化使用 AWS KMS 建立快照的加密副本。
Systems Manager 自動化會執行下列作業:
停止受影響的 EC2 執行個體 (如果執行中)
將新的加密磁碟區副本附加至 EC2 執行個體
將 EC2 實例返回到其原始狀態
工具
AWS 服務
AWS CLI — AWS Command Line Interface (AWS CLI) (AWS CLI) 可讓您直接存取 AWS 服務的公有應用程式程式設計界面 (API)。您可以使用 AWS CLI 探索服務的功能,並開發殼層指令碼來管理資源。除了低階 API 等效命令之外,數個 AWS 服務還為 AWS CLI 提供自訂服務。自訂功能可能包括較高階的命令,可簡化具有複雜 API 的服務使用。
AWS CloudFormation — AWS CloudFormation 是一項可協助您建立 AWS 資源模型和設定 AWS 資源的服務。您可以建立範本來描述所需的所有 AWS 資源 (例如 Amazon EC2 執行個體),並為您 CloudFormation 佈建和設定這些資源。
AWS 組態 — AWS Config 提供 AWS 帳戶中 AWS 資源組態的詳細檢視。這包含資源彼此之間的關係和之前的組態方式,所以您可以看到一段時間中組態和關係的變化。
Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) 是一種網路服務,提供可調整大小的運算容量,讓您用來建立和託管軟體系統。
AWS KMS — AWS Key Management Service (AWS KMS) 是針對雲端擴展的加密和金鑰管理服務。其他 AWS 服務會使用 AWS KMS 金鑰和功能,您可以使用這些金鑰和功能來保護 AWS 環境中的資料。
AWS Organizations — AWS Organizations 是一種帳戶管理服務,可讓您將多個 AWS 帳戶合併到您建立並集中管理的組織中。
AWS Systems Manager Automation — Systems Manager 自動化可簡化 Amazon EC2 執行個體和其他 AWS 資源的常見維護和部署任務。
其他服務
jq-jq
是一個輕量級和靈活的命令行 JSON 處理器。您可以使用此工具從 AWS CLI 輸出擷取關鍵資訊。
Code
此模式的程式碼可在使用客戶 KMS 金鑰存放庫 GitHub 自動修復未加密的 EBS 磁碟區
中找到。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
下載腳本和 CloudFormation 模板。 | 從使用客戶 KMS 金鑰存放庫 GitHub 自動修復未加密的 EBS 磁碟區 | AWS 管理員,一般 AWS |
識別 AWS KMS 金鑰的管理員。 |
| AWS 管理員,一般 AWS |
部署堆疊 1 CloudFormation 範本。 |
如需部署 CloudFormation 範本的詳細資訊,請參閱 CloudFormation 文件中的使用 AWS CloudFormation 範本。 | AWS 管理員,一般 AWS |
部署堆疊 2 CloudFormation 範本。 | 在中 CloudFormation,部署
| AWS 管理員,一般 AWS |
建立未加密的磁碟區進行測試。 | 使用未加密的 EBS 磁碟區建立 EC2 執行個體。如需指示,請參閱 Amazon EC2 文件中的建立 Amazon EBS 磁碟區。實例類型並不重要,並且不需要訪問實例。您可以建立 t2.micro 執行個體以保留在免費方案中,而且不需要建立 key pair。 | AWS 管理員,一般 AWS |
測試 AWS Config 規則。 |
您可以在「Systems Manager」中檢視修復進度和狀態,如下所示:
| AWS 管理員,一般 AWS |
設定其他帳戶或 AWS 區域。 | 根據您的使用案例需要,針對任何其他帳戶或 AWS 區域重複此史詩。 | AWS 管理員,一般 AWS |
任務 | 描述 | 所需技能 |
---|---|---|
執行啟用指令碼。 |
| AWS 管理員,一般 AWS,bash |
確認設定已更新。 |
| AWS 管理員,一般 AWS |
設定其他帳戶或 AWS 區域。 | 根據您的使用案例需要,針對任何其他帳戶或 AWS 區域重複此史詩。 | AWS 管理員,一般 AWS |
任務 | 描述 | 所需技能 |
---|---|---|
建立服務控制原則。 |
| AWS 管理員,一般 AWS |
相關資源
AWS 服務文件
其他資源