CloudTrail 이벤트에 대한 CloudWatch 경보 생성: 예 - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudTrail 이벤트에 대한 CloudWatch 경보 생성: 예

이 주제에서는 CloudTrail 이벤트에 대한 경보를 구성하는 방법(예 포함)을 설명합니다.

필수 조건

이 항목에 나오는 예를 사용하기 전에 다음을 수행해야 합니다.

  • 콘솔 또는 CLI를 사용하여 추적을 생성합니다.

  • 로그 그룹을 생성합니다. 이 작업은 추적 생성의 일부로 수행할 수 있습니다. 추적 생성에 대한 자세한 내용은 추적 생성을 참조하세요.

  • 지정된 로그 그룹에 CloudWatch Logs 로그 스트림을 생성하고 이 로그 스트림에 CloudTrail 이벤트를 전달할 수 있는 권한을 CloudTrail에 부여하는 IAM 역할을 지정하거나 생성합니다. 기본 CloudTrail_CloudWatchLogs_Role은 이 작업을 자동으로 수행합니다.

자세한 내용은 CloudWatch Logs에 이벤트 전송 단원을 참조하세요. 이 단원의 예는 Amazon CloudWatch Logs 콘솔에서 수행됩니다. 지표 필터 및 경보를 생성하는 방법에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서필터를 사용하여 로그 이벤트에서 지표 생성Amazon CloudWatch 경보 사용 단원을 참조하세요.

지표 필터 및 경보 생성

경보를 생성하려면 먼저, 지표 필터를 생성한 후 필터에 따라 경보를 구성해야 합니다. 절차에는 모든 예가 표시됩니다. CloudTrail 로그 이벤트의 지표 필터 및 패턴 구문에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서필터 및 패턴 구문에서 JSON 관련 단원을 참조하세요.

보안 그룹 구성 변경 예

다음 절차를 따라 보안 그룹에서 구성 변경이 발생할 때 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다.

지표 필터 생성

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 로그(Logs)에서 로그 그룹(Log groups)을 선택합니다.

  3. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

  4. 지표 필터(Metric filters) 또는 작업(Actions) 메뉴에서 지표 필터 생성(Create metric filter)을 선택합니다.

  5. [패턴 정의(Define pattern)] 페이지의 [필터 패턴 생성(Create filter pattern)]에서 [필터 패턴(Filter pattern)]에 대해 다음을 입력합니다.

    { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
  6. [패턴 테스트(Test pattern)]에서 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  7. [지표 할당(Assign metric)] 페이지에서 [필터 이름(Filter name)]에 SecurityGroupEvents를 입력합니다.

  8. [지표 세부 정보(Metric details)]에서 [새로 생성(Create new)]을 활성화한 후 [지표 네임스페이스(Metric namespace)]에 CloudTrailMetrics를 입력합니다.

  9. [Metric name(지표 이름)]에 SecurityGroupEventCount를 입력합니다.

  10. [Metric Value(지표 값)]에 1을 입력합니다.

  11. [기본값(Default value)]을 비워 둡니다.

  12. 다음(Next)을 선택합니다.

  13. [검토 및 생성(Review and create)] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [지표 필터 생성(Create metric filter)]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [편집(Edit)]을 선택합니다.

경보 만들기

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

  1. [지표 필터(Metric filters)] 탭에서, 지표 필터 생성에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [지표 필터(Metric filters)] 표시줄에서 [경보 생성(Create alarm)]을 선택합니다.

  2. [지표 및 조건 지정(Specify metric and conditions)]에 다음을 입력합니다.

    1. [그래프(Graph)]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 1로 설정됩니다.

    2. [지표 이름(Metric name)]의 경우 현재 지표 이름인 SecurityGroupEventCount를 유지합니다.

    3. [통계(Statistic)]의 경우 기본값인 Sum을 유지합니다.

    4. [기간(Period)]의 경우 기본값인 5 minutes를 유지합니다.

    5. [조건(Conditions)]의 [임계값 유형(Threshold type)]에서 [정적(Static)]을 선택합니다.

    6. [metric_name이 다음과 같을 때마다(Whenever metric_name is)]의 경우 [더 큼/같음(Greater/Equal)]을 선택합니다.

    7. 임계값에는 1을 입력합니다.

    8. [추가 구성(Additional configuration)]의 경우 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  3. [작업 구성(Configure actions)] 페이지에서 [알림(Notification)]을 선택하고, [상태(In alarm)]를 선택합니다. 이는 5분 동안 1개의 변경 이벤트 임계값을 초과하고, SecurityGroupEventCount가 경보 상태일 때 작업이 수행됨을 나타냅니다.

    1. [다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)]에서 [새 주제 생성(Create new topic)]를 선택합니다.

    2. 새 Amazon SNS 주제의 SecurityGroupChanges_CloudWatch_Alarms_Topic을 입력합니다.

    3. [알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

    4. 주제 생성을 선택합니다.

  4. 이 예에서는 다른 작업 유형을 건너뜁니다. 다음(Next)을 선택합니다.

  5. [이름 및 설명 추가(Add name and description)] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 Security group configuration changes를 입력하고 설명에 Raises alarms if security group configuration changes occur를 입력합니다. 다음(Next)을 선택합니다.

  6. [미리 보기 및 생성(Preview and create)] 페이지에서 선택 사항을 검토합니다. 변경하려면 [편집(Edit)]을 선택합니다. 또는 경보를 생성하려면 [경보 생성(Create alarm)]을 선택합니다.

    경보를 생성하면 CloudWatch에서 [경보(Alarms)] 페이지를 엽니다. 경보의 [작업(Actions)] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [확인 보류 중(Pending confirmation)]으로 표시됩니다.

AWS Management Console 로그인 실패의 예

다음 절차를 따라 5분 동안 3회 이상의 AWS Management Console 로그인 실패가 발생할 때 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다.

지표 필터 생성

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 [로그(Logs)]에서 [로그 그룹(Log groups)]을 선택합니다.

  3. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

  4. 지표 필터(Metric filters) 또는 작업(Actions) 메뉴에서 지표 필터 생성(Create metric filter)을 선택합니다.

  5. [패턴 정의(Define pattern)] 페이지의 [필터 패턴 생성(Create filter pattern)]에서 [필터 패턴(Filter pattern)]에 대해 다음을 입력합니다.

    { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
  6. [패턴 테스트(Test pattern)]에서 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  7. [지표 할당(Assign metric)] 페이지에서 [필터 이름(Filter name)]에 ConsoleSignInFailures를 입력합니다.

  8. [지표 세부 정보(Metric details)]에서 [새로 생성(Create new)]을 활성화한 후 [지표 네임스페이스(Metric namespace)]에 CloudTrailMetrics를 입력합니다.

  9. [Metric name(지표 이름)]에 ConsoleSigninFailureCount를 입력합니다.

  10. [Metric Value(지표 값)]에 1을 입력합니다.

  11. [기본값(Default value)]을 비워 둡니다.

  12. 다음(Next)을 선택합니다.

  13. [검토 및 생성(Review and create)] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [지표 필터 생성(Create metric filter)]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [편집(Edit)]을 선택합니다.

경보 만들기

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

  1. [지표 필터(Metric filters)] 탭에서, 지표 필터 생성에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [지표 필터(Metric filters)] 표시줄에서 [경보 생성(Create alarm)]을 선택합니다.

  2. [경보 생성(Create Alarm)] 페이지의 [지표 및 조건 지정(Specify metric and conditions)]에서 다음을 입력합니다.

    1. [그래프(Graph)]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 3로 설정됩니다.

    2. [지표 이름(Metric name)]의 경우 현재 지표 이름인 ConsoleSigninFailureCount를 유지합니다.

    3. [통계(Statistic)]의 경우 기본값인 Sum을 유지합니다.

    4. [기간(Period)]의 경우 기본값인 5 minutes를 유지합니다.

    5. [조건(Conditions)]의 [임계값 유형(Threshold type)]에서 [정적(Static)]을 선택합니다.

    6. [metric_name이 다음과 같을 때마다(Whenever metric_name is)]의 경우 [더 큼/같음(Greater/Equal)]을 선택합니다.

    7. 임계값에는 3을 입력합니다.

    8. [추가 구성(Additional configuration)]의 경우 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  3. [작업 구성(Configure actions)] 페이지에서 [알림(Notification)]을 선택하고, [상태(In alarm)]를 선택합니다. 이는 5분 동안 3개의 변경 이벤트 임계값을 초과하고, ConsoleSigninFailureCount가 경보 상태일 때 작업이 수행됨을 나타냅니다.

    1. [다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)]에서 [새 주제 생성(Create new topic)]를 선택합니다.

    2. 새 Amazon SNS 주제의 ConsoleSignInFailures_CloudWatch_Alarms_Topic을 입력합니다.

    3. [알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

    4. 주제 생성을 선택합니다.

  4. 이 예에서는 다른 작업 유형을 건너뜁니다. 다음(Next)을 선택합니다.

  5. [이름 및 설명 추가(Add name and description)] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 Console sign-in failures를 입력하고 설명에 Raises alarms if more than 3 console sign-in failures occur in 5 minutes를 입력합니다. 다음(Next)을 선택합니다.

  6. [미리 보기 및 생성(Preview and create)] 페이지에서 선택 사항을 검토합니다. 변경하려면 [편집(Edit)]을 선택합니다. 또는 경보를 생성하려면 [경보 생성(Create alarm)]을 선택합니다.

    경보를 생성하면 CloudWatch에서 [경보(Alarms)] 페이지를 엽니다. 경보의 [작업(Actions)] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [확인 보류 중(Pending confirmation)]으로 표시됩니다.

예: IAM 정책 변경

다음 절차를 따라 API 호출을 수행하여 IAM 정책을 변경할 때 트리거되는 Amazon CloudWatch 경보를 생성할 수 있습니다.

지표 필터 생성

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 로그를 선택합니다.

  3. 로그 그룹 목록에서 추적에 대해 생성한 로그 그룹을 선택합니다.

  4. [작업(Actions)]을 선택한 후 [지표 필터 생성(Create metric filter)]을 선택합니다.

  5. [패턴 정의(Define pattern)] 페이지의 [필터 패턴 생성(Create filter pattern)]에서 [필터 패턴(Filter pattern)]에 대해 다음을 입력합니다.

    {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
  6. [패턴 테스트(Test pattern)]에서 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  7. [지표 할당(Assign metric)] 페이지에서 [필터 이름(Filter name)]에 IAMPolicyChanges를 입력합니다.

  8. [지표 세부 정보(Metric details)]에서 [새로 생성(Create new)]을 활성화한 후 [지표 네임스페이스(Metric namespace)]에 CloudTrailMetrics를 입력합니다.

  9. [Metric name(지표 이름)]에 IAMPolicyEventCount를 입력합니다.

  10. [Metric Value(지표 값)]에 1을 입력합니다.

  11. [기본값(Default value)]을 비워 둡니다.

  12. 다음(Next)을 선택합니다.

  13. [검토 및 생성(Review and create)] 페이지에서 선택 사항을 검토합니다. 필터를 생성하려면 [지표 필터 생성(Create metric filter)]을 선택합니다. 또는 뒤로 돌아가서 값을 변경하려면 [편집(Edit)]을 선택합니다.

경보 만들기

지표 필터를 생성하면 CloudTrail 추적 로그 그룹에 대한 CloudWatch Logs 로그 그룹 세부 정보 페이지가 열립니다. 다음 절차를 따라 경보를 생성할 수 있습니다.

  1. [지표 필터(Metric filters)] 탭에서, 지표 필터 생성에서 생성한 지표 필터를 찾습니다. 지표 필터 확인란을 선택합니다. [지표 필터(Metric filters)] 표시줄에서 [경보 생성(Create alarm)]을 선택합니다.

  2. [경보 생성(Create Alarm)] 페이지의 [지표 및 조건 지정(Specify metric and conditions)]에서 다음을 입력합니다.

    1. [그래프(Graph)]의 경우 경보를 생성할 때 지정한 다른 설정을 기반으로 선이 1로 설정됩니다.

    2. [지표 이름(Metric name)]의 경우 현재 지표 이름인 IAMPolicyEventCount를 유지합니다.

    3. [통계(Statistic)]의 경우 기본값인 Sum을 유지합니다.

    4. [기간(Period)]의 경우 기본값인 5 minutes를 유지합니다.

    5. [조건(Conditions)]의 [임계값 유형(Threshold type)]에서 [정적(Static)]을 선택합니다.

    6. [metric_name이 다음과 같을 때마다(Whenever metric_name is)]의 경우 [더 큼/같음(Greater/Equal)]을 선택합니다.

    7. 임계값에는 1을 입력합니다.

    8. [추가 구성(Additional configuration)]의 경우 기본값을 그대로 둡니다. 다음(Next)을 선택합니다.

  3. [작업 구성(Configure actions)] 페이지에서 [알림(Notification)]을 선택하고, [상태(In alarm)]를 선택합니다. 이는 5분 동안 1개의 변경 이벤트 임계값을 초과하고, IAMPolicyEventCount가 경보 상태일 때 작업이 수행됨을 나타냅니다.

    1. [다음 SNS 주제로 알림 전송(Send a notification to the following SNS topic)]에서 [새 주제 생성(Create new topic)]를 선택합니다.

    2. 새 Amazon SNS 주제의 IAM_Policy_Changes_CloudWatch_Alarms_Topic을 입력합니다.

    3. [알림을 받을 이메일 엔드포인트(Email endpoints that will receive the notification)]에 이 경보가 발생할 경우 알림을 받을 사용자의 이메일 주소를 입력합니다. 이메일 주소는 쉼표로 구분합니다.

      각 이메일 수신자는 Amazon SNS 주제를 구독할 것인지 확인하는 이메일을 받습니다.

    4. 주제 생성을 선택합니다.

  4. 이 예에서는 다른 작업 유형을 건너뜁니다. 다음(Next)을 선택합니다.

  5. [이름 및 설명 추가(Add name and description)] 페이지에서 경보의 표시 이름과 설명을 입력합니다. 이 예에서는 이름에 IAM Policy Changes를 입력하고 설명에 Raises alarms if IAM policy changes occur를 입력합니다. 다음(Next)을 선택합니다.

  6. [미리 보기 및 생성(Preview and create)] 페이지에서 선택 사항을 검토합니다. 변경하려면 [편집(Edit)]을 선택합니다. 또는 경보를 생성하려면 [경보 생성(Create alarm)]을 선택합니다.

    경보를 생성하면 CloudWatch에서 [경보(Alarms)] 페이지를 엽니다. 경보의 [작업(Actions)] 열은 SNS 주제의 모든 이메일 수신자가 SNS 알림을 구독하기를 원한다고 확인할 때까지 [확인 보류 중(Pending confirmation)]으로 표시됩니다.

CloudWatch Logs 경보에 대한 알림 구성

CloudTrail에 대한 경보가 트리거될 때마다 알림을 보내도록 CloudWatch Logs를 구성할 수 있습니다. 이렇게 하면 CloudTrail 이벤트에 캡처되고 CloudWatch Logs에서 감지한 중요한 운영 이벤트에 빠르게 대응할 수 있습니다. CloudWatch는 Amazon Simple Notification Service(SNS)를 사용하여 이메일을 보냅니다. 자세한 내용은 CloudWatch 개발자 가이드Amazon SNS 설정 단원을 참조하세요.