本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控和修復 AWS KMS 金鑰的排程刪除
由米克許汗 (AWS) 和拉姆雅普里帕卡 (AWS) 創建
環境:生產 | 技術:安全性、身分識別、合規性;營運 | AWS 服務:Amazon SNS; AWS CloudTrail; Amazon CloudWatch |
Summary
在 Amazon Web Services (AWS) 雲端上,刪除 AWS 金鑰管理服務 (AWS KMS) 金鑰可能會導致資料遺失。刪除會移除金鑰材料和與 AWS KMS 金鑰相關聯的所有中繼資料,而且無法復原。刪除 AWS KMS 金鑰後,您無法再解密該 AWS KMS 金鑰下加密的資料,因此無法復原資料。
此模式會設定監控,並在應用程式或使用者排定 AWS KMS 金鑰進行刪除時發出通知。如果收到通知,您可能想要取消刪除 AWS KMS 金鑰,然後重新考慮刪除該金鑰的決定。該模式使用 AWS Systems Manager 自動化執行手冊AWSConfigRemediation,CancelKeyDeletion以方便取消刪除 AWS KMS 金鑰。
注意:模式的 CloudFormation 範本必須部署在您要監控刪除 AWS KMS 金鑰的所有 AWS 區域。
先決條件和限制
先決條件
有效的 AWS 帳戶
了解下列 AWS 服務:
Amazon EventBridge
AWS KMS
Amazon Simple Notification Service (Amazon SNS)
AWS Systems Manager
限制
任何解決方案的自訂都需要 AWS CloudFormation 範本和此模式中使用的 AWS 服務的知識。
目前,該解決方案使用默認事件總線,可以根據需求進行定制。如需有關自訂事件匯流排的詳細資訊,請參閱 AWS 文件。
架構
目標技術堆疊
Amazon EventBridge
AWS KMS
Amazon SNS
AWS Systems Manager
自動化使用以下內容:
AWS Command Line Interface (AWS CLI) (AWS CLI) 或 AWS 開發套件
AWS CloudFormation 堆疊
目標架構
已排程刪除 AWS KMS 金鑰。
排程的刪除事件是由規則評估。 EventBridge
該 EventBridge 規則涉及 Amazon SNS 主題。
此 EventBridge 規則會啟動 Systems Manager 自動化和工作手冊。
執行手冊會取消刪除。
自動化和規模
CloudFormation 堆疊會部署所有必要的資源和服務,以便此解決方案運作。該模式可以在單一帳戶中獨立執行,也可以 CloudFormation StackSets 針對多個獨立帳戶或組織使用 AWS 執行。
aws cloudformation create-stack --stack-name <stack-name>\ --template-body file://<Full-Path-of-file> \ --parameters ParameterKey=,ParameterValue= \ --capabilities CAPABILITY_NAMED_IAM
工具
工具
AWS CloudFormation
— AWS CloudFormation 是一項服務,可協助您建立 Amazon Web Services 資源模型和設定,以減少管理這些資源的時間,將更多時間專注於在 AWS 上執行的應用程式。您可以使用 CloudFormation 範本在 AWS 區域的 AWS 帳戶中建立堆疊。範本描述您想要的所有 AWS 資源,並為您 CloudFormation 佈建和設定這些資源。 AWS CLI — AWS Command Line Interface (AWS CLI) (AWS CLI) 是一種開放原始碼工具,可讓您使用命令列殼層中的命令與 AWS 服務互動。
Amazon EventBridge — Amazon EventBridge 是一種無伺服器事件匯流排服務,將您的應用程式與來自各種來源的資料連接起來。 EventBridge 從您自己的應用程式和 AWS 服務交付即時資料串流,並將該資料路由到 AWS Lambda 等目標。 EventBridge 簡化了構建事件驅動架構的過程。
AWS KMS
— AWS Key Management Service (AWS KMS) 是一項受管服務,可用來建立和控制 AWS KMS 金鑰,這是用來加密資料的加密金鑰。 AWS 開發套件 — AWS
工具包含開發套件,因此您可以使用自己選擇的程式設計語言在 AWS 上開發和管理應用程式。 Amazon SNS
— Amazon Simple Notification Service (Amazon SNS) 是一種受管服務,可提供從發佈者到訂閱者 (也稱為生產者和消費者) 的訊息傳遞。發佈者透過製作並傳送訊息到主題 (其為邏輯存取點和通訊管道) 與訂閱者進行非同步的通訊。 AWS Systems Manager — AWS Systems Manager 是一項 AWS 服務,可讓您在 AWS 上檢視和控制基礎設施。使用系 Systems Manager 主控台,您可以在 AWS 資源中自動執行操作任務。Systems Manager 透過掃描您的受管執行個體並報告 (或採取修正動作) 其偵測的任何政策違規,協助您保持安全與合規。
Code
已貼附專案的
alerting_ct_logs.yaml
CloudFormation 樣板。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
安裝和設定 AWS CLI。 | 安裝 AWS CLI 第 2 版。然後為身分、預設輸出格式以及 AWS CLI 用於與 AWS 互動的預設 AWS 區域設定安全登入資料設定。 身分識別必須具備執行工作所需的權限。 | 開發者、安全工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
下載 CloudFormation 範本。 | 將附件下載到電腦上的本機路徑,然後解壓縮 | 開發者、安全工程師 |
部署範本。 | 在已設定 AWS 帳戶設定檔的終端機視窗中,執行下列命令。
在下一個步驟中,輸入範本參數的值。 | 開發者、安全工程師 |
完成範本參數。 | 輸入所需的參數值。
| 開發者、安全工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
確認訂閱。 | 檢查您的電子郵件收件匣,然後在從 Amazon SNS 收到的電子郵件訊息中選擇「確認訂閱」。網頁瀏覽器視窗隨即開啟,並顯示訂閱確認和您的訂閱 ID。 | 開發者、安全工程師 |
相關資源
參考
教學課程和影片
深入探討 Amazon EventBridge
(AWS 線上技術會談)
AWS 工作坊
其他資訊
下列程式碼提供範例,說明如何擴充解決方案,以監控和通知您任何 AWS 服務的任何變更。範例包括預先定義的樣式和自訂樣式。如需詳細資訊,請參閱中的事件和事件模式 EventBridge。
EventPattern: source: - aws.kms detail-type: - AWS API Call via CloudTrail detail: eventSource: - kms.amazonaws.com eventName: - ScheduleKeyDeletion
附件
若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip