本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
主动评估的规则示例
主动规则示例
-
向账户添加 Amazon Config 托管规则
S3_BUCKET_LOGGING_ENABLED
以检查您的 S3 存储桶是否启用了日志记录。 -
对于评估模式,在 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。
使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。
侦查评估的规则示例
变更触发的规则示例
-
向账户添加托管规则
S3_BUCKET_LOGGING_ENABLED
,以检查您的 S3 存储桶是否启用了日志记录。 -
此规则的触发器类型为配置更改。当创建、更改或删除 S3 存储桶时,Amazon Config 将针对规则运行评估。
-
当存储桶更新时,配置更改会启动此规则,Amazon Config 会评估存储桶是否符合此规则。
定期规则示例
-
向账户添加托管规则
IAM_PASSWORD_POLICY
。此规则检查您的 IAM 用户的密码策略是否符合您的账户策略,如最小长度或特定字符要求。 -
此规则的触发器类型为定期。Amazon Config 将按您指定的频率(如每 24 小时)针对规则运行评估。
-
此规则每 24 小时触发一次,并且 Amazon Config 将评估您的 IAM 用户的密码是否符合规则。
具有配置更改和定期触发器的混合规则示例
-
创建一条自定义规则以评估您的账户是否启用了 Amazon CloudTrail 跟踪并针对所有区域开启了日志记录。
-
您希望每当有跟踪创建、更新或删除时 Amazon Config 都运行规则评估。您还希望 Amazon Config 每 12 小时运行一次规则。
-
对于触发器类型,您可以为配置更改和定期触发器编写逻辑。有关更多信息,请参阅 Amazon Config 规则的组成部分:编写规则。
关闭配置记录器时的规则评估
如果您关闭配置记录器,Amazon Config 将停止记录对您资源配置的更改。这会在以下方面影响到您的规则评估:
-
定期规则继续以指定的频率运行评估。
-
变更触发的规则不运行评估。
-
混合规则仅以指定的频率运行评估。规则不为配置更改运行评估。
-
如果您针对具有配置更改触发器的规则运行按需评估,则规则将评估资源的最后已知状态,这是最后一个记录的配置项目。
重要
避免不必要的 Amazon Config 评估
除非删除定期规则和混合规则,否则即使已关闭配置记录器,定期规则和混合规则也将继续运行。这些规则只评估在关闭配置记录器之前记录的配置项目,这意味着如果没有新信息,这些规则将重现相同的评估结果。关闭配置记录器时,请删除定期规则和混合规则,以避免不必要的活动和规则评估。