本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
记录来自 Amazon Cognito 用户池的其他活动
您可以将用户池配置为向日志组发送一些其他活动的详细 CloudWatch 日志。这些日志的粒度比中的日志更精细 Amazon CloudTrail,可用于对用户池进行故障排除。激活此功能后,您可以选择希望 Amazon Cognito 将日志发送到哪个日志组。当您想了解您的用户池通过 Amazon SNS 和 Amazon SES 传递的电子邮件和 SMS 消息的状态时,用户活动日志记录非常有用。
目前,您只能从用户池中传递错误级别的用户通知日志。
详细的日志记录不会取代或更改用户池的以下日志功能。
-
CloudTrail 常规用户活动日志,例如注册和登录。
-
使用 CloudWatch 指标大规模分析用户活动。
另外,您还可以在日志中找到来自用户导入任务和 Lambda 触发器的日志。 CloudWatch Amazon Cognito 和 Lambda 将这些日志存储在与您为详细活动日志指定的日志组不同的日志组中。
您可以在 API 请求中使用 Amazon Cognito 用户池 API 配置详细的SetLogDeliveryConfiguration活动日志。您可以在 GetLogDeliveryConfigurationAPI 请求中查看用户池的日志配置。
您必须使用具有以下权限的 Amazon 证书来授权这些请求。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageUserPoolLogs", "Action": [ "cognito-idp:SetLogDeliveryConfiguration", "cognito-idp:GetLogDeliveryConfiguration", ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLog", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLoggingCWL", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
以下是用户池中的一个示例事件。此日志架构可能会发生变化。某些字段可能记录为空值。
{ "eventTimestamp": "1687297330677", "eventSource": "USER_NOTIFICATION", "logLevel": "ERROR", "message": { "details": "String" }, "logSourceId": { "userPoolId": "String" } }
从 Amazon Cognito 传输日志将尽力而为。您的用户池提供的日志量以及您的日志服务配额可能会影响 CloudWatch 日志的传输。
CloudWatch 启用日志传输后,将收取日志费用。有关更多信息,请参阅 Amazon CloudWatch 定价中的销售日志
要将日志发送到资源策略大小超过 5120 个字符的日志组,请使用以 /aws/vendedlogs
开头的路径配置日志组。有关更多信息,请参阅启用某些 Amazon 服务的日志记录。