本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控和修复按计划删除密钥的情况 AWS KMS
由 Mikesh Khanal (AWS) 和 Ramya Pulipaka () 创作 AWS
摘要
在 Amazon Web Services (AWS) 云上,删除AWS密钥管理服务 (AWSKMS) 密钥可能会导致数据丢失。删除操作会删除密钥材料和与AWSKMS密钥关联的所有元数据,并且不可逆转。删除AWSKMS密钥后,您将无法再解密使用该密AWSKMS钥加密的数据,因此无法恢复数据。
这种模式可以设置监控,当应用程序或用户计划删除AWSKMS密钥时会发出通知。如果您收到通知,则可能需要取消对AWSKMS密钥的删除并重新考虑删除密钥的决定。该模式使用 S AWS ystems Manager 自动化运行手册AWSConfigRemediationCancelKeyDeletion来简化取消密钥的AWSKMS删除。
注意
该模式的 CloudFormation 模板必须部署在您要监控AWSKMS密钥删除情况的所有AWS区域。
先决条件和限制
先决条件
一个活跃的AWS账户
了解以下AWS服务:
Amazon EventBridge
AWS KMS
亚马逊简单通知服务(亚马逊SNS)
AWS Systems Manager
限制
要对解决方案进行任何定制,都需要了解此模式中使用的AWS CloudFormation 模板和AWS服务。
目前,该方案使用默认的事件总线,可以根据需求进行定制。有关自定义事件总线的更多信息,请参阅AWS文档。
架构
目标技术堆栈
Amazon EventBridge
AWS KMS
Amazon SNS
AWS Systems Manager
使用以下方法实现自动化:
AWS命令行界面 (AWSCLI) 或 AWS SDK
AWS CloudFormation 堆栈
目标架构
已计划删除AWSKMS密钥。
预定删除事件由规则进行评估。 EventBridge
该 EventBridge 规则涉及亚马逊的SNS话题。
该 EventBridge 规则启动 Systems Manager 自动化和运行手册。
运行手册取消删除。
自动化和扩缩
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 预置和配置这些资源。 AWSCLI— AWS 命令行界面 (AWSCLI) 是一个开源工具,您可以使用命令行 shell 中的命令与AWS服务进行交互。
Amaz on EventBridge — Amazon EventBridge 是一项无服务器事件总线服务,可将您的应用程序与来自各种来源的数据连接起来。 EventBridge 提供来自您自己的应用程序和AWS服务的实时数据流,并将这些数据路由到 AWS Lambda 等目标。 EventBridge 简化了构建事件驱动架构的过程。
AWSKMS
— AWS 密钥管理服务 (AWSKMS) 是一项托管服务,用于创建和控制AWSKMS密钥,即用于加密数据的加密密钥。 AWSSDKs
— 包括AWS工具,SDKs以便您可以使用自己选择AWS的编程语言开发和管理应用程序。 Amaz
on SNS — Amazon 简单通知服务 (AmazonSNS) 是一项托管服务,可从发布者向订阅者(也称为制作者和消费者)提供消息传送。发布者通过将消息发送至主题与订阅用户进行异步交流,主题是一个逻辑接入点和通信渠道。 AWSSystems M anager — S AWS ystems Manager 是一项AWS服务,你可以用它来查看和控制你的基础架构AWS。使用 Systems Manager 控制台,您可以自动执行跨AWS资源的操作任务。Systems Manager 通过扫描托管实例并报告其检测到的任何策略违规行为(或采取纠正措施)来帮助您维护安全性和合规性。
代码
随函附上该项目的
alerting_ct_logs.yaml
CloudFormation 模板。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
安装和配置 AWS CLI。 | 安装AWSCLI版本 2。然后为身份配置安全凭证设置、默认输出格式以及AWSCLI用于与之交互的默认AWS区域AWS。 该身份必须具有执行任务所需权限。 | 开发人员、安全工程师 |
任务 | 描述 | 所需技能 |
---|---|---|
下载 CloudFormation 模板。 | 将附件下载到计算机上的本地路径,然后解压缩 | 开发人员、安全工程师 |
部署 模板。 | 在已配置AWS账户配置文件的终端窗口中,运行以下命令。
在下一步中,输入模板参数的值。 | 开发人员、安全工程师 |
完成模板参数。 | 输入所需参数值。
| 开发人员、安全工程师 |
任务 | 描述 | 所需技能 |
---|---|---|
确认订阅。 | 检查您的电子邮件收件箱,然后在从亚马逊收到的电子邮件中选择 “确认订阅” SNS。Web 浏览器窗口将打开,并显示订阅确认信息和您的订阅 ID。 | 开发人员、安全工程师 |
相关资源
参考
教程和视频
深入了解亚马逊 EventBridge
(AWS在线技术讲座)
AWS Workshop
其他信息
以下代码提供了扩展解决方案的示例,以监控任何AWS服务中的任何更改并通知您。这些示例包括预定义模式和自定义模式。有关更多信息,请参阅中的事件和事件模式 EventBridge。
EventPattern: source: - aws.kms detail-type: - AWS API Call via CloudTrail detail: eventSource: - kms.amazonaws.com eventName: - ScheduleKeyDeletion
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip