亚马逊AWS官方博客

使用 AWS Config Rules 自动执行 Amazon S3 版本控制

由于安全性的原因,不同的企业和组织必须遵守不同的数据合规性要求和法规。拥有Amazon S3中数据的客户对不合规的S3 Bucket手动执行了补救措施。这包括编写和维护定期运行的脚本,以检查不符合要求的S3存储桶,并在必要时采取补救措施。随着应用程序的成熟,管理脚本的复杂性也随之增加。由于必须更新脚本并维护其服务器,因此很耗时。

在此博客中,我们介绍了设置AWS Config托管规则以识别未启用版本控制的Amazon S3 存储桶的步骤。我们还将通过使用AWS Systems Manager(SSM)自动化文档在S3存储桶上配置版本控制来实施AWS Config自动修复。有关如何利用AWS Config来管理日志,加密和读/写访问的S3遵从性的更多信息,请查看此博客文章

 解决方案概述

关于合规性,AWS Config允许您跟踪AWS资源的配置及其与其他资源的关系。 AWS Config通过使用AWS Config规则根据所需配置评估AWS资源。这些规则通过持续监控您的AWS资源配置来检查您的资源是否符合要求。使用AWS Config,您可以使用AWS Systems Manager Automation文档编写补救措施,并将它们打包到一个可在您的AWS组织中轻松部署的一致性包中。

S3版本控制是在同一Amazon S3存储桶中保留对象的多个版本的过程。 S3版本控制保留存储在存储桶中的每个对象的每个版本。它可用于保护对象免受意外的用户操作,例如意外删除或覆盖。无论哪种情况,都可以随时还原以前的版本。这有助于对S3存储桶中的资源进行审核和合规性。

先决条件

  1. 按照此处的说明启用AWS Config。
  2. 您需要一个已经存在的S3存储桶,才能执行本教程中的步骤。请按照此处的说明创建S3存储桶。

解决方案教程

  1. 登录到AWS管理控制台,然后打开AWS Config控制台。
  2. 在左侧窗格中,选择“Rules”,然后选择“Add Rule”。
  3. 在搜索框中,键入“s3-bucket-versioning-enabled”,然后选择标题为“ s3-bucket-versioning-enabled”的规则。
  4.  控制台会将您重定向到添加AWS托管规则。填写规则的名称和描述。
  5.  设置适当的触发器。有关设置触发器的更多信息,请参阅此文档
  6. 在”Parameters”部分中,输入参数的值,例如AutomationAssumeRole,BucketName和VersioningState。
  7. 在“Remediation action”下,选择“ AWS-ConfigureS3BucketVersioning”,然后为“Auto remediation”选择“Yes”8.     选择保存,现在您可以查看启用了s3-bucket-versioning的AWS Config规则。

此时,您设置的AWS Config规则会自动修复不符合要求的资源。您可以在“Rule Detauls”页面上检查结果。

自动修复之后,您可以到Amazon S3控制台并检查单个对象是否具有多个版本ID来验证是否启用了版本控制。以下屏幕截图显示了为S3存储桶启用的版本控制:

结论

在本文中,我们介绍了如何使用适用于AWS Config规则的AWS Config自动修复功能在不兼容的Amazon S3资源上自动启用S3版本控制。您也可以使用现有的SSM文档或自定义SSM文档,使用AWS Config规则维护其他AWS资源的合规性。通过此解决方案,您无需编写自己的管理脚本,就可以自动化资源配置的标准化。随着系统的发展,资源配置的自动化将有助于减少维护标准化资源配置的开销。

 

本篇作者

徐欣蕾

Amazon Web Services公司专业服务团队顾问。