Amazon CloudWatch Logs Insights를 사용하여 Amazon Cognito CloudTrail 이벤트 분석 - Amazon Cognito

Amazon CloudWatch Logs Insights를 사용하여 Amazon Cognito CloudTrail 이벤트 분석

Amazon CloudWatch Logs Insights를 사용하여 Amazon Cognito CloudTrail 이벤트를 검색 및 분석할 수 있습니다. CloudWatch Logs에 이벤트를 전송하도록 추적을 구성하면 CloudTrail은 추적 설정과 일치하는 이벤트만 전송합니다.

Amazon Cognito CloudTrail 이벤트를 쿼리하거나 조사하려는 경우 CloudTrail 콘솔의 추적 설정에서 [관리 이벤트(Management events)] 옵션을 선택해야 AWS 리소스에 대해 수행한 관리 작업을 모니터링할 수 있습니다. 오류, 비정상적인 활동 또는 비정상적인 사용자 행동을 식별하려는 경우 추적 설정에서 [Insights 이벤트(Insights events)] 옵션을 선택할 수도 있습니다.

Amazon Cognito 쿼리 샘플

Amazon CloudWatch 콘솔에서 다음 쿼리를 사용할 수 있습니다.

일반 쿼리

다음은 최근에 추가된 로그 이벤트 25개를 찾습니다.

fields @timestamp, @message | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com"

예외를 포함하여 최근에 추가된 로그 이벤트 25개의 목록을 표시합니다.

fields @timestamp, @message | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com" and @message like /Exception/

예외 및 오류 쿼리

Amazon Cognito 사용자 풀 sub를 사용하여 오류 코드 NotAuthorizedException과 함께 최근에 추가된 로그 이벤트 25개를 찾습니다.

fields @timestamp, additionalEventData.sub as user | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException"

sourceIPAddress 및 해당 eventName이 있는 레코드의 수를 찾습니다.

filter eventSource = "cognito-idp.amazonaws.com" | stats count(*) by sourceIPAddress, eventName

NotAuthorizedException 오류를 트리거한 상위 25개 IP 주소를 찾습니다.

filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException" | stats count(*) as count by sourceIPAddress, eventName | sort count desc | limit 25

ForgotPassword API를 호출한 상위 25개 IP 주소를 찾습니다.

filter eventSource = "cognito-idp.amazonaws.com" and eventName = 'ForgotPassword' | stats count(*) as count by sourceIPAddress | sort count desc | limit 25