AWS 리소스가 규정을 준수하지 않을 때 알림을 트리거하는 Amazon EventBridge 규칙을 생성했지만 응답이 JSON 형식입니다. 사용자 지정 알림이 포함된 이메일을 받으려면 어떻게 해야 합니까?
간략한 설명
사용자 지정 이벤트 패턴 및 입력 변환기와 함께 EventBridge 규칙을 사용하여 AWS Config 평가 규칙 출력을 NON_COMPLIANT로 일치시킵니다. 그런 다음 응답을 Amazon SNS(Amazon Simple Notification Service) 주제로 라우팅합니다.
해결 방법
다음 예제에서는 ec2-security-group-attached-to-eni 관리형 규칙에서 Amazon EC2(Amazon Elastic Compute Cloud) 보안 그룹에 대해 AWS 리소스가 NON_COMPLIANT라고 보고할 때 SNS 알림이 수신됩니다.
참고: AWS Config 리소스 유형 및 규칙을 특정 AWS 서비스 및 AWS Config 규칙으로 대체할 수 있습니다.
1. Amazon SNS 주제를 아직 생성하지 않은 경우 Amazon SNS 시작하기의 지침을 따릅니다.
중요: Amazon SNS 주제는 AWS Config 서비스와 동일한 리전에 있어야 합니다.
2. [EventBridge 콘솔]을 엽니다.
3. **규칙 생성(Create rule)**을 선택합니다.
4. [이름(Name)]에 규칙 이름을 입력합니다. 필요한 경우 [설명(Description)]을 입력합니다.
5. 규칙 유형에서 [이벤트 패턴이 있는 규칙(Rule with an event pattern)]을 선택합니다. 그러고 나서 [다음(Next)]을 선택합니다.
6. 이벤트 소스에서 AWS 이벤트 또는 EventBridge 파트너 이벤트를 선택합니다.
7. 이벤트 패턴 창에서 **사용자 지정 패턴 (JSON 편집기)**을 선택하고 다음 예제 이벤트 패턴을 복사하여 붙여넣습니다.
{
"source": [
"aws.config"
],
"detail-type": [
"Config Rules Compliance Change"
],
"detail": {
"messageType": [
"ComplianceChangeNotification"
],
"configRuleName": [
"ec2-security-group-attached-to-eni"
],
"resourceType": [
"AWS::EC2::SecurityGroup"
],
"newEvaluationResult": {
"complianceType": [
"NON_COMPLIANT"
]
}
}
}
8. **다음(Next)**을 선택합니다.
9. 대상 유형에서 [AWS 서비스]를 선택합니다.
10. 대상 선택에서 SNS 주제를 선택합니다.
11. **주제(Topic)**에서 원하는 SNS 주제를 선택합니다.
12. **Additional settings(추가 설정)**을 확장합니다. 그런 다음 입력 대상 구성에서 입력 변환기를 선택합니다.
- **Configure input transformer(입력 변환기 구성)**을 선택합니다. [입력 경로(Input Path)] 텍스트 상자의 [대상 입력 변환기(Target input transformer)]에 다음 예제 경로를 복사하여 붙여넣습니다.
{
"awsRegion": "$.detail.awsRegion",
"resourceId": "$.detail.resourceId",
"awsAccountId": "$.detail.awsAccountId",
"compliance": "$.detail.newEvaluationResult.complianceType",
"rule": "$.detail.configRuleName",
"time": "$.detail.newEvaluationResult.resultRecordedTime",
"resourceType": "$.detail.resourceType"
}
14. [템플릿(Template)] 텍스트 상자에 다음 예제 템플릿을 복사하여 붙여 넣습니다. 사용 사례에서 요구하는 시간, 규칙, 리소스 유형, 리소스 ID, AWS 계정 ID 및 AWS 리전, 규정 준수, 및 리소스 정보를 입력합니다.
"On <time> AWS Config rule <rule> evaluated the <resourceType> with Id <resourceId> in the account <awsAccountId> region <awsRegion> as <compliance> For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resourceType>/<resourceId>/configuration"
15. Confirm을 선택합니다. 그리고 **Next(다음)**을 선택합니다.
16. 선택적으로 새 태그를 추가할 수 있습니다. 그리고 **Next(다음)**을 선택합니다.
17. 규칙 생성을 선택합니다.
18. 이벤트 유형이 트리거된 후 다음과 같이 13단계에서 입력한 사용자 지정 필드가 포함된 SNS 이메일 알림이 수신됩니다.
"On ExampleTime AWS Config rule ExampleRuleName evaluated the ExampleResourceType with Id ExampleResource_ID in the account ExampleAccount_Id in Region ExampleRegion as ExamplecomplianceType. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=ExampleRegion#/timeline/ExampleResourceType/ExampleResource_ID/configuration"
관련 정보
Route 53 호스팅 영역 기록에 변경이 발생하면 어떻게 알림을 받을 수 있습니까?
AWS Config 서비스를 사용하여 내 AWS 계정에서 리소스가 만들어질 때 사용자 지정 이메일 알림을 받으려면 어떻게 해야 합니까?
특정 AWS 서비스 이벤트 유형이 트리거되는 경우 사용자 지정 SNS 알림을 보내도록 GuardDuty의 EventBridge 규칙을 구성하려면 어떻게 해야 하나요?