選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

監控和修復 AWS KMS 金鑰的排程刪除 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控和修復 AWS KMS 金鑰的排程刪除

由 Mikesh Khanal (AWS) 和 Ramya Pulipaka (AWS) 建立

Summary

在 Amazon Web Services (AWS) 雲端上,刪除 AWS Key Management Services (AWS KMS) 金鑰可能會導致資料遺失。刪除會移除與 AWS KMS 金鑰相關聯的金鑰材料和所有中繼資料,而且無法復原。刪除 AWS KMS 金鑰後,您無法再解密在該 AWS KMS 金鑰下加密的資料,以便無法復原資料。

此模式會設定監控,並在應用程式或使用者排定刪除 AWS KMS 金鑰時收到通知。如果您收到通知,建議您取消刪除 AWS KMS 金鑰,並重新考慮是否刪除該金鑰。此模式使用 AWS Systems Manager 自動化 Runbook 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 命令列界面 (AWS CLI) 或 AWS 開發套件

    • AWS CloudFormation 堆疊

目標架構

監控、警示和修復程序五個步驟的圖表。
  1. 已排定刪除 AWS KMS 金鑰。

  2. EventBridge 規則會評估排程刪除事件。

  3. EventBridge 規則會參與 Amazon SNS 主題。

  4. EventBridge 規則會啟動 Systems Manager 自動化和 Runbook。

  5. Runbook 會取消刪除。

自動化和擴展

CloudFormation 堆疊會部署此解決方案運作所需的所有必要資源和服務。模式可以在單一帳戶中獨立執行,或使用 AWS CloudFormation StackSets 執行多個獨立帳戶或組織。

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) 是開放原始碼工具,可讓您使用命令列 shell 中的命令與 AWS 服務互動。

  • Amazon EventBridge – Amazon EventBridge 是一種無伺服器事件匯流排服務,可將您的應用程式與來自各種來源的資料連線。EventBridge 會從您自己的應用程式和 AWS 服務提供即時資料串流,並將該資料路由到 AWS Lambda 等目標。EventBridge 可簡化建置事件驅動架構的程序。

  • AWS KMS – AWS Key Management Service (AWS KMS) 是一種受管服務,用於建立和控制 AWS KMS 金鑰,這是用來加密資料的加密金鑰。

  • AWS SDKs – AWS 工具包含SDKs,因此您可以使用您選擇的程式設計語言在 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 區域。

身分必須具有執行任務所需的許可。

開發人員、安全工程師

準備 AWS 帳戶

任務描述所需的技能

安裝和設定 AWS CLI。

安裝 AWS CLI 第 2 版。然後設定身分的安全登入資料設定、預設輸出格式,以及 AWS CLI 用來與 AWS 互動的預設 AWS 區域。

身分必須具有執行任務所需的許可。

開發人員、安全工程師
任務描述所需的技能

下載 CloudFormation 範本。

將附件下載至您電腦上的本機路徑,並擷取alerting_ct_logs.yaml範本檔案。

開發人員、安全工程師

部署 範本。

在已設定 AWS 帳戶設定檔的終端機視窗中,執行下列命令。

aws cloudformation create-stack --stack-name <stack_name> \ --capabilities <Value> \ --template-body file://<Full_Path> \ --parameters ParameterKey=DestinationEmailAddress,ParameterValue=<Value> \ ParameterKey=SNSTopicName,ParameterValue=<Value> \ ParameterKey=EnableRemediation ,ParameterValue=<Value> \ ParameterKey=AutomationAssumeRole,ParameterValue=<Value>

在下一個步驟中,輸入範本參數的值。

開發人員、安全工程師

完成範本參數。

輸入參數的必要值。

  • DestinationEmailAddress – 排定刪除 AWS KMS 金鑰時接收提醒的電子郵件地址。

  • SNSTopicName – Amazon SNS 主題的名稱。

  • EnableRemediation – 使用 Systems Manager Runbook 取消排定的金鑰刪除。允許的值為 truefalse

  • AutomationAssumeRole – 角色的 Amazon Resource Name (ARN),允許 Systems Manager 自動化代表您執行動作。如需詳細資訊,請參閱 AWSConfigRemediation-CancelKeyDeletion 文件中的必要 IAM 許可一節。 

  • Capabilities – 若要讓 AWS CloudFormation 建立堆疊,您必須明確確認您的堆疊範本包含特定功能。

開發人員、安全工程師

部署 AWS CloudFormation 範本

任務描述所需的技能

下載 CloudFormation 範本。

將附件下載至您電腦上的本機路徑,並擷取alerting_ct_logs.yaml範本檔案。

開發人員、安全工程師

部署 範本。

在已設定 AWS 帳戶設定檔的終端機視窗中,執行下列命令。

aws cloudformation create-stack --stack-name <stack_name> \ --capabilities <Value> \ --template-body file://<Full_Path> \ --parameters ParameterKey=DestinationEmailAddress,ParameterValue=<Value> \ ParameterKey=SNSTopicName,ParameterValue=<Value> \ ParameterKey=EnableRemediation ,ParameterValue=<Value> \ ParameterKey=AutomationAssumeRole,ParameterValue=<Value>

在下一個步驟中,輸入範本參數的值。

開發人員、安全工程師

完成範本參數。

輸入參數的必要值。

  • DestinationEmailAddress – 排定刪除 AWS KMS 金鑰時接收提醒的電子郵件地址。

  • SNSTopicName – Amazon SNS 主題的名稱。

  • EnableRemediation – 使用 Systems Manager Runbook 取消排定的金鑰刪除。允許的值為 truefalse

  • AutomationAssumeRole – 角色的 Amazon Resource Name (ARN),允許 Systems Manager 自動化代表您執行動作。如需詳細資訊,請參閱 AWSConfigRemediation-CancelKeyDeletion 文件中的必要 IAM 許可一節。 

  • Capabilities – 若要讓 AWS CloudFormation 建立堆疊,您必須明確確認您的堆疊範本包含特定功能。

開發人員、安全工程師
任務描述所需的技能

確認訂閱。

檢查您的電子郵件收件匣,然後在您從 Amazon SNS 收到的電子郵件中選擇確認訂閱。Web 瀏覽器視窗會開啟並顯示訂閱確認和您的訂閱 ID。 

開發人員、安全工程師

確認訂閱

任務描述所需的技能

確認訂閱。

檢查您的電子郵件收件匣,然後在您從 Amazon SNS 收到的電子郵件中選擇確認訂閱。Web 瀏覽器視窗會開啟並顯示訂閱確認和您的訂閱 ID。 

開發人員、安全工程師

相關資源

參考

教學課程和影片

AWS 研討會

其他資訊

下列程式碼提供範例,以延伸解決方案,以監控和通知您任何 AWS 服務的任何變更。這些範例包括預先定義的模式和自訂模式。如需詳細資訊,請參閱 EventBridge 中的事件和事件模式

EventPattern:         source:         - aws.kms         detail-type:         - AWS API Call via CloudTrail         detail:           eventSource:           - kms.amazonaws.com           eventName:           - ScheduleKeyDeletion

附件

若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。