

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

# AWS Config 规则的组成部分
<a name="evaluate-config_components"></a>

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

**Topics**
+ [AWS Config 规则是如何运作的](#evaluate-config-how-rules-work)
+ [触发器类型](#evaluate-config_use-managed-rules-trigger)
+ [评估模式](#evaluate-config_use-managed-rules-proactive-detective)
+ [规则元数据](#evaluate-config_components_metadata)

## AWS Config 规则是如何运作的
<a name="evaluate-config-how-rules-work"></a>

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

 AWS Config 一条规则有四种可能的评估结果。


| **评估结果** | **描述** | 
| --- | --- | 
| COMPLIANT | 规则通过了合规性检查的条件。 | 
| NON\$1COMPLIANT | 此规则未通过合规性检查的条件。 | 
| ERROR | 其中一个 required/optional 参数无效、类型不正确或格式不正确。 | 
| NOT\$1APPLICABLE | 用于筛选出无法应用规则逻辑的资源。例如，该[alb-desync-mode-check](https://docs.aws.amazon.com/config/latest/developerguide/alb-desync-mode-check.html)规则仅检查应用程序负载均衡器，而忽略网络负载均衡器和网关负载均衡器。 | 

例如，创建 EC2 卷时， AWS Config 可以根据要求对卷进行加密的规则来评估该卷。如果卷未加密，则会将该卷和规则 AWS Config 标记为不合规。 AWS Config 还可以检查您的所有资源以了解整个账户的需求。例如， AWS Config 可以检查账户中的 EC2 卷数量是否保持在所需的总数之内，或者账户是否 AWS CloudTrail 用于日志记录。

## 触发器类型
<a name="evaluate-config_use-managed-rules-trigger"></a>

向账户添加规则后， AWS Config 将您的资源与规则的条件进行比较。在这次初始评估之后，每次触发评估时都会 AWS Config 继续运行评估。规则中会定义评估触发器，可以包括以下类型。


| **触发器类型** | **描述** | 
| --- | --- | 
| 配置更改 | AWS Config 当存在与规则范围匹配的资源并且资源的配置发生变化时，会对规则进行评估。评估将在 AWS Config 发送配置项目变更通知后运行。通过定义规则的*范围*来选择哪些资源启动评估。范围可以包括： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/config/latest/developerguide/evaluate-config_components.html) AWS Config 当它检测到与规则范围相匹配的资源发生变化时，就会运行评估。您可以使用范围来定义哪些资源启动评估。 | 
| 定期 | AWS Config 按您选择的频率对规则进行评估；例如，每 24 小时运行一次。 | 
| 混合 | 有些规则既有配置更改也有定期触发器。对于这些规则，它 AWS Config 会在检测到配置更改时以及按照您指定的频率评估您的资源。 | 

## 评估模式
<a name="evaluate-config_use-managed-rules-proactive-detective"></a>

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


| **评估模式** | **描述** | 
| --- | --- | 
| 主动 | 使用主动评估在资源部署之前对其进行评估。这使您可以评估一组资源属性（如果用于定义 AWS 资源）是合规还是不合规，因为您所在地区的账户中有一组主动规则。  | 
| 侦查 | 使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。 | 

**注意**  
主动规则不会修复标记为 NON\$1COMPLIANT 的资源，也不会阻止部署这些资源。

有关更多信息，请参阅[为 AWS Config 规则开启主动评估](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_turn-on-proactive-rules.html)。

### 主动评估的托管规则列表
<a name="list-proactive-rules"></a>

有关支持主动评估的托管规则[列表，请参阅按评估模式列出的 AWS Config 托管规则](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-evaluation-mode.html)列表。

### 支持主动评估的资源类型列表
<a name="list-proactive-resource-types"></a>

以下是支持主动评估的资源类型列表：
+ `AWS::EC2::EIP`
+ `AWS::EC2::Subnet`

## AWS Config 规则元数据
<a name="evaluate-config_components_metadata"></a>

AWS Config 规则可以包含以下可变元数据：

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

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

**范围**  
范围决定了规则所针对的资源类型。有关支持的资源类型列表，请参阅[支持的资源类型](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources.html)。

**compulsoryInputParameter详细信息**  
 compulsoryInputParameter详细信息用于规则进行评估所需的参数。例如，`access-keys-rotated` 托管规则包含 `maxAccessKeyAge` 作为必要参数。如果为必要参数，则不会被标记为（可选）。必须指定每个参数的类型。类型可以是 “字符串”、“整数”、“双精度”、“CSV”、“布尔值” 和 “StringMap” 之一。

**optionalInputParameter详细信息**  
 optionalInputParameter详细信息用于规则评估时可选的参数。例如，`elasticsearch-logs-to-cloudwatch` 托管规则包含 `logTypes` 作为可选参数。必须指定每个参数的类型。类型可以是 “字符串”、“整数”、“双精度”、“CSV”、“布尔值” 和 “StringMap” 之一。

**supportedEvaluationModes**  
 supportedEvaluationModes 决定何时对资源进行评估，无论是在部署资源之前，还是在部署资源之后。  
 `DETECTIVE` 用于评估已经部署的资源。这允许您评估现有资源的配置设置。`PROACTIVE` 用于在资源部署之前对其进行评估。  
这使您可以评估一组资源属性（如果用于定义 AWS 资源）是合规还是不合规，因为您所在地区的账户中有一组主动规则。  
您可以指定 to supportedEvaluationModes `DETECTIVE` `PROACTIVE`、或两者兼`DETECTIVE`而有之`PROACTIVE`。必须指定评估模式，且此字段不能为空。  
主动规则不会修复标记为 NON\$1COMPLIANT 的资源，也不会阻止部署这些资源。