我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
自动报告一段时间内不合规的不合规资源的 亚马逊云科技 Config
在这篇文章中,我们提供了一种解决方案,可用于自动报告一段时间内不合规的 亚马逊云科技 Config 资源。您可以选择生成报告的日期和时间,并获取 30 天以上的不合规资源列表。使用此解决方案,您可以避免因资源的短暂变化而收到通知。
亚马逊云科技 Config 的工作原理
亚马逊云科技 Config 是一项服务,使您能够评估、审计和评估您的 亚马逊云科技 资源的配置。亚马逊云科技 Config 可跟踪配置更改并保留长达 7 年的历史记录。Config 还提供跨账户和区域的资源配置和合规性状态的汇总视图。如果您使用的是 亚马逊云科技 Config 规则,则 亚马逊云科技 Config 会持续评估您的 亚马逊云科技 资源配置以了解所需的设置。根据规则,亚马逊云科技 Config 将评估您的资源以响应配置更改或定期进行评估。如果资源违反了规则的条件,亚马逊云科技 Config 会将该资源和规则标记为不合规。有关更多详细信息,请参阅
图 1。亚马逊云科技 Config 的工作流程
解决方案概述:
这篇博文中的解决方案包括用于对
下图提供了我们解决方案的端到端流程的架构:
图 2。解决方案工作流程图
- Lambda 函数将针对 亚马逊云科技 Config 运行查询,从而获取 30 天内不合规资源的列表。
-
Lambda 函数将生成 CSV 报告,并使用
亚马逊简单电子邮件服务 (Amazon SES) 通过电子邮件 将其发送
先决条件:
在开始之前,请确保您对以下内容有基本的了解:
-
按计划运行的亚马逊 EventBridge 规则 -
亚马逊云科技 Config -
亚马逊云科技 Config 多账户多区域数据聚合 -
亚马逊云科技 Lambda 函数 -
Python 和
Boto3 。 -
CDK 环境。
您还需要配置环境
- 亚马逊云科技 Config 和 亚马逊云科技 Config 记录器
-
在您
的 亚马逊云科技 组织的所有账户 中启用 亚马逊云科技 Config 。你可以使用亚马逊云科技 Systems Manager 的快速设置 功能来帮助设置 亚马逊云科技 Config 记录器。配置记录器将检测您的资源配置的变化。
-
使用 亚马逊云科技 控制台设置聚合器
- 配置 亚马逊云科技 Config 聚合器后,记下您的 亚马逊云科技 Config 聚合器名称。
-
设置亚马逊简单电子邮件服务
- 设置亚马逊 SES 后,记下发件人的亚马逊 SES ARN 和电子邮件地址
- 注意:如果要向 SES 中未经验证的地址发送电子邮件,则需要启用 SES 生产访问权限。
-
确保您安装了最新的
CDK CLI - 确保下面有两个库
解决方案演练
这篇文章中的 Python 代码是使用
- 您将需要为堆栈提供以下参数值:
-
- 聚合器 — 亚马逊云科技 Config 聚合器的名称。
- seSarn — 亚马逊 SES arn。
- 收件人-将获得 CSV 报告的电子邮件收件人。
- 发件人-在 Amazon SES 上配置的电子邮件发件人。
- 工作日-Lambda 将运行的周日 1-7 点或周日周六。
- 小时 — Lambda 将运行的时间 (UTC)。
- 分钟 — Lambda 将运行的分钟 (UTC)。
- 获取聚合器的不合规规则。
-
在这篇博客文章中,我们首先使用 d
escribe_aggregate_compliance_by_config_rules () API 来获取聚合器捕获的所有不合规规则 的列表。
- 获取不合规资源列表。
-
对于捕获的每条不合规规则,我们使用 get_aggregate_compliance_details_by_config_rule API 运行查询,以获取不合规资源列表及其不合规状态的记录时间。
- 从不合规的资源列表中,我们使用 “记录时间” > 30 天参数对其进行进一步筛选
- 我们会创建一个 CSV 文件,其中包含在 30 天内的非投诉资源列表以及详细信息,并以 CSV 文件作为附件向收件人发送电子邮件。
解决方案部署:
-
确保您已登录
亚马逊云科技 管理控制台 ,并已配置您的亚马逊云科技 CLI 证书 。 - 克隆解决方案存储库
- 导航到克隆存储库的 cdk 目录
- 运行 cdk 引导程序
- 部署配置报告解决方案
“cdk deploy” 命令添加了一个新的
清理
为了避免重复收费,并在尝试本文中概述的解决方案后清理所有资源,请执行以下操作:
-
删除
亚马逊云科技 Config 聚合器 。 -
删除
亚马逊 SES 。 -
使用 cdk cli 和
cdk 销毁命令删除 CloudFormation Stack。
它不会删除引导命令创建的堆栈。如果您也想将其删除,可以从
结论
在这篇博客文章中,我们演示了一个示例解决方案,该解决方案可以帮助您针对不合规超过 30 天的资源设置报告。您也可以修改代码以不同的频率运行此解决方案,或运行不同的查询。
作者简介:
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。