使用放大后确认触发器时缺少权限
Missing permissions when using amplify postConfirmation trigger
我通过设置指南设置 Do you want to enable any of the following capabilities?
到 Add User to Group
使用 amplify update auth
和 运行 创建了一个 PostConfirmation
lambda 触发器,这创建了一个`amplify/backend/function//src/add-to-group.js.
中特定功能的模板
然后我使用 amplify push
推送了函数。可悲的是,现在当一个新用户得到确认时,它并没有被添加到想要的组中。检查该特定 lambda 的日志时,出现以下错误:
xyzd1aPostConfirmation-dev is not authorized to perform: cognito-idp:GetGroup on resource …
xyzd1aPostConfirmation-dev is not authorized to perform: cognito-idp:CreateGroup on resource ...
有人知道为什么会这样吗?创建的 IAM 用户不应该拥有使模板文件正常工作的正确权限吗?我该如何解决?
编辑:在 AWS 网络界面中,lambda 附加了一个满足所需权限的现有角色
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cognito-idp:AdminAddUserToGroup",
"cognito-idp:GetGroup",
"cognito-idp:CreateGroup"
],
"Resource": "arn:aws:cognito-idp:eu-west-1:xyz:userpool/abc…",
"Effect": "Allow"
}
]
}
提前感谢您的帮助!
没关系。这些错误仅在 aws 界面中使用 lambda 测试模式时才会发生。
当您在 Cognito 用户界面中设置用户并从 FORCE_CHANGE_PASSWORD
到 CONFIRMED
时,Lambda 触发器不会触发。它仅在您使用实际 signUp
API 并从 UNCONFIRMED
变为 CONFIRMED
时触发。
我通过设置指南设置 Do you want to enable any of the following capabilities?
到 Add User to Group
使用 amplify update auth
和 运行 创建了一个 PostConfirmation
lambda 触发器,这创建了一个`amplify/backend/function//src/add-to-group.js.
然后我使用 amplify push
推送了函数。可悲的是,现在当一个新用户得到确认时,它并没有被添加到想要的组中。检查该特定 lambda 的日志时,出现以下错误:
xyzd1aPostConfirmation-dev is not authorized to perform: cognito-idp:GetGroup on resource …
xyzd1aPostConfirmation-dev is not authorized to perform: cognito-idp:CreateGroup on resource ...
有人知道为什么会这样吗?创建的 IAM 用户不应该拥有使模板文件正常工作的正确权限吗?我该如何解决?
编辑:在 AWS 网络界面中,lambda 附加了一个满足所需权限的现有角色
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cognito-idp:AdminAddUserToGroup",
"cognito-idp:GetGroup",
"cognito-idp:CreateGroup"
],
"Resource": "arn:aws:cognito-idp:eu-west-1:xyz:userpool/abc…",
"Effect": "Allow"
}
]
}
提前感谢您的帮助!
没关系。这些错误仅在 aws 界面中使用 lambda 测试模式时才会发生。
当您在 Cognito 用户界面中设置用户并从 FORCE_CHANGE_PASSWORD
到 CONFIRMED
时,Lambda 触发器不会触发。它仅在您使用实际 signUp
API 并从 UNCONFIRMED
变为 CONFIRMED
时触发。