

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

# 使用 AWS Config 规则评估您的资源
<a name="evaluating-your-resources"></a>

创建自定义规则或使用托管规则时，会根据这些规则 AWS Config 评估您的资源。您可以按照您的规则对资源进行按需评估。例如，当您创建自定义规则并希望检查该规则 AWS Config 是否正确评估您的资源或确定 AWS Lambda 函数的评估逻辑是否存在问题时，这会很有帮助。

**示例**

1.  您创建一个自定义规则，用以评估您的 IAM 用户是否具有有效的访问密钥。

1.  AWS Config 根据您的自定义规则评估您的资源。

1.  在您的账户中存在一个没有有效访问密钥的 IAM 用户。您的规则不能正确将此资源标记为 NON\$1COMPLIANT。

1.  您修复规则并重新开始评估。

1. 由于您修复了规则，规则正确评估您的资源，并将 IAM 用户资源标记为 NON\$1COMPLIANT。

在向账户添加规则时，您可以指定在资源创建和管理过程中何 AWS Config 时评估您的资源。资源创建和管理过程称为资源预置。您可以选择*评估模式*来指定在此过程中何 AWS Config 时评估您的资源。

根据规则， AWS Config 可以在部署资源之前、部署资源之后或两者兼而有之地评估您的资源配置。在资源部署之前对其进行评估是**主动评估**。在资源部署之后对其进行评估是**侦查评估**。

## 主动模式
<a name="evaluating-your-resources-proactive"></a>

使用主动评估在资源部署之前对其进行评估。这使您可以评估一组资源属性（如果用于定义 AWS 资源）是合规还是不合规，因为您所在地区的账户中有一组主动规则。

[资源类型架构](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html)说明了资源的属性。您可以在 AWS CloudFormation 注册表的 “*AWS 公共扩展*” 中找到资源类型架构，也可以使用以下 CLI 命令找到：

```
aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type RESOURCE
```

有关更多信息，请参阅[通过 CloudFormation 注册表管理扩展](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html#registry-view)以及 AWS CloudFormation 用户指南中的[AWS 资源和属性类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)。

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

### 评估您的资源
<a name="evaluating-your-resources-console-proactive"></a>

**开启主动评估**

1. 登录 AWS 管理控制台 并在家中打开[https://console.aws.amazon.com/config/主 AWS Config](https://console.aws.amazon.com/config/home)机。

1. 在 AWS 管理控制台 菜单中，确认区域选择器设置为支持 AWS Config 规则的区域。有关支持的 AWS 区域的列表，请参阅《Amazon Web Services 一般参考**》中的 [AWS Config 区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html#awsconfig_region)。

1. 在左侧导航窗格中，选择 **Rules**。有关支持主动评估的托管规则[列表，请参阅按评估模式列出的 AWS Config 托管规则](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-evaluation-mode.html)列表。

1. 选择规则，然后为要更新的规则选择**编辑规则**。

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

1. 选择**保存**。

**注意**  
您也可以使用[https://docs.aws.amazon.com/cli/latest/reference/configservice/put-config-rule.html](https://docs.aws.amazon.com/cli/latest/reference/configservice/put-config-rule.html)命令和启用`PROACTIVE`开启主动评估，`EvaluationModes`或者使用[PutConfigRule](https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigRule.html)操作和启`PROACTIVE`用`EvaluationModes`。

开启主动评估后，您可以使用 [StartResourceEvaluation](https://docs.aws.amazon.com/config/latest/APIReference/API_StartResourceEvaluation.html)API 和 [GetResourceEvaluationSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceEvaluationSummary.html)API 来检查您在这些命令中指定的资源是否会被您所在地区的账户中的主动规则标记为 “不合规”。

例如，从 StartResourceEvaluation API 开始：

```
aws configservice start-resource-evaluation --evaluation-mode PROACTIVE
                --resource-details '{"ResourceId":"MY_RESOURCE_ID",
                                     "ResourceType":"AWS::RESOURCE::TYPE",
                                     "ResourceConfiguration":"RESOURCE_DEFINITION_AS_PER_THE_RESOURCE_CONFIGURATION_SCHEMA",
                                     "ResourceConfigurationSchemaType":"CFN_RESOURCE_SCHEMA"}'
```

您应该会在输出中收到 `ResourceEvaluationId`：

```
{
    "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID"
}
```

然后，使用`ResourceEvaluationId`带有 GetResourceEvaluationSummary API 的来检查评估结果：

```
aws configservice get-resource-evaluation-summary
    --resource-evaluation-id MY_RESOURCE_EVALUATION_ID
```

您应收到类似以下内容的输出：

```
{
    "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID",
    "EvaluationMode": "PROACTIVE",
    "EvaluationStatus": {
        "Status": "SUCCEEDED"
    },
    "EvaluationStartTimestamp": "2022-11-15T19:13:46.029000+00:00",
    "Compliance": "COMPLIANT",
    "ResourceDetails": {
        "ResourceId": "MY_RESOURCE_ID",
        "ResourceType": "AWS::RESOURCE::TYPE",
        "ResourceConfiguration": "RESOURCE_DEFINITION_AS_PER_THE_RESOURCE_CONFIGURATION_SCHEMA"
    }
}
```

要查看有关评估结果的更多信息，例如哪条规则将资源标记为 “不合规”，请使用 API。[GetComplianceDetailsByResource](https://docs.aws.amazon.com/config/latest/APIReference/API_GetComplianceDetailsByResource.html)

## 侦查模式
<a name="evaluating-your-resources-detective"></a>

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

### 评估您的资源（控制台）
<a name="evaluating-your-resources-console"></a>

1. 登录 AWS 管理控制台 并在家中打开[https://console.aws.amazon.com/config/主 AWS Config](https://console.aws.amazon.com/config/home)机。

1. 在 AWS 管理控制台 菜单中，检查区域选择器是否设置为支持 AWS Config 规则的区域。有关支持的区域的列表，请参阅《Amazon Web Services 一般参考》**中的 [AWS Config 区域和终端节点](https://docs.aws.amazon.com/general/latest/gr/awsconfig.html)。

1. 在导航窗格中，选择**规则**。**规则**页面显示每条规则的名称、关联的修正操作和合规性状态。

1. 从表中选择规则。

1. 从**操作**下拉列表中，选择**重新评估**。

1.  AWS Config 开始根据您的规则评估资源。

**注意**  
每分钟重新评估一次规则。您必须等 AWS Config 到规则评估完毕后才能开始另一次评估。如果规则同时被更新或同时被删除，您将无法运行评估。

### 评估您的资源 (CLI)
<a name="evaluating-your-resources-cli"></a>
+ 使用 **start-config-rules-evaluation** 命令：

  ```
  $ aws configservice start-config-rules-evaluation --config-rule-names ConfigRuleName
  ```

  AWS Config 开始根据您的规则评估记录的资源配置。您还可以在请求中指定多个规则：

  ```
  $ aws configservice start-config-rules-evaluation --config-rule-names ConfigRuleName1 ConfigRuleName2 ConfigRuleName3
  ```

### 评估您的资源 (API)
<a name="evaluating-your-resources-api"></a>

使用 [StartConfigRulesEvaluation](https://docs.aws.amazon.com/config/latest/APIReference/API_StartConfigRulesEvaluation.html) 操作。