通过AWS CDK部署SourceIdentifier为AWS_CONFIG_PROCESS_CHECK的Config规则报错
问题原因
你使用的AWS_CONFIG_PROCESS_CHECK是AWS Config合规包(Conformance Pack)场景下的内部预留标识符,仅支持在合规包模板中使用,不支持作为独立托管规则的标识符直接传入AWS::Config::ConfigRule资源,这就是你部署时报参数无效错误的核心原因。你参考的模板是合规包专用模板,和独立Config规则的部署要求存在差异。
解决方案
- 方案一:通过合规包形式部署所有规则
如果你要批量部署合规包内的所有规则,直接使用CDK的CfnConformancePack资源加载合规包模板即可,无需单独定义每个Config规则,该场景下AWS_CONFIG_PROCESS_CHECK可被正常识别。 - 方案二:替换为独立托管规则对应的公开标识符
如果你需要单独部署这条账户联系信息检查规则,将CDK代码中的identifier参数值替换为公开可用的托管规则IDACCOUNT_CONTACT_DETAILS_CONFIGURED即可,修改后的代码示例如下:
from aws_cdk import ( core as cdk, aws_config as config, ) .... class TestConfigRulesStack(cdk.Stack): def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None: super().__init__(scope, construct_id, **kwargs) self.rule = config.ManagedRule( self, 'ManagedRule-test', config_rule_name='account-contact-details-configured', # 替换为公开可用的托管规则标识符 identifier='ACCOUNT_CONTACT_DETAILS_CONFIGURED', ) ....
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

