本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动加密现有和新的 Amazon EBS 卷
由 Tony DeMarco (AWS) 和 Josh Joy (AWS) 创作
代码存储库:https://github.com/aws-samples/aws-system-manager-automation-unencrypted-to-encrypted-resources /tree/main/ebs | 环境:生产 | 技术:存储和备份;安全、身份、合规;管理和治理 |
AWS服务:AWSConfig;Amazon;EBS;Organiation AWS s AWSKMS;AWSSystems Manager |
Summary
Amazon Elastic Block Store (AmazonEBS) 卷的加密对组织的数据保护策略非常重要。这是建立良好架构环境的重要一步。尽管没有直接的方法可以加密现有的未加密EBS卷或快照,但您可以通过创建新的卷或快照来对其进行加密。有关更多信息,请参阅 Amazon EC2 文档中的加密EBS资源。此模式为加密新卷和现有EBS卷提供了预防和侦查控制。在此模式中,您可以配置账户设置、创建自动修复流程以及实施访问控制。
先决条件和限制
先决条件
有效的亚马逊 Web Services (AWS) 账户
AWS命令行界面 (AWSCLI),已在 macOS、Linux 或 Windows 上安装和配置
jq
,已在 macOS、Linux 或 Windows 上安装并配置 AWSIdentity and Access Management (IAM) 权限已配置为具有对亚马逊弹性计算云 (亚马逊EC2) AWS CloudFormation、Syst AWS ems Manager、C AWS onfig 和AWS密钥管理服务 () 的读写权限 (AWSKMS)
AWSOrganizations 配置为启用所有功能,这是服务控制策略的要求
AWS已在目标账户中启用 Config
限制
在您的目标AWS账户中,不得存在名为 “加密卷” 的 AWS Config 规则。此解决方案部署具有此名称的规则。使用具有此名称的预先存在的规则可能会导致部署失败,并产生与多次处理同一规则相关的不必要费用。
此解决方案使用相同的密AWSKMS钥加密所有EBS卷。
如果您为账户启用EBS卷加密,则此设置是特定于区域的。如果您为某个AWS区域启用该功能,则无法为该区域的单个卷或快照禁用该功能。有关更多信息,请参阅 Amazon EC2 文档中的默认加密。
修复现有的未加密EBS卷时,请确保该EC2实例未在使用中。此自动化将关闭实例,以便分离未加密卷并附加加密卷。修复过程中会出现停机。如果这是您组织的关键基础架构,请确保手动或自动的高可用性配置已到位,以免影响该实例上运行的任何应用程序的可用性。建议仅在标准维护时段修复关键资源。
架构
自动化工作流程
AWSConfig 检测到未加密的EBS卷。
管理员使用 AWS Config 向 Systems Manager 发送修复命令。
Systems Manager 会自动拍摄未加密EBS卷的快照。
Systems Manager 自动化用于AWSKMS创建快照的加密副本。
Systems Manager 自动化执行以下操作:
如果受影响的EC2实例正在运行,则将其停止
将卷的新加密副本附加到实EC2例
将EC2实例恢复到其原始状态
工具
AWS服务
AWSCLI— AWS 命令行界面 (AWSCLI) 提供对AWS服务的公共应用程序编程接口 (APIs) 的直接访问。您可以使用探索服务的功能AWSCLI并开发 shell 脚本来管理您的资源。除了低级别的API等效命令外,还有一些AWS服务为提供了自定义。AWS CLI自定义可以包括更高级别的命令,这些命令可以简化使用复杂服务的过程。API
AWS CloudFormation— AWS CloudFormation 是一项可帮助您建模和设置AWS资源的服务。您可以创建一个描述所需的所有AWS资源(例如 Amazon EC2 实例)的模板,并 CloudFormation 为您预置和配置这些资源。
AWSCon AWS fi@@ g — Config 提供您AWS账户中AWS资源配置的详细视图。这些信息包括资源之间的关联方式以及资源以前的配置方式,让您了解资源的配置和关系如何随着的时间的推移而更改。
亚马逊 EC2 — Amazon Elastic Compute Cloud (AmazonEC2) 是一项网络服务,可提供可调整的计算容量,供您构建和托管软件系统。
AWSKMS— AWS 密钥管理服务 (AWSKMS) 是一项针对云扩展的加密和密钥管理服务。AWSKMS密钥和功能由其他AWS服务使用,您可以使用它们来保护AWS环境中的数据。
AWSO rgani AWS zations — Organizations 是一项AWS账户管理服务,可让您将多个账户整合到一个由您创建和集中管理的组织中。
AWSSystems M anager 自动化 — Systems Manager 自动化简化了亚马逊EC2实例和其他AWS资源的常见维护和部署任务。
其他服务
jq
— jq 是一款轻量级且灵活的命令行JSON处理器。您可以使用此工具从AWSCLI输出中提取关键信息。
代码
此模式的代码可在使用客户KMS密钥 GitHub 自动修复未加密EBS卷存储库
中找到。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
下载脚本和 CloudFormation 模板。 | 从 “使用客户KMS密钥 GitHub 自动修复未加密的EBS卷 | AWS管理员,常规 AWS |
确定AWSKMS密钥的管理员。 |
| AWS管理员,常规 AWS |
部署 Stack1 模板 CloudFormation 。 |
有关部署 CloudFormation 模板的更多信息,请参阅 CloudFormation 文档中的使用AWS CloudFormation 模板。 | AWS管理员,常规 AWS |
部署 Stack2 模板 CloudFormation 。 | 在 CloudFormation中,部署
| AWS管理员,常规 AWS |
创建测试用未加密卷。 | 使用未加密EBS卷创建EC2实例。有关说明,请参阅亚马逊EC2文档中的创建亚马逊EBS卷。实例类型并不重要,无需访问该实例。您可以创建 t2.micro 实例,以保留在免费套餐中,且无需创建密钥对。 | AWS管理员,常规 AWS |
测试 AWS Config 规则。 |
您可以在 Systems Manager 中查看如下修复进度与状态:
| AWS管理员,常规 AWS |
配置其他账户或AWS区域。 | 根据您的用例需要,对任何其他账户或AWS地区重复此长篇故事。 | AWS管理员,常规 AWS |
任务 | 描述 | 所需技能 |
---|---|---|
运行启用脚本。 |
| AWS管理员、常规AWS、bash |
确认设置已更新。 |
| AWS管理员,常规 AWS |
配置其他账户或AWS区域。 | 根据您的用例需要,对任何其他账户或AWS地区重复此长篇故事。 | AWS管理员,常规 AWS |
任务 | 描述 | 所需技能 |
---|---|---|
创建服务控制策略。 |
| AWS管理员,常规 AWS |
相关资源
AWS服务文档
其他资源