自定义一致性包 - AWS Config

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

自定义一致性包

自定义一致性包是规则和补救操作的独特集合,您可以将这些AWS Config规则和补救操作一起部署到一个账户和一个AWS区域,也可以部署在的组织中AWS Organizations。

要创建自定义一致性包,请按照以下 “自定义模板” 部分中的步骤创作包含您要使用的AWS Config托管规则AWS Config自定义规则列表的 YAML 文件。

注意

AWS Config托管规则是拥有的预定义规则AWS Config。

AWS Config自定义规则是您从头开始创建的规则。有两种创建AWS Config自定义规则的方法:使用 Lambda 函数(AWS Lambda开发者指南)和使用 Guard(Gu ard GitHub 存储库)(一种 policy-as-code 语言)。 AWS Config使用创建的自定义规则AWS Lambda称为AWS Config自定义 Lambda 规则,使用 Guard 创建的AWS Config自定义规则称为AWS Config自定义策略规则

自定义模板

创建你的 YAML 文件

要创建 YAML 文件,请打开文本编辑器并将该文件另存为 .yaml

注意

您的文件将包含 “参数资源” 部分。

参数

YAML 文件中的Parameters部分用于介绍您稍后将在本Resources节中添加的一组AWS Config规则的规则参数。通过将以下代码块复制并粘贴到您的 YAML 文件中,根据需要对其进行自定义,然后重复每个规则参数来创建该Parameters部分。

Parameters: NameOfRuleParamNameOfRuleParameter: Default: Parameter value Type: Type ...

例如:

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String
注意

在选择AWS Config规则来构建您的自定义一致性包时,请检查您的账户中是否配置了将根据AWS Config规则进行评估的资源。

  1. 之后的参数部分的第一行Parameters:NameOfRule+ Param + 的串联字符串NameOfRuleParameter

    1. NameOfRule替换为您为该规则创建的一致名称。例如,这可能是IamPasswordPolicy为了iam-password-policy 规则。

    2. 键入 Param

    3. 然后,NameOfRuleParameter替换为特定规则的规则参数的名称。对于AWS Config托管规则,规则参数的名称位于AWS Config托管规则列表中(例如,MinimumPasswordLength是规则的规则参数的名称)。iam-password-policy对于AWS Config自定义规则,规则参数的名称是您在创建规则时选择的名称。

  2. 如果您使用的是AWS Config托管规则,请在托管AWS Config规则列表中找到相应的规则,这样您就可以知道特定规则DefaultType该规则的可接受值。对于AWS Config自定义规则,请使用您在创建规则时选择的值。

    注意

    Type必须为每个参数指定。 Type可以是 “字符串”、“整数”、“双精度”、“CSV”、“布尔值” 和 “StringMap” 之一。

资源

Resources部分列出了正在添加到您的自定义一致性包中的规则。将以下方Resources块直接添加到您的Parameters分区下方,根据需要对其进行自定义,并对每条规则重复此操作。有关规格的更多信息,请参阅AWS::Config::ConfigRule

Resources: NameOfRule: Properties: ConfigRuleName: ActualConfigRuleName InputParameters: NameOfRuleParameter: NameOfRuleParamNameOfRuleParameter Source: Owner: Owner SourceIdentifier: SOURCE_IDENTIFIER Type: AWS::Config::ConfigRule ...

例如:

Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule
注意

在选择用于构建自定义一致性包的AWS Config规则时,请检查您的账户中是否有可评估的资源是否符合预配置的AWS Config规则。有关更多信息,请参阅支持的资源类型

  1. NameOfRule使用您在该Parameters部分中创建的相同名称进行替换。

  2. 对于AWS Config托管规则,ActualConfigRuleName替换为托AWS Config管规则列表中相应规则页面的标题。对于AWS Config自定义规则,请使用您在创建规则时选择的Config 规则名称。

  3. NameOfRuleParameter用你Parameters在本节中使用的相同名称替换。在冒号之后,复制并粘贴您在Parameters部分中创建的 NameOfRule+ Param + NameOfRuleParameter的相同串联字符串。

  4. 更改Owner为相应的值。

    注意

    AWS Config托管规则

    对于AWS Config托管规则,的值Owner将为AWS

    AWS Config自定义规则

    对于使用 Guard 创建的AWS Config自定义规则,的值Owner将为CUSTOM_POLICY。对于使用 Lambda 创建的AWS Config自定义规则,的值Owner将为CUSTOM_LAMBDA

  5. 更改SOURCE_IDENTIFIER为相应的值。

    注意

    AWS Config托管规则

    对于AWS Config托管规则,请按照您从托AWS Config管规则列表中选择的规则中的链接复制标识符(例如,规则的源标识符是 ACCESS_KEYS_RO TATED)。access-keys-rotated

    AWS Config自定义规则

    对于使用 Lambda 创建的AWS Config自定义规则,SourceIdentifier是规则AWS Lambda函数的亚马逊资源名称 (ARN),例如arn:aws:lambda:us-east-2:123456789012:function:ActualConfigRuleName。对于使用 Guard 创建的AWS Config自定义规则,不需要此字段。

总的来说,你填写的自定义一致性包应该开始看起来与以下内容类似,这是使用这些AWS Config托管规则的示例:iam-password-policyaccess-keys-rotated、和 iam-user-unused-credentials-check

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String AccessKeysRotatedParamMaxAccessKeyAge: Default: '90' Type: String IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge: Default: '45' Type: String Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule AccessKeysRotated: Properties: ConfigRuleName: access-keys-rotated InputParameters: maxAccessKeyAge: AccessKeysRotatedParamMaxAccessKeyAge Source: Owner: AWS SourceIdentifier: ACCESS_KEYS_ROTATED Type: AWS::Config::ConfigRule IamUserUnusedCredentialsCheck: Properties: ConfigRuleName: iam-user-unused-credentials-check InputParameters: maxCredentialUsageAge: IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge Source: Owner: AWS SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK Type: AWS::Config::ConfigRule

部署您的自定义一致性包

要部署您的自定义一致性包,请参阅使用部署一致性包 AWS Config控制台使用AWS Config命令行界面部署一致性包。