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

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

使用 Amazon Config 规则评估资源

当您创建自定义规则或使用托管规则时,Amazon Config 按照这些规则评估您的资源。您可以按照您的规则对资源进行按需评估。例如,当您创建自定义规则,并且希望查看 Amazon Config 是否正确评估您的资源或确定 Amazon Lambda 函数的评估逻辑是否有问题时,这会很有用。

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

  2. Amazon Config 按照您的自定义规则评估您的资源。

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

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

  5. 由于您修复了规则,规则正确评估您的资源,并将 IAM 用户资源标记为 NON_COMPLIANT。

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

根据规则,Amazon Config 可以在部署资源之前、部署资源之后或同时在这两个阶段评估资源配置。在资源部署之前对其进行评估是主动评估。在资源部署之后对其进行评估是侦查评估

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

资源类型架构说明了资源的属性。您可以在 Amazon CloudFormation 注册表的“Amazon 公有扩展”中找到资源类型架构,也可以使用以下 CLI 命令找到:

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

有关更多信息,请参阅通过 Amazon CloudFormation 注册表管理扩展,以及《Amazon CloudFormation 用户指南》中的 Amazon 资源和属性类型参考

注意

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

评估您的资源

开启主动评估
  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。有关支持主动评估的托管规则列表,请参阅按评估模式列出的 Amazon Config 托管规则列表

  4. 选择规则,然后为要更新的规则选择编辑规则

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

  6. 选择 Save(保存)。

注意

您也可以使用 put-config-rule 命令并为 EvaluationModes 启用 PROACTIVE,或使用 PutConfigRule 操作并为 EvaluationModes 启用 PROACTIVE 来开启主动评估。

开启主动评估后,您可以使用 StartResourceEvaluation API 和 GetResourceEvaluationSummary API 来检查您在这些命令中指定的资源是否会被您所在区域的账户中的主动规则标记为 NON_COMPLIANT。

例如,从 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" } }

要查看有关评估结果的更多信息,例如哪条规则将资源标记为 NON_COMPLIANT,请使用 GetComplianceDetailsByResource API。

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

评估您的资源(控制台)

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

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

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

  4. 从表中选择规则。

  5. 操作下拉列表中,选择重新评估

  6. Amazon Config 开始按照您的规则评估资源。

注意

您可以按照每分钟一个规则的频率重新计算。您必须等待 Amazon Config 完成您的规则的评估,然后您才能开始另一个评估。如果规则同时被更新或同时被删除,您将无法运行评估。

评估您的资源 (CLI)

  • 使用 start-config-rules-evaluation 命令:

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

    Amazon Config 开始按照您的规则评估记录的资源配置。您还可以在请求中指定多个规则:

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

评估您的资源 (API)

使用 StartConfigRulesEvaluation 操作。