Amazon Config 规则的组成部分 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Config 规则的组成部分

Amazon Config 规则评估您的 Amazon 资源的配置设置。本页讨论规则的组成部分。

Amazon Config 规则是如何运作的

在 Amazon Config 持续跟踪您的资源中出现的配置更改时,它会检查这些更改是否不符合规则中的任何条件。如果某个资源不符合规则,则 Amazon Config 会将该资源和规则标记为不合规

以下是 Amazon Config 规则四个可能的评估结果。

评估结果 描述
COMPLIANT 规则通过了合规性检查的条件。
NON_COMPLIANT 此规则未通过合规性检查的条件。
ERROR 其中一个必选/可选参数无效,或者类型不正确,或者格式不正确。
NOT_APPLICABLE 用于筛选出无法应用规则逻辑的资源。例如,alb-desync-mode-check 规则仅检查应用程序负载均衡器,而忽略网络负载均衡器和网关负载均衡器。

例如,当创建 EC2 卷时,Amazon Config 可以按照需要卷加密的规则来评估该卷。如果卷没有加密,Amazon Config 会将卷和规则标记为不合规。Amazon Config 还可以在您的所有资源中检查有无账户范围内的要求。例如,Amazon Config 可以检查账户中的 EC2 卷数是否在所需总数内,或者账户是否使用 Amazon CloudTrail 进行日志记录。

触发器类型

将规则添加到账户后,Amazon Config 会将您的资源与规则的条件进行比较。完成这一初始评估后,Amazon Config 会在每次触发评估时继续执行评估。规则中会定义评估触发器,可以包括以下类型。

触发器类型 描述
配置更改 当存在与规则范围匹配的资源,并且资源配置发生变化时,Amazon Config 会对规则进行评估。在 Amazon Config 发送配置项更改通知后,评估便会运行。

通过定义规则的范围来选择哪些资源启动评估。范围可以包括:

  • 一个或多个资源类型

  • 资源类型和资源 ID 的组合

  • 标签键和值的组合

  • 当创建、更新或删除任何记录的资源时

Amazon Config 在检测到与规则的范围匹配的资源发生更改时运行评估。您可以使用范围来定义哪些资源启动评估。

定期 Amazon Config 会按照您选择的频率运行规则评估(例如,每 24 小时)。
混合 有些规则既有配置更改也有定期触发器。对于这些规则,Amazon Config 会在检测到配置更改时以及按照您指定的频率评估您的资源。

评估模式

Amazon Config 规则有两种评估模式。

评估模式 描述
主动

使用主动评估在资源部署之前对其进行评估。这使您可以根据您所在区域的账户中的主动规则集,评估一组资源属性(如果用于定义 Amazon 资源)是 COMPLIANT 还是 NON_COMPLIANT。

侦查 使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。
注意

主动规则不会修复标记为 NON_COMPLIANT 的资源,也不会阻止部署这些资源。

有关更多信息,请参阅为 Amazon Config 规则开启主动评估

主动评估的托管规则列表

有关支持主动评估的托管规则列表,请参阅按评估模式列出的 Amazon Config 托管规则列表

支持主动评估的资源类型列表

以下是支持主动评估的资源类型列表:

  • AWS::EC2::EIP

  • AWS::EC2::Instance

  • AWS::Lambda::Function

  • AWS::RDS::DBInstance

  • AWS::Redshift::Cluster

  • AWS::S3::Bucket

  • AWS::SNS::Topic

Amazon Config 规则元数据

Amazon Config 规则可以包含以下可变元数据:

默认名称

defaultName 是规则实例在默认情况下将获得的名称。

description

规则描述提供了规则评估内容的上下文。Amazon Config 控制台具有 256 个字符的限制。作为最佳实践,规则描述应以“检查是否”开头,并包括对 NON_COMPLIANT 场景的描述。在规则描述中首次提及时,服务名称应以 Amazon 或 Amazon 开头。例如,首次提及时应使用 Amazon CloudTrail 或 Amazon CloudWatch,而不是 CloudTrail 或 CloudWatch。服务名称可以在后续引用后使用缩写。

范围

范围决定了规则所针对的资源类型。有关支持的资源类型列表,请参阅支持的资源类型

compulsoryInputParameterDetails

compulsoryInputParameterDetails 用于规则进行评估所需的参数。例如,access-keys-rotated 托管规则包含 maxAccessKeyAge 作为必要参数。如果为必要参数,则不会被标记为(可选)。必须指定每个参数的类型。类型可以是“String”、“int”、“double”、“CSV”、“boolean” 和 “StringMap” 之一。

optionalInputParameterDetails

optionalInputParameterDetails 用于规则评估时可选的参数。例如,elasticsearch-logs-to-cloudwatch 托管规则包含 logTypes 作为可选参数。必须指定每个参数的类型。类型可以是“String”、“int”、“double”、“CSV”、“boolean” 和 “StringMap” 之一。

supportedEvaluationModes

supportedEvaluationModes 决定何时对资源进行评估,在部署资源之前或在部署资源之后。

DETECTIVE 用于评估已经部署的资源。这允许您评估现有资源的配置设置。PROACTIVE 用于在资源部署之前对其进行评估。

这使您可以根据您所在区域的账户中的主动规则集,评估一组资源属性(如果用于定义 Amazon 资源)是 COMPLIANT 还是 NON_COMPLIANT。

可以将 supportedEvaluationModes 指定为 DETECTIVE 或,PROACTIVE或者同时指定为 DETECTIVEPROACTIVE。必须指定评估模式,且此字段不能为空。

注意

主动规则不会修复标记为 NON_COMPLIANT 的资源,也不会阻止部署这些资源。