我想使用修复操作,但 AWS Config 组织规则不支持修复操作。
简短描述
将自定义事件模式与 Amazon EventBridge 规则结合使用,以匹配组织的 AWS Config 规则。然后,选择 AWS Systems Manager Automation 运行手册作为目标。
解决方法
在以下示例中,运行手册 AWS-TerminateEC2Instance 在组织规则中的不合规资源上运行,相应资源类型为 AWS።EC2።Instance。Amazon Elastic Compute Cloud (Amazon EC2) 实例因为不合规而终止。
注意:
1. 在开始之前,请确保您拥有 EC2 权限来运行 AWS Systems Manager Automation 运行手册和类似如下的 Systems Manager Automation Role 信任策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ssm.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
2. 打开 EventBridge 控制台。
3. 在导航窗格中,选择规则,然后选择创建规则。
4. 在名称和描述中,输入规则的名称和描述。
5. 在定义模式中,选择事件模式。
5. 在事件匹配模式中,选择自定义模式。
6. 在事件模式中,复制并粘贴以下示例事件模式,然后选择保存。
**注意:**将“TesttruleExample”替换为账户中的目标组织规则名称。
{
"source": [
"aws.config"
],
"detail-type": [
"Config Rules Compliance Change"
],
"detail": {
"messageType": [
"ComplianceChangeNotification"
],
"configRuleName": [
{
"prefix": "OrgConfigRule-TestRuleExample-"
}
],
"resourceType": [
"AWS::EC2::Instance"
],
"newEvaluationResult": {
"complianceType": [
"NON_COMPLIANT"
]
}
}
}
7. 选择目标下拉列表,然后选择 SSM Automation。
8. 选择文档下拉列表,然后选择 AWS-TerminateEC2Instance。
9. 展开配置文档版本,然后选择最新。
10. 展开配置自动化参数,然后选择输入转换器。
11. 在输入路径文本框中,复制并粘贴以下路径:
{"instanceid":"$.detail.resourceId"}
12. 在实例 ID文本框中,复制并粘贴以下内容:
{"InstanceId":[<instanceid>],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/SSMRoleExample"]}
**注意:**将 AutomationAssumeRole ARN 值替换为您的 SSM 角色 ARN。
13. 选择创建新角色或使用现有角色,然后选择创建。
注意:请确保 EventBridge 规则状态为已启用。
有关组织 AWS Config 规则状态的更多信息以及获取列表,请参阅 describe-organization-config-rule-statuses 和 describe-organization-config-rules。
相关信息
使用 AWS Config 服务在 AWS 账户中创建资源后,如何接收自定义电子邮件通知?
使用 AWS Config 规则自动修复不符合要求的资源
教程:使用输入转换器自定义要传递给事件目标的内容