使用 Amazon CloudWatch Logs Insights 分析 Amazon Cognito CloudTrail 事件
您可以使用 Amazon CloudWatch Logs Insights 搜索和分析您的 Amazon Cognito CloudTrail 事件。在配置您的跟踪以将事件发送到 CloudWatch Logs 时,CloudTrail 只发送符合您跟踪记录设置的事件。
如需查询或研究您的 Amazon Cognito CloudTrail 事件,请在 CloudTrail 控制台中确保您在跟踪记录设置中选择 Management events (管理事件) 选项,以便您可以监控对Amazon资源执行的管理操作。当您想要识别账户中的错误、异常活动或异常用户行为时,可以在跟踪记录设置中选择 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/
异常和错误查询
查找最近添加的 25 个含错误代码 NotAuthorizedException
的录入事件以及 Amazon Cognito 用户池 sub
。
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