选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Troposph AWS CloudFormation ere 生成包含 AWS Config 托管规则的模板 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Troposph AWS CloudFormation ere 生成包含 AWS Config 托管规则的模板

由 Lucas Nation (AWS) 和 Freddie Wilson () 创作 AWS

摘要

许多组织使用 AWSConfig 托管规则来评估其 Amazon Web Services (AWS) 资源是否符合常见的最佳实践。但是,维护这些规则可能很耗时,这种模式可以帮助您利用 Python 库 Troposphere 来生成和管理 Confi AWS g 托管规则。

该模式通过使用 Python 脚本将包含托管规则的 Microsoft Excel 电子表格转换为AWS CloudFormation 模板来帮助你AWS管理 Conf AWS ig 托管规则。Troposphere 充当基础设施即代码 (IaC),这意味着您可以使用托管规则更新 Excel 电子表格,而不必使用JSON或YAML格式的文件。然后,您可以使用该模板启动AWS CloudFormation 堆栈,在您的AWS账户中创建和更新托管规则。

该AWS CloudFormation 模板使用 Excel 电子表格定义每个 C AWS onfig 托管规则,并帮助您避免在AWS管理控制台中手动创建单个规则。该脚本将每个托管规则的参数默认为一个空字典,作用域的ComplianceResourceTypes默认值为THE_RULE_IDENTIFIER.template file 有关规则标识符的更多信息,请参阅 AWSConfig 文档中的使用AWS CloudFormation 模板创建 AWS Config 托管规则

先决条件和限制

先决条件

操作说明

任务描述所需技能

更新 Excel 电子表格示例。

下载示例 excel_config_rules.xlsx Excel 电子表格(附后),并将其标记为Implemented要使用的 AWS Config 托管规则。 

标记为的规则Implemented将添加到AWS CloudFormation 模板中。

开发人员

(可选)使用配置规则参数更新 config_rules_params.json 文件。AWS

某些 AWS Config 托管规则需要参数,应使用--param-file选项将其作为JSON文件传递给 Python 脚本。例如,access-keys-rotated 托管规则使用以下 maxAccessKeyAge 参数:

{ "access-keys-rotated": { "InputParameters": { "maxAccessKeyAge": 90 } } }

在此示例参数中,maxAccessKeyAge 设置为 90 天。该脚本读取参数文件并添加它找到的任何 InputParameters

开发人员

(可选)使用 Config 更新 config_rules_params.json 文件。AWS ComplianceResourceTypes

默认情况下,Python 脚本会ComplianceResourceTypes从AWS已定义的模板中检索。如果要覆盖特定 AWS Config 托管规则的范围,则需要使用--param-file选项将其作为JSON文件传递给 Python 脚本。

例如,以下示例代码显示了如何将 ec2-volume-inuse-checkComplianceResourceTypes 设置为 ["AWS::EC2::Volume"] 列表:

{ "ec2-volume-inuse-check": { "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Volume" ] } } }
开发人员

自定义和配置 AWS Config 托管规则

任务描述所需技能

更新 Excel 电子表格示例。

下载示例 excel_config_rules.xlsx Excel 电子表格(附后),并将其标记为Implemented要使用的 AWS Config 托管规则。 

标记为的规则Implemented将添加到AWS CloudFormation 模板中。

开发人员

(可选)使用配置规则参数更新 config_rules_params.json 文件。AWS

某些 AWS Config 托管规则需要参数,应使用--param-file选项将其作为JSON文件传递给 Python 脚本。例如,access-keys-rotated 托管规则使用以下 maxAccessKeyAge 参数:

{ "access-keys-rotated": { "InputParameters": { "maxAccessKeyAge": 90 } } }

在此示例参数中,maxAccessKeyAge 设置为 90 天。该脚本读取参数文件并添加它找到的任何 InputParameters

开发人员

(可选)使用 Config 更新 config_rules_params.json 文件。AWS ComplianceResourceTypes

默认情况下,Python 脚本会ComplianceResourceTypes从AWS已定义的模板中检索。如果要覆盖特定 AWS Config 托管规则的范围,则需要使用--param-file选项将其作为JSON文件传递给 Python 脚本。

例如,以下示例代码显示了如何将 ec2-volume-inuse-checkComplianceResourceTypes 设置为 ["AWS::EC2::Volume"] 列表:

{ "ec2-volume-inuse-check": { "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Volume" ] } } }
开发人员
任务描述所需技能

从 requirements.txt 文件处安装 pip 程序包。

下载该requirements.txt文件(附后),然后在中运行以下命令IDE来安装 Python 软件包:

pip3 install -r requirements.txt

开发人员

运行 Python 脚本。

  1. aws_config_rules.py 文件(附件)下载到本地计算机上。

  2. 注意

    运行- python3 aws_config_rules.py --ou <OU_NAME>命令。:--ou定义要在 Excel 电子表格中选择哪个 OU 列。

您还可以添加以下可选参数:

  • --config-rule-option – 定义要从 Excel 电子表格中选择的规则。默认值为 Implemented 参数。

  • --excel-file – Excel 电子表格的路径。默认为 aws_config_rules.xlsx

  • --param-file— 参数JSON文件的路径。默认为 config_rules_params.json

  • --max-execution-frequency— 定义评估 AWS Config 托管规则的频率。选项是 One_HourThree_HoursSix_HoursTwelve_HoursTwentyFour_Hours。默认为 TwentyFour_Hours

开发人员

运行 Python 脚本

任务描述所需技能

从 requirements.txt 文件处安装 pip 程序包。

下载该requirements.txt文件(附后),然后在中运行以下命令IDE来安装 Python 软件包:

pip3 install -r requirements.txt

开发人员

运行 Python 脚本。

  1. aws_config_rules.py 文件(附件)下载到本地计算机上。

  2. 注意

    运行- python3 aws_config_rules.py --ou <OU_NAME>命令。:--ou定义要在 Excel 电子表格中选择哪个 OU 列。

您还可以添加以下可选参数:

  • --config-rule-option – 定义要从 Excel 电子表格中选择的规则。默认值为 Implemented 参数。

  • --excel-file – Excel 电子表格的路径。默认为 aws_config_rules.xlsx

  • --param-file— 参数JSON文件的路径。默认为 config_rules_params.json

  • --max-execution-frequency— 定义评估 AWS Config 托管规则的频率。选项是 One_HourThree_HoursSix_HoursTwelve_HoursTwentyFour_Hours。默认为 TwentyFour_Hours

开发人员
任务描述所需技能

启动AWS CloudFormation 堆栈。

  1. 登录AWS管理控制台,打开控制AWS CloudFormation 台,然后选择创建堆栈。

  2. 在 “指定模板” 页面上,选择 “上传模板文件”,然后上传您的AWS CloudFormation 模板。 

  3. 指定堆栈名称,然后选择下一步

  4. 指定标签,然后选择下一步

  5. 选择创建堆栈

开发人员

部署 AWS Config 托管规则

任务描述所需技能

启动AWS CloudFormation 堆栈。

  1. 登录AWS管理控制台,打开控制AWS CloudFormation 台,然后选择创建堆栈。

  2. 在 “指定模板” 页面上,选择 “上传模板文件”,然后上传您的AWS CloudFormation 模板。 

  3. 指定堆栈名称,然后选择下一步

  4. 指定标签,然后选择下一步

  5. 选择创建堆栈

开发人员

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。