我想使用修復動作,但 AWS Config 組織規則不支援修復動作。
簡短說明
若要符合您組織適用的 AWS Config 規則,請將自訂事件模式與 Amazon EventBridge 規則搭配使用。然後,選擇 AWS Systems Manager Automation 執行手冊作為目標。
解決方法
在本範例過程中,該執行手冊 AWS-TerminateEC2Instance 在組織規則的不合規資源上執行,資源類型為 AWS::EC2::Instance。Amazon Elastic Compute Cloud (Amazon EC2) 執行個體因不合規而終止。
注意:
- 使用專屬於 AWS 服務和組織規則名稱的資源類型。
- 使用 AWS CloudFormation StackSets 對成員帳戶的資源執行修復動作,並透過執行手冊設定 EventBridge 規則。
- 確保您擁有執行 AWS Systems Manager Automation 執行手冊的 Amazon EC2 權限。
請完成下列步驟:
-
確保您具有類似下列的 Systems Manager Automation 角色信任政策:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ssm.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
-
開啟 EventBridge 主控台。
-
在導覽窗格中,選擇規則,然後選擇建立規則。
-
在名稱和描述中,輸入規則的名稱和說明。
-
在定義模式中,選擇事件模式。
-
在事件相符模式中,選擇自訂模式。
-
在事件模式中,輸入下列事件模式範例。使用您帳戶中的目標組織規則名稱取代 TestRuleExample:
{ "source": [
"aws.config"
],
"detail-type": [
"Config Rules Compliance Change"
],
"detail": {
"messageType": [
"ComplianceChangeNotification"
],
"configRuleName": [
{
"prefix": "OrgConfigRule-TestRuleExample-"
}
],
"resourceType": [
"AWS::EC2::Instance"
],
"newEvaluationResult": {
"complianceType": [
"NON_COMPLIANT"
]
}
}
}
-
選擇儲存。
-
對於目標,選擇 SSM 自動化。
-
對於文件,選擇 AWS-TerminateEC2Instance。
-
展開設定文件版本,然後選擇最新。
-
展開設定自動化參數,然後選擇輸入轉換器。
-
對於輸入路徑,輸入下列內容:
{"instanceid":"$.detail.resourceId"}
- 對於「執行個體 ID」文字方塊,輸入下列內容。將 ARN 範例取代為您的系統管理員角色的 ARN:
{"InstanceId":[instanceid],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/SSMRoleExample"]}
- 選擇建立新角色或使用現有角色,然後選擇建立。
注意:請確認 EventBridge 狀態為已啟用。
如需 AWS Config 組織規則狀態的詳細資訊以及取得 AWS Config 規則單,請參閱 describe-organization-config-rule-statuses 和 describe-organization-config-rules。
相關資訊
使用 AWS Config 服務在 AWS 帳戶中建立資源後,如何接收自訂電子郵件通知?
使用 AWS Config 規則自動修復不合規資源
教學課程: 使用輸入轉換器自訂 EventBridge 傳遞至事件目標的內容