如何为 AWS Config 组织规则添加修复操作?

上次更新日期:2021 年 2 月 3 日

我想使用修复操作,但 AWS Config 组织规则不支持修复操作。

简短描述

将自定义事件模式与 Amazon EventBridge 规则结合使用,以匹配组织的 AWS Config 规则。然后,选择 AWS Systems Manager Automation 运行手册作为目标。

解决方法

在以下示例中,运行手册 AWS-TerminateEC2Instance 在组织规则中的不合规资源上运行,相应资源类型为 AWS።EC2።Instance。Amazon Elastic Compute Cloud (Amazon EC2) 实例因为不合规而终止。

注意:

您可以替换特定 AWS 服务和组织规则名称的资源类型。 此设置仅适用于 AWS Organizations 管理账户 要对成员账户的资源执行修复操作,请使用 AWS CloudFormation StackSets,通过运行手册设置 EventBridge 规则。

1.在开始之前,请确保您拥有 EC2 权限来运行 AWS Systems Manager Automation 运行手册和类似如下的 Systems Manager Automation Role 信任策略:

{
  "Version": "2012-10-17",
  "Statement": 
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

2.打开 EventBridge 控制台。

3.在导航窗格中,选择规则,然后选择创建规则

4.在名称和描述中,输入规则的名称和描述。

5.在定义模式中,选择事件模式

5.在事件匹配模式中,选择自定义模式

6.在事件模式中,复制并粘贴以下示例事件模式,然后选择保存

注意:将“TesttruleExample”替换为账户中的目标组织规则名称。

{
  "source": ,
  "detail-type": ,
  "detail": {
    "messageType": ,
    "configRuleName": ,
    "resourceType": ,
    "newEvaluationResult": {
      "complianceType": 
    }
  }
}

7.选择目标下拉列表,然后选择 SSM Automation

8.选择文档下拉列表,然后选择 AWS-TerminateEC2Instance

9.展开配置文档版本,然后选择最新

10.展开配置自动化参数,然后选择输入转换器

11.在输入路径文本框中,复制并粘贴以下路径:

{"instanceid":"$.detail.resourceId"}

12.在实例 ID文本框中,复制并粘贴以下内容:

{"InstanceId":,"AutomationAssumeRole":}

注意:AutomationAssumeRole ARN 值替换为您的 SSM 角色 ARN。

13.选择创建新角色使用现有角色,然后选择创建

注意:请确保 EventBridge 规则状态为已启用

有关组织 AWS Config 规则状态的更多信息以及获取列表,请参阅 describe-organization-config-rule-statuses 和 describe-organization-config-rules。