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

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

Amazon Config规则的评估模式和触发器类型

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

根据规则,Amazon Config可以在部署资源之前、部署资源之后评估您的资源配置,或者同时评估两者。在部署资源之前对其进行评估是主动评估。在部署资源后对其进行评估是侦探评估

您也可以选择触发器类型来指定您的Amazon Config规则评估资源的频率。可以在配置发生更改时评估资源,也可以定期评估资源,或者同时评估两者。

触发器类型

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

配置更改

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

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

  • 一个或多个资源类型

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

  • 标签键和值的组合

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

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

定期

Amazon Config以您选择的频率对规则进行评估;例如,每 24 小时运行一次。

混合动力

有些规则既有配置更改也有定期触发器。对于这些规则,在检测到配置更改时Amazon Config评估您的资源,同时以您指定的频率进行评估。

评估模式

有两种评估模式:

使用主动评估在部署资源之前对其进行评估。这允许您评估一组资源属性(如果用于定义资源)是合规还是非_COMPLIANT(如果用于定义Amazon资源),则在您所在地区的账户中有一组主动规则。

资源类型架构陈述了资源的属性。您可以在Amazon CloudFormation注册表中的 “Amazon公共扩展” 中或使用以下 CLI 命令找到资源类型架构:

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

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

注意

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

带有主动评估的托管规则列表

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

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

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

  • AWS::ApiGateway::Stage

  • AWS::AutoScaling::AutoScalingGroup

  • AWS::EC2::EIP

  • AWS::EC2::Instance

  • AWS::EC2::Subnet

  • AWS::Elasticsearch::Domain

  • AWS::Lambda::Function

  • AWS::RDS::DBInstance

  • AWS::Redshift::Cluster

  • AWS::S3::Bucket

  • AWS::SNS::Topic

带有主动评估的示例规则

主动规则示例
  1. 您将Amazon Config托管规则添加到您的账户S3_BUCKET_LOGGING_ENABLED,以检查您的 S3 存储桶是否已启用日志记录。

  2. 对于评估模式,请在Amazon管理控制台中选择开启主动评估,或在 PutConfigRuleAPI EvaluationModes 中启PROACTIVE用。

开启主动评估后,您可以使用 StartResourceEvaluationAPI 和 GetResourceEvaluationSummaryAPI 检查您的账户中尚未部署到生产环境的存储桶是否未启用日志记录。这允许您在部署之前测试资源配置,并重新评估是否要将资源部署到生产中。

例如,从 StartResourceEvaluation API 开始:

aws configservice start-resource-evaluation --evaluation-mode PROACTIVE --resource-details '{"ResourceId":"MY_RESOURCE_ID", "ResourceType":"AWS::S3::Bucket", "ResourceConfiguration": "{\"BucketName\": \"my-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"my-log-bucket\",\"LogFilePrefix\":\"my-log\"}}", "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": "{\"BucketName\": \"my-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"my-log-bucket\",\"LogFilePrefix\":\"my-log\"}}", } }

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

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

带有侦探评估的示例规则

更改触发的规则示例
  1. 您将托管规则添加到您的账户S3_BUCKET_LOGGING_ENABLED,以检查您的 S3 存储桶是否已启用日志记录。

  2. 该规则的触发器类型为配置更改。 Amazon Config在创建、更改或删除 S3 存储桶时运行规则评估。

  3. 更新存储桶时,配置更改会启动规则并Amazon Config评估该存储桶是否符合规则。

定期规则示例
  1. 您将托管规则添加到您的账户。IAM_PASSWORD_POLICY该规则检查您的 IAM 用户的密码策略是否符合您的账户政策,例如要求最小长度或要求使用特定字符。

  2. 此规则的触发器类型为定期。Amazon Config 将按您指定的频率(如每 24 小时)针对规则运行评估。

  3. 每 24 小时启动一次规则,Amazon Config评估您的 IAM 用户的密码是否符合规则。

包含配置更改和定期触发器的混合规则示例
  1. 创建自定义规则,评估您的账户中的Amazon CloudTrail跟踪是否已开启并登录所有区域。

  2. 您希望每当有跟踪创建、更新或删除时 Amazon Config 都运行规则评估。您还希望 Amazon Config 每 12 小时运行一次规则。

  3. 对于触发器类型,您可以为配置更改和定期触发器编写逻辑。有关更多信息,请参阅Amazon Config规则的组成部分:编写规则

关闭配置记录器时的规则评估

如果您关闭配置记录器,Amazon Config 将停止记录对您资源配置的更改。这会在以下方面影响到您的规则评估:

  • 定期规则继续以指定频率运行评估。

  • 更改触发的规则不运行评估。

  • 混合规则仅以指定的频率运行评估。规则不为配置更改运行评估。

  • 如果您对带有配置更改触发器的规则运行按需评估,则该规则将评估资源的最后已知状态,即最后记录的配置项目。

重要

避免不必要的Amazon Config评估

定期规则和混合规则除非被删除,否则将继续运行,即使您已关闭配置记录器也是如此。这些规则将仅评估在关闭配置记录器之前记录的配置项目,这意味着这些规则将在不提供任何新信息的情况下重现相同的评估结果。关闭配置记录器时删除定期规则和混合规则,以避免不必要的活动和规则评估。