这个问题通常是因为Lambda缺少所需的IAM权限。您可以通过在Lambda函数的执行角色上附加相应的IAM策略来解决此问题。接下来是一个示例Lambda执行角色的IAM策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowInvokeFromCognito",
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": "*",
"Condition": {
"StringEquals": {
"lambda:CalledVia": "cognito-idp.amazonaws.com"
}
}
}
]
}
这会允许Lambda从Cognito User Pool调用。
确保将此策略附加到Lambda角色并尝试重新验证您的工作。