选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

亚马逊 Cognito 正在登录 AWS CloudTrail

聚焦模式
亚马逊 Cognito 正在登录 AWS CloudTrail - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Cognito 与 AWS CloudTrail一项服务集成,可记录用户、角色或 AWS 服务在 Amazon Cognito 中执行的操作。 CloudTrail 捕获一部分 Amazon Cognito 的 API 调用作为事件,包括来自亚马逊 Cognito 控制台的调用和对亚马逊 Cognito API 操作的代码调用。如果您创建了跟踪,则可以选择将 CloudTrail 事件传送到 Amazon S3 存储桶,包括 Amazon Cognito 的事件。如果您未配置跟踪,您仍然可以在 CloudTrail 控制台的 “事件历史记录” 中查看最新的事件。通过收集的信息 CloudTrail,您可以确定向 Amazon Cognito 发出的请求、发出请求的 IP 地址、谁提出了请求、何时提出请求以及其他详细信息。

要了解更多信息 CloudTrail,包括如何配置和激活它,请参阅《AWS CloudTrail 用户指南》

您还可以为特定 CloudTrail 事件创建 Amazon CloudWatch 警报。例如,您可以设置 CloudWatch ,以在身份池配置发生更改时触发警报。有关更多信息,请参阅为 CloudTrail 事件创建 CloudWatch 警报:示例

亚马逊 Cognito 发送到的信息 CloudTrail

CloudTrail 在您创建时已开启 AWS 账户。当 Amazon Cognito 中出现支持的事件活动时,该活动会与其他 AWS 服务 CloudTrail 事件一起记录在事件历史记录中。您可以在自己的 AWS 账户中查看、搜索和下载最近发生的事件。有关更多信息,请参阅使用事件历史查看 CloudTrail 事件

要持续记录您的 AWS 账户中的事件,包括 Amazon Cognito 的事件,请创建跟踪。 CloudTrail 跟踪将日志文件传输到 Amazon S3 存储桶。预设情况下,在控制台中创建跟踪时,此跟踪应用于所有 区域。跟踪记录 AWS 分区中所有区域的事件,并将日志文件传送到您指定的 Amazon S3 存储桶。此外,您可以配置其他 AWS 服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅:

每个事件或日志条目都包含有关生成请求的人员信息。身份信息可帮助您确定以下内容:

  • 请求是使用根用户凭证还是 IAM 用户凭证发出的。

  • 请求是使用角色还是联合用户的临时安全凭证发出的。

  • 请求是否由其他 AWS 服务发出。

有关更多信息,请参阅 CloudTrail userIdentity 元素

中的机密数据 AWS CloudTrail

由于用户池和身份池会处理用户数据,因此 Amazon Cognito 会使用该值掩盖 CloudTrail 事件中的一些私有字段。HIDDEN_FOR_SECURITY_REASONS有关 Amazon Cognito 未填充到事件的字段的示例,请参阅示例 Amazon Cognito 事件。Amazon Cognito 只会掩盖一些通常包含用户信息的字段,例如密码和令牌。Amazon Cognito 不会自动检测或屏蔽您在 API 请求中填充到非私有字段的个人身份信息。

用户池事件

Amazon Cognito 支持将用户池操作页面上列出的所有操作作为事件 CloudTrail 记录在日志文件中。Amazon Cognito 将用户池事件记录 CloudTrail 为管理事件。

Amazon Cognito 用户池 CloudTrail 条目中的eventType字段告诉你你的应用程序是向 Amazon Cognito 用户池 API 发出请求,还是向为 OpenID Connect、SAML 2.0 或托管登录页面提供资源的终端节点发出请求。API 请求的 AwsApiCalleventType,端点请求的 AwsServiceEventeventType

Amazon Cognito 将以下请求作为事件记录到您的托管登录服务。 CloudTrail

Hosted UI (classic) events
在中托管用户界面(经典)活动 CloudTrail
操作 描述
Login_GET, CognitoAuthentication 用户查看或向您的 登录端点 提交凭证。
OAuth2_Authorize_GET, Beta_Authorize_GET 用户查看您的 对端点授权
OAuth2Response_GET, OAuth2Response_POST 用户向您的 /oauth2/idpresponse 端点提交 IdP 令牌。
SAML2Response_POST, Beta_SAML2Response_POST 用户向您的 /saml2/idpresponse 端点提交 IdP SAML 断言。
Login_OIDC_SAML_POST 用户在您的 登录端点 中输入用户名并与 IdP 标识符匹配。
Token_POST, Beta_Token_POST 用户向您的 令牌端点 提交授权码。
Signup_GET, Signup_POST 用户向您的 /signup 端点提交注册信息。
Confirm_GET, Confirm_POST 用户在托管 UI 中提交确认代码。
ResendCode_POST 用户在托管 UI 中提交重新发送确认代码的请求。
ForgotPassword_GET, ForgotPassword_POST 用户向您的 /forgotPassword 端点提交重置密码的请求。
ConfirmForgotPassword_GET, ConfirmForgotPassword_POST 用户向您的 /confirmForgotPassword 端点提交代码以确认其 ForgotPassword 请求。
ResetPassword_GET, ResetPassword_POST 用户在托管 UI 中提交新密码。
Mfa_GET, Mfa_POST 用户在托管 UI 中提交多重身份验证(MFA)代码。
MfaOption_GET, MfaOption_POST 用户在托管 UI 中选择其首选 MFA 方法。
MfaRegister_GET, MfaRegister_POST 用户在注册 MFA 时,在托管 UI 中提交多重身份验证(MFA)代码。
Logout 用户在您的 /logout 端点注销。
SAML2Logout_POST 用户在您的 /saml2/logout 端点注销。
Error_GET 用户在托管 UI 中查看错误页面。
UserInfo_GET, UserInfo_POST 用户或 IdP 与您的 userInfo 端点 交换信息。
Confirm_With_Link_GET 用户根据 Amazon Cognito 在电子邮件中发送的链接提交确认。
Event_Feedback_GET 用户向 Amazon Cognito 提交有关高级安全功能事件的反馈。
Managed login events
中的托管登录事件 CloudTrail
操作 描述
login_POST 用户向您的提交凭证登录端点
login_continue_POST 已经登录过一次的用户选择再次登录。
selectChallenge_POST 用户在提交用户名或凭据后对身份验证质询作出回应。
confirmUser_GET 用户在确认或验证电子邮件中打开链接。
mfa_back_POST 用户在出现 MFA 提示后选择 “返回” 按钮。
mfa_options_POST 用户选择 MFA 选项。
mfa_phone_register_POST 用户提交电话号码以注册为 MFA 因子。此操作会导致 Amazon Cognito 向他们的电话号码发送 MFA 代码。
mfa_phone_verify_POST 用户提交发送到其电话号码的 MFA 代码。
mfa_phone_resendCode_POST 用户提交了向其电话号码重新发送 MFA 代码的请求。
mfa_totp_POST 用户提交 TOTP MFA 代码。
signup_POST 用户向您的/signup托管登录页面提交信息。
signup_confirm_POST 用户通过电子邮件或短信提交确认码。
verifyCode_POST 用户提交一次性密码 (OTP) 以进行无密码身份验证。
passkeys_add_POST 用户提交了注册新密钥凭证的请求。
passkeys_add_GET 用户导航到可以注册密钥的页面。
login_passkey_POST 用户使用密钥登录。
在中托管用户界面(经典)活动 CloudTrail
操作 描述
Login_GET, CognitoAuthentication 用户查看或向您的 登录端点 提交凭证。
OAuth2_Authorize_GET, Beta_Authorize_GET 用户查看您的 对端点授权
OAuth2Response_GET, OAuth2Response_POST 用户向您的 /oauth2/idpresponse 端点提交 IdP 令牌。
SAML2Response_POST, Beta_SAML2Response_POST 用户向您的 /saml2/idpresponse 端点提交 IdP SAML 断言。
Login_OIDC_SAML_POST 用户在您的 登录端点 中输入用户名并与 IdP 标识符匹配。
Token_POST, Beta_Token_POST 用户向您的 令牌端点 提交授权码。
Signup_GET, Signup_POST 用户向您的 /signup 端点提交注册信息。
Confirm_GET, Confirm_POST 用户在托管 UI 中提交确认代码。
ResendCode_POST 用户在托管 UI 中提交重新发送确认代码的请求。
ForgotPassword_GET, ForgotPassword_POST 用户向您的 /forgotPassword 端点提交重置密码的请求。
ConfirmForgotPassword_GET, ConfirmForgotPassword_POST 用户向您的 /confirmForgotPassword 端点提交代码以确认其 ForgotPassword 请求。
ResetPassword_GET, ResetPassword_POST 用户在托管 UI 中提交新密码。
Mfa_GET, Mfa_POST 用户在托管 UI 中提交多重身份验证(MFA)代码。
MfaOption_GET, MfaOption_POST 用户在托管 UI 中选择其首选 MFA 方法。
MfaRegister_GET, MfaRegister_POST 用户在注册 MFA 时,在托管 UI 中提交多重身份验证(MFA)代码。
Logout 用户在您的 /logout 端点注销。
SAML2Logout_POST 用户在您的 /saml2/logout 端点注销。
Error_GET 用户在托管 UI 中查看错误页面。
UserInfo_GET, UserInfo_POST 用户或 IdP 与您的 userInfo 端点 交换信息。
Confirm_With_Link_GET 用户根据 Amazon Cognito 在电子邮件中发送的链接提交确认。
Event_Feedback_GET 用户向 Amazon Cognito 提交有关高级安全功能事件的反馈。
注意

Amazon Cognito 会记录特定UserName于用户的请求,UserSub但不记录在 CloudTrail 日志中。通过调用 ListUsers API,并使用主题筛选条件,您可以找到给定 UserSub 的用户。

身份池事件

数据事件

Amazon Cognito 将以下 Amazon Cognito 身份事件记录 CloudTrail 为数据事件。数据事件是大容量数据平面 API 操作, CloudTrail 默认情况下不记录。记录数据事件将收取额外费用。

要为这些 API 操作生成 CloudTrail 日志,您必须激活跟踪中的数据事件,并为 Cognito 身份池选择事件选择器。有关更多信息,请参阅 AWS CloudTrail 用户指南中的记录数据事件以便跟踪

您还可以使用以下 CLI 命令将身份池事件选择器添加到您的跟踪记录中。

aws cloudtrail put-event-selectors --trail-name <trail name> --advanced-event-selectors \ "{\ \"Name\": \"Cognito Selector\",\ \"FieldSelectors\": [\ {\ \"Field\": \"eventCategory\",\ \"Equals\": [\ \"Data\"\ ]\ },\ {\ \"Field\": \"resources.type\",\ \"Equals\": [\ \"AWS::Cognito::IdentityPool\"\ ]\ }\ ]\ }"

管理事件

Amazon Cognito 将剩余的 Amazon Cognito 身份池 API 操作记录为管理事件。 CloudTrail 默认情况下会记录管理事件 API 操作。

有关 Amazon Cognito 登录 CloudTrail的亚马逊 Cognito 身份池 API 操作的列表,请参阅亚马逊 Co gnito 身份池 API 参考。

Amazon Cognito Sync

Amazon Cognito 将所有 Amazon Cognito 同步 API 操作记录为管理事件。有关 Amazon Cognito 登录 CloudTrail的亚马逊 Cognito Sync API 操作的列表,请参阅亚马逊 Cognito Sy nc API 参考

使用亚马逊日志见解分析 Amazon Cognito CloudTrail 事件 CloudWatch

您可以使用 Amazon Log CloudWatch s Insights 搜索和分析您的 Amazon Cognito CloudTrail 事件。当您将跟踪配置为向 CloudWatch Logs 发送事件时,仅 CloudTrail 发送与您的跟踪设置相匹配的事件。

要查询或研究您的 Amazon Cognito CloudTrail 事件,请在 CloudTrail 控制台中确保在跟踪设置中选择管理事件选项,以便您可以监控对资源执行的管理操作。 AWS 当您想要识别账户中的错误、异常活动或异常用户行为时,可以在跟踪记录设置中选择 Insights 事件选项。

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
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。