

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

# AWS Config 自定义规则
<a name="evaluate-config_develop-rules"></a>

AWS Config 自定义规则是您从头开始创建的规则。有两种方法可以创建 AWS Config 自定义规则：使用 Lambda 函数（[AWS Lambda 开发者指南](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-function)）和使用 Guard（[防护 GitHub存储库](https://github.com/aws-cloudformation/cloudformation-guard)）（一种 policy-as-code语言）。

AWS Config *使用 Lambda 创建的自定义规则称为自定义 *AWS Config Lambda 规则*，使用 Guard 创建的 AWS Config 自定义规则称为AWS Config 自定义策略规则。*

在使用自定义规则之前，请参阅 [注意事项](evaluate-config.md#evaluate-config-considerations)

## AWS Config 自定义策略规则
<a name="evaluate-config_develop-rules-policy"></a>

使用 Guard 编写的规则可以从 AWS Config 控制台创建，也可以使用 AWS Config 规则创建 APIs。 AWS Config 自定义策略规则允许您创建 AWS Config 自定义规则，而无需使用 Java 或 Python 开发 Lambda 函数来管理您的自定义规则。 AWS Config 自定义策略规则由配置更改启动。有关 Guard 的更多信息，请参阅 [Guard GitHub 存储库](https://github.com/aws-cloudformation/cloudformation-guard)。

## AWS Config 自定义 Lambda 规则
<a name="evaluate-config_develop-rules-lambda"></a>

自定义 Lambda 规则为您提供了使用 Java 或 Python 为自定义规则创建 Lambda 函数的选项。 AWS Config *Lambda 函数*是您上传到的自定义代码 AWS Lambda，由事件源向其发布的事件调用该函数。如果 Lambda 函数与规则关联， AWS Config 则在规则启动时 AWS Config 调用该函数。然后，Lambda 函数评估发送的配置信息 AWS Config，并返回评估结果。有关 Lambda 函数的更多信息，请参阅《AWS Lambda 开发人员指南**》中的[函数和事件源](https://docs.aws.amazon.com/lambda/latest/dg/intro-core-components.html)。

## AWS Config 自定义规则的格式差异
<a name="evaluate-config_develop-schema"></a>

下表显示了[ConfigurationItem](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigurationItem.html)数据类型和 AWS Config 自定义规则字段的格式差异。


| ConfigurationItem | AWS Config 自定义规则 | 
| --- | --- | 
| version | configurationItemVersion | 
| accountId | awsAccountId | 
| arn | ARN | 
| configurationItemMD5Hash | configurationStateMd5Hash | 

**Topics**
+ [自定义策略规则](#evaluate-config_develop-rules-policy)
+ [自定义 Lambda 规则](#evaluate-config_develop-rules-lambda)
+ [AWS Config 自定义规则的格式差异](#evaluate-config_develop-schema)
+ [创建自定义策略规则](evaluate-config_develop-rules_cfn-guard.md)
+ [创建自定义 Lambda 规则](evaluate-config_develop-rules_lambda-functions.md)
+ [管理自定义 Lambda 规则的已删除资源](evaluate-config_develop-rules-delete.md)