You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CloudFormation配置AWS Config的全部AWS托管规则

AWS CloudFormation实现全选所有AWS Config托管规则方案

你要实现控制台全选所有AWS托管Config规则的效果,有两种可落地的实现方式:


方案1:使用AWS合规包(Conformance Pack,推荐)

控制台的全选托管规则功能本质是调用了AWS预置的全量托管规则合规包模板,用该方案部署和控制台操作效果完全一致,无需手动逐条定义规则:

  • 在你现有模板的Resources块中新增以下2个资源即可:
# 合规包所需服务角色
ConfigConformancePackRole:
  Type: AWS::IAM::Role
  Properties:
    AssumeRolePolicyDocument:
      Version: 2012-10-17
      Statement:
        - Effect: Allow
          Principal:
            Service: config-conforms.amazonaws.com
          Action: sts:AssumeRole
    ManagedPolicyArns:
      - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSConfigConformancePackServiceRolePolicy"

# 全量AWS托管规则合规包
AllAWSManagedRulesConformancePack:
  Type: AWS::Config::ConformancePack
  DependsOn:
    - ConfigRecorder
    - ConfigDeliveryChannel
  Properties:
    ConformancePackName: all-aws-managed-config-rules
    # 使用AWS官方预置的全量托管规则模板
    TemplateS3Uri: !Sub "s3://awsconfigconforms-${AWS::Region}/templates/aws-operational-best-practices-all-rules.yaml"
    DeliveryS3Bucket: !Ref ConfigBucket
    RoleArn: !GetAtt ConfigConformancePackRole.Arn

方案2:手动逐条定义所有托管规则

如果你需要按照你现有模板中ConfigRuleForVolumeTags的格式单独定义每条规则,可按以下步骤操作:

  1. 首先通过AWS CLI拉取当前区域所有AWS托管规则的唯一标识符:
aws configservice list-aws-config-rules --owner AWS --query "ConfigRules[].Source.SourceIdentifier" --output text
  1. 遍历返回的标识符,按照你现有的规则格式批量生成资源块即可,示例如下:
# 示例规则1:检查S3桶是否开启版本控制
ConfigRuleS3VersioningEnabled:
  DependsOn: ConfigRecorder
  Type: AWS::Config::ConfigRule
  Properties:
    Scope: 
      ComplianceResourceTypes: 
        - "AWS::S3::Bucket"
    Source: 
      Owner: AWS
      SourceIdentifier: "S3_BUCKET_VERSIONING_ENABLED"

# 示例规则2:检查EC2实例是否使用EBS优化
ConfigRuleEC2EbsOptimized:
  DependsOn: ConfigRecorder
  Type: AWS::Config::ConfigRule
  Properties:
    Scope: 
      ComplianceResourceTypes: 
        - "AWS::EC2::Instance"
    Source: 
      Owner: AWS
      SourceIdentifier: "EC2_INSTANCE_EBS_OPTIMIZED"

注意事项

  • 部分托管规则需要传入必填参数,直接无参数部署会报错,需要根据规则要求补充InputParameters配置
  • 全量托管规则部署会产生对应的配置评估费用,建议先确认AWS Config计费规则后再部署
  • 全局资源类规则需要确保你模板中的IncludeGlobalResourceTypes参数设置为True,你现有模板已默认开启该配置

内容的提问来源于stack exchange,提问作者Deepakvg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:36:04