本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的评估模式和触发器类型 AWS Config 规则
向账户添加规则时,可以在资源创建和管理过程中指定所需的时间 AWS Config 评估您的资源。资源创建和管理过程称为资源预置。您可以选择评估模式来指定在此过程中何时需要 AWS Config 评估您的资源。
根据规则, AWS Config 可以在部署资源之前、部署资源之后或两者兼而有之地评估您的资源配置。在资源部署之前对其进行评估是主动评估。在资源部署之后对其进行评估是侦查评估。
您也可以选择触发器类型来指定触发频率 AWS Config 规则会评估您的资源。当配置发生更改时,可以按定期计划或按选择的频率对资源进行评估。
触发器类型
向账户添加规则后, AWS Config 将您的资源与规则的条件进行比较。在这次初步评估之后, AWS Config 每次触发评估时都会继续运行评估。规则中会定义评估触发器,可以包括以下类型:
触发器类型 | 描述 |
---|---|
配置更改 | AWS Config 当存在与规则范围匹配的资源并且资源的配置发生变化时,会对规则进行评估。评估将在之后运行 AWS Config 发送配置项目更改通知。 通过定义规则的范围来选择哪些资源启动评估。范围可以包括:
AWS Config 当它检测到与规则范围相匹配的资源发生变化时运行评估。您可以使用范围来定义哪些资源启动评估。 |
定期 | AWS Config 按您选择的频率对规则进行评估;例如,每 24 小时运行一次。 |
混合 | 有些规则既有配置更改也有定期触发器。对于这些规则, AWS Config 在检测到配置更改时以及按照您指定的频率评估您的资源。 |
评估模式
有两种评估模式:
使用主动评估在资源部署之前对其进行评估。这使您可以评估是否使用一组资源属性来定义 AWS COMPLIANT考虑到您所在地区的账户中有一组主动规则,资源将是COMPLIANT或 NON _。
资源类型架构说明了资源的属性。您可以在 “” 中找到资源类型架构 AWS 内部的公共扩展” AWS CloudFormation 注册表或使用以下CLI命令:
aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type
RESOURCE
有关更多信息,请参阅通过管理扩展程序 AWS CloudFormation 注册表和 AWS 资源和属性类型参考 AWS CloudFormation 用户指南。
注意
主动规则不会修复标记为 NON _ COMPLIANT 的资源,也不会阻止其部署。
主动评估的托管规则列表
有关支持主动评估的托管规则列表,请参阅列表 AWS 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
主动评估的规则示例
主动规则示例
-
你添加 AWS Config 托管规则
S3_BUCKET_LOGGING_ENABLED
,发送到您的账户,以检查您的 S3 存储桶是否启用了日志记录。 -
对于评估模式,请选择开启主动评估 AWS 管理控制台,或者
EvaluationModes
在中启PROACTIVE
用PutConfigRuleAPI。
开启主动评估后,您可以使用StartResourceEvaluationAPI和GetResourceEvaluationSummaryAPI来检查您的账户中尚未部署到生产环境的存储桶是否未启用日志记录。这允许您在部署之前测试资源配置,并重新评估是否要将资源部署到生产环境。
例如,从:开始 StartResourceEvaluation API:
aws configservice start-resource-evaluation --evaluation-mode PROACTIVE --resource-details '{"ResourceId":"
MY_RESOURCE_ID
", "ResourceType":"AWS::S3::Bucket", "ResourceConfiguration": "{\"BucketName\": \"amzn-s3-demo-bucket1
\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"amzn-s3-demo-bucket2
\",\"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\": \"amzn-s3-demo-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"amzn-s3-demo-destination-bucket1\",\"LogFilePrefix\":\"my-log\"}}", } }
要查看有关评估结果的其他信息,例如哪条规则将资源标记为 NON _COMPLIANT,请使用。GetComplianceDetailsByResourceAPI
使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。
侦查评估的规则示例
变更触发的规则示例
-
向账户添加托管规则
S3_BUCKET_LOGGING_ENABLED
,以检查您的 S3 存储桶是否启用了日志记录。 -
该规则的触发器类型是配置更改。 AWS Config 在创建、更改或删除 S3 存储桶时对规则进行评估。
-
更新存储桶时,配置更改会启动规则,然后 AWS Config 评估存储桶是否符合规则。
定期规则示例
-
向账户添加托管规则
IAM_PASSWORD_POLICY
。该规则会检查您的IAM用户的密码政策是否符合您的账户政策,例如要求最小长度或要求使用特定字符。 -
该规则的触发器类型是周期性的。 AWS Config 按您指定的频率(例如每 24 小时)对规则运行评估。
-
每 24 小时启动一次规则,然后 AWS Config 评估您的IAM用户的密码是否符合规则。
具有配置更改和定期触发器的混合规则示例
-
创建自定义规则来评估是否 AWS CloudTrail 您的账户中的跟踪已开启并记录所有区域。
-
你想要 AWS Config 在每次创建、更新或删除跟踪时对规则进行评估。你还想要 AWS Config 每 12 小时运行一次规则。
-
对于触发器类型,您可以为配置更改和定期触发器编写逻辑。有关更多信息,请参阅组件 AWS Config 规则:写作规则。
关闭配置记录器时的规则评估
如果关闭配置记录器, AWS Config 停止记录对资源配置的更改。这会在以下方面影响到您的规则评估:
-
定期规则继续以指定的频率运行评估。
-
变更触发的规则不运行评估。
-
混合规则仅以指定的频率运行评估。规则不为配置更改运行评估。
-
如果您针对具有配置更改触发器的规则运行按需评估,则规则将评估资源的最后已知状态,这是最后一个记录的配置项目。
重要
避免不必要的 AWS Config 评估
除非删除定期规则和混合规则,否则即使已关闭配置记录器,定期规则和混合规则也将继续运行。这些规则只评估在关闭配置记录器之前记录的配置项目,这意味着如果没有新信息,这些规则将重现相同的评估结果。关闭配置记录器时,请删除定期规则和混合规则,以避免不必要的活动和规则评估。