本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义一致性包
自定义一致性包是规则和补救操作的独特集合,您可以将这些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 存储库
自定义模板
创建你的 YAML 文件
要创建 YAML 文件,请打开文本编辑器并将该文件另存为 .yaml。
注意
您的文件将包含 “参数和资源” 部分。
参数
YAML 文件中的Parameters
部分用于介绍您稍后将在本Resources
节中添加的一组AWS Config规则的规则参数。通过将以下代码块复制并粘贴到您的 YAML 文件中,根据需要对其进行自定义,然后重复每个规则参数来创建该Parameters
部分。
Parameters:
NameOfRule
ParamNameOfRuleParameter
: Default:Parameter value
Type:Type
...
例如:
Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String
注意
在选择AWS Config规则来构建您的自定义一致性包时,请检查您的账户中是否配置了将根据AWS Config规则进行评估的资源。
-
之后的参数部分的第一行
Parameters:
是NameOfRule
+ Param + 的串联字符串NameOfRuleParameter
。-
替换为您为该规则创建的一致名称。例如,这可能是IamPasswordPolicy为了iam-password-policy 规则。NameOfRule
-
键入
Param
。 -
然后,
替换为特定规则的规则参数的名称。对于AWS Config托管规则,规则参数的名称位于AWS Config托管规则列表中(例如,MinimumPasswordLength是规则的规则参数的名称)。iam-password-policy对于AWS Config自定义规则,规则参数的名称是您在创建规则时选择的名称。NameOfRuleParameter
-
-
如果您使用的是AWS Config托管规则,请在托管AWS Config规则列表中找到相应的规则,这样您就可以知道特定规则
Default
和Type
该规则的可接受值。对于AWS Config自定义规则,请使用您在创建规则时选择的值。注意
Type
必须为每个参数指定。Type
可以是 “字符串”、“整数”、“双精度”、“CSV”、“布尔值” 和 “StringMap” 之一。
资源
该Resources
部分列出了正在添加到您的自定义一致性包中的规则。将以下方Resources
块直接添加到您的Parameters
分区下方,根据需要对其进行自定义,并对每条规则重复此操作。有关规格的更多信息,请参阅AWS::Config::ConfigRule。
Resources:
NameOfRule
: Properties: ConfigRuleName:ActualConfigRuleName
InputParameters:NameOfRuleParameter
:NameOfRule
ParamNameOfRuleParameter
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规则。有关更多信息,请参阅支持的资源类型。
-
使用您在该NameOfRule
Parameters
部分中创建的相同名称进行替换。 -
对于AWS Config托管规则,
替换为托AWS Config管规则列表中相应规则页面的标题。对于AWS Config自定义规则,请使用您在创建规则时选择的Config 规则名称。ActualConfigRuleName
-
用你NameOfRuleParameter
Parameters
在本节中使用的相同名称替换。在冒号之后,复制并粘贴您在Parameters
部分中创建的NameOfRule
+ Param +NameOfRuleParameter
的相同串联字符串。 -
更改
为相应的值。Owner
注意
AWS Config托管规则
对于AWS Config托管规则,的值
Owner
将为AWS
。AWS Config自定义规则
对于使用 Guard 创建的AWS Config自定义规则,的值
Owner
将为CUSTOM_POLICY
。对于使用 Lambda 创建的AWS Config自定义规则,的值Owner
将为CUSTOM_LAMBDA
。 -
更改
为相应的值。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:
。对于使用 Guard 创建的AWS Config自定义规则,不需要此字段。ActualConfigRuleName
总的来说,你填写的自定义一致性包应该开始看起来与以下内容类似,这是使用这些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命令行界面部署一致性包。