CloudTrail 中的 Amazon Cognito 信息 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

CloudTrail 中的 Amazon Cognito 信息

当您创建自己的 Amazon Web Services 账户时,CloudTrail 开启。当 Amazon Cognito 中发生受支持的事件活动时,该活动将记录在 CloudTrail 事件中,并与其他 Amazon 服务事件一同保存在 Event history (事件历史记录) 中。您可以在 Amazon 账户中查看、搜索和下载最新事件。有关更多信息,请参阅使用 CloudTrail 事件历史记录查看事件

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

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

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

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

  • 请求是否由其它 Amazon 服务发出。

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

Amazon CloudTrail 中的机密数据

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

Amazon Cognito User Pools

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

Amazon Cognito 用户群体 CloudTrail 条目中的 eventType 字段告诉您,应用程序是向 Amazon Cognito 用户群体 API 发出了请求,还是向为 OpenID Connect、SAML 2.0 或托管 UI 提供资源的端点发出了请求。API 请求的 AwsApiCalleventType,端点请求的 AwsServiceEventeventType

Amazon Cognito 将以下对于托管 UI 的托管 UI 请求作为事件记录到 CloudTrail 中。

CloudTrail 中的托管 UI 操作
操作 描述
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 方法。
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 在 CloudTrail 日志中记录特定用户请求的 UserSub,但不记录 UserName。通过调用 ListUsers API,并使用主题筛选条件,您可以找到给定 UserSub 的用户。

Amazon Cognito 身份池

数据事件

Amazon Cognito 将以下 Amazon Cognito 身份事件作为数据事件记录到 CloudTrail 中。数据事件是大容量数据面板 API 操作,CloudTrail 原定设置情况下不记录这些操作。记录数据事件将收取额外费用。

要为这些 API 操作生成 CloudTrail 日志,您必须在跟踪记录中激活数据事件,并为 Cognito identity pools(Cognito 身份池)选择事件选择器。有关更多信息,请参阅 Amazon 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 的 Amazon Cognito 身份池 API 操作的列表,请参阅 Amazon Cognito 身份池 API 参考

Amazon Cognito Sync

Amazon Cognito 将所有 Amazon Cognito 同步 API 操作记录为管理事件。有关 Amazon Cognito 记录到 CloudTrail 的 Amazon Cognito 同步 API 操作的列表,请参阅 Amazon Cognito 同步 API 参考