创建 Amazon Config 自定义策略规则 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 Amazon Config 自定义策略规则

您可以通过 Amazon Web Services Management Console、Amazon CLI 或 Amazon Config API 创建 Amazon Config 自定义策略规则。有关如何使用 Guard 编写规则的更多信息,请参阅《Amazon CloudFormation Guard 用户指南》中的编写 Guard 规则。有关Amazon Config可以评估的受支持资源类型的架构的更多信息,请参阅资源架构存储库中的Amazon Config资源类型。 GitHub

重要

用于评估配置项目的 Amazon Config 资源架构与用于评估 Amazon CloudFormation 模板的 CFN 架构不同。如果将 CFN 架构用于 Amazon Config 自定义策略规则,评估结果将返回 NOT_APPLICABLE。创建 Amazon Config 自定义策略规则时使用 Amazon Config 资源架构,并根据配置项目结构编写策略。有关Amazon Config资源架构的列表,请参阅资源架构存储库中的Amazon Config资源类型。 GitHub

创建 Amazon Config 自定义策略规则(控制台)

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Config 控制台:https://console.aws.amazon.com/config/

  2. 在 Amazon Web Services Management Console 菜单上,验证区域选择器是否设置为支持 Amazon Config 规则的 Amazon 区域。有关支持的区域的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Config 区域和终端节点

  3. 在左侧导航窗格中,选择 Rules

  4. Rules 页面,选择 Add rule

  5. 指定规则类型页面上,选择使用 Guard 创建自定义规则

  6. 配置规则页面上,通过完成以下步骤创建规则:

    1. 对于规则名称,键入一个唯一的规则名称。

    2. 对于描述,键入规则的描述。

    3. 对于 Guard 运行时版本,为您的 Amazon Config 自定义策略规则选择运行时系统。

    4. 对于规则内容,可以为其填充规则的 Guard 自定义策略。有关 Guard Custom 策略的结构和功能的更多信息,请参阅 Amazon CloudFormationGuard 2.0 在 Guard GitHub 存储库中的操作模式

      注意

      用于评估配置项目的 Amazon Config 资源架构与用于评估 Amazon CloudFormation 模板的 CFN 架构不同。如果将 CFN 架构用于 Amazon Config 自定义策略规则,评估结果将返回 NOT_APPLICABLE。创建 Amazon Config 自定义策略规则时使用 Amazon Config 资源架构,并根据配置项目结构编写策略。有关Amazon Config资源架构的列表,请参阅资源架构存储库中的Amazon Config资源类型。 GitHub

      以下示例显示了 Amazon Config 托管规则 dynamodb-pitr-enabled 的 Amazon Config 自定义策略规则版本的策略定义

      # This rule checks if point in time recovery (PITR) is enabled on active Amazon DynamoDB tables let status = ['ACTIVE'] rule tableisactive when resourceType == "AWS::DynamoDB::Table" { configuration.tableStatus == %status } rule checkcompliance when resourceType == "AWS::DynamoDB::Table" tableisactive { let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus %pitr == "ENABLED" }
    5. 对于评估模式,请选择在资源创建和管理过程中 Amazon Config 何时评估您的资源。根据此规则,Amazon Config 可以在预置资源之前、预置资源之后或同时在这两个阶段评估资源配置。

      1. 选择开启主动评估,以允许您在部署资源之前对资源的配置设置进行评估。

        开启主动评估后,您可以使用 StartResourceEvaluationAPI 和 GetResourceEvaluationSummaryAPI 来检查您在这些命令中指定的资源是否会被您所在地区的账户中的主动规则标记为 “不合规”。

        有关使用此命令的更多信息,请参阅使用 Amazon Config 规则评估您的资源。有关支持主动评估的托管规则列表,请参阅按评估模式列出的 Amazon Config 托管规则列表

      2. 选择开启侦查评估以评估您的现有资源的配置设置。

        对于侦查评估,Amazon Config 自定义策略规则由配置更改启动。将预先选择以下选项。

        • 资源 – 在创建、更改或删除与指定资源类型(或类型和标识符)匹配的资源时。

        • 标签 – 在创建、更改或删除包含指定标签的资源时。

        • 所有更改 – 在创建、更改或删除 Amazon Config 记录的资源时。

        Amazon Config 在检测到与规则的范围匹配的资源发生更改时运行评估。您可以使用范围来限制哪些资源启动评估。否则,当配置后的资源发生变化时,就会启动评估。

    6. 对于参数,如果您的规则包含参数,可以自定义所提供的键的值。参数是资源在被视为符合规则之前必须遵守的属性。

  7. 审核和创建页面上,查看您的所有选择,然后再将规则添加到您的 Amazon 账户。

  8. 查看完规则后,选择添加规则

创建 Amazon Config 自定义策略规则 (Amazon CLI)

使用 put-config-rule 命令。

Owner 字段应为 CUSTOM_POLICY。Amazon Config 自定义策略规则需要以下附加字段:

  • Runtime:Amazon Config 自定义策略规则的运行时系统。

  • PolicyText:包含 Amazon Config 自定义策略规则逻辑的策略定义。

  • EnableDebugLogDelivery:为 Amazon Config 自定义策略规则启用调试日志记录的布尔表达式。默认值为 false

创建 Amazon Config 自定义策略规则 (API)

使用 PutConfigRule 操作。

Owner 字段应为 CUSTOM_POLICY。Amazon Config 自定义策略规则需要以下附加字段:

  • Runtime:Amazon Config 自定义策略规则的运行时系统。

  • PolicyText:定义 Amazon Config 自定义策略规则逻辑的策略。

  • EnableDebugLogDelivery:为 Amazon Config 自定义策略规则启用调试日志记录的布尔表达式。默认值为 false