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 会在检测到配置更改时以及按照您指定的频率评估您的资源。

评估模式

有两种评估模式:

使用主动评估在资源部署之前对其进行评估。这使您可以根据您所在区域的账户中的主动规则集,评估一组资源属性(如果用于定义 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 的资源,也不会阻止部署这些资源。

主动评估的托管规则列表

有关支持主动评估的托管规则列表,请参阅按评估模式列出的 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 管理控制台中选择开启主动性评估,或者在 PutConfigRule API 中为 EvaluationModes 启用 PROACTIVE

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

例如,从 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_COMPLIANT,请使用 GetComplianceDetailsByResource API。

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

侦查评估的规则示例

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

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

  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 评估

除非删除定期规则和混合规则,否则即使已关闭配置记录器,定期规则和混合规则也将继续运行。这些规则只评估在关闭配置记录器之前记录的配置项目,这意味着如果没有新信息,这些规则将重现相同的评估结果。关闭配置记录器时,请删除定期规则和混合规则,以避免不必要的活动和规则评估。