本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用AWS Config规则评估您的资源
当您创建自定义规则或使用托管规则时,AWS Config 按照这些规则评估您的资源。您可以按照您的规则对资源进行按需评估。例如,当您创建自定义规则并想要检查AWS Config是否正确评估您的资源或确定AWS Lambda函数的评估逻辑是否存在问题时,这很有用。
示例
-
您可以创建自定义规则来评估您的 IAM 用户是否具有有效的访问密钥。
-
AWS Config根据您的自定义规则评估您的资源。
-
您的账户中存在没有有效访问密钥的 IAM 用户。您的规则未正确地将此资源标记为 NON_COMPLANIE。
-
您修复规则并重新开始评估。
-
由于您修复了规则,因此该规则会正确评估您的资源,并将 IAM 用户资源标记为 NON_COMPLICATE。
当您向账户添加规则时,您可以指定在资源创建和管理流程中何时评估您的资源。AWS Config资源创建和管理过程称为资源配置。您可以选择评估模式来指定在此过程中何时评估您的资源。AWS Config
根据规则,AWS Config可以在部署资源之前、部署资源之后或两者同时评估您的资源配置。在部署资源之前对其进行评估是一种主动评估。在部署后对其进行评估。
主动模式
在部署资源之前,使用主动评估对其进行评估。鉴于您所在地区的账户中有一组主动规则,这使您可以评估一组AWS资源属性(如果用于定义资源)是 “合规” 还是 “不合规”。
资源类型架构说明了资源的属性。您可以在AWS CloudFormation注册表的 “AWS公共扩展” 中找到资源类型架构,也可以使用以下 CLI 命令找到资源类型架构:
aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type
RESOURCE
有关更多信息,请参阅《AWS CloudFormation用户指南》中的通过AWS CloudFormation注册表管理扩展以及AWS资源和属性类型参考。
注意
主动规则不会修复标记为 NON_COMPLANIE 的资源,也不会阻止其部署。
评估您的资源
启用
登录到 AWS Management Console,然后通过以下网址打开 AWS Config 控制台:https://console.aws.amazon.com/config/
。 -
在AWS Management Console菜单中,验证区域选择器是否设置为支持AWS Config规则的区域。有关支持的AWS区域列表,请参阅中的AWS Config区域和终端节点Amazon Web Services 一般参考。
-
在左侧导航窗格中,选择 Rules。有关支持主动评估的托管规则列表,请参阅按评估模式划分的AWS Config托管规则列表。
-
选择规则,然后选择要更新的规则的编辑规则。
-
在评估模式下,选择开启主动评估以允许您在部署资源之前对资源的配置设置进行评估。
-
选择保存。
注意
您也可以使用put-config-rule
命令开启主动评估,EvaluationModes
或使用PutConfigRule操作并启PROACTIVE
用 for 开启PROACTIVE
主动评估EvaluationModes
。
开启主动评估后,您可以使用 StartResourceEvaluationAPI 和 GetResourceEvaluationSummaryAPI 检查您所在地区的账户中的主动规则是否会将您在这些命令中指定的资源标记为 “不合规”。
例如,从 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" } }
要查看有关评估结果的其他信息,例如哪条规则将资源标记为 “不合规”,请使用 GetComplianceDetailsByResourceAPI。
Detective 模式
使用侦测评估来评估已经部署的资源。这允许您评估您的资源的配置设置。
评估您的资源(控制台)
登录到 AWS Management Console,然后通过以下网址打开 AWS Config 控制台:https://console.aws.amazon.com/config/
。 -
在AWS Management Console菜单中,检查区域选择器是否设置为支持AWS Config规则的区域。有关支持区域的列表,请参阅 AWS Config 中的 Amazon Web Services 一般参考 区域和终端节点。
-
在导航窗格中,选择 Rules (规则)。规则页面显示每条规则的名称、关联的修正操作和合规性状态。
-
从表中选择一条规则。
-
从 “操作” 下拉列表中,选择 “重新评估”。
-
AWS Config 开始按照您的规则评估资源。
注意
您可以按照每分钟一个规则的频率重新计算。您必须等待 AWS Config 完成您的规则的评估,然后您才能开始另一个评估。如果规则同时被更新或同时被删除,您将无法运行评估。
评估您的资源 (CLI)
-
使用 start-config-rules-evaluation 命令:
$ aws configservice start-config-rules-evaluation --config-rule-names
ConfigRuleName
AWS Config 开始按照您的规则评估记录的资源配置。您也可以在您的请求中指定多条规则:
$ aws configservice start-config-rules-evaluation --config-rule-names
ConfigRuleName1
ConfigRuleName2
ConfigRuleName3
评估您的资源 (API)
使用 StartConfigRulesEvaluation 操作。