在 Lambda 中更新 UserPool 触发器会导致调用 lambda 时出错

Update UserPool Triggers in a Lambda gives error invoking lambda

我们有一个场景需要从我们使用 lambda 的 api 更新用户池触发器。

每当我们这样做时,更新都会显示在 Cognito 用户池面板中,但是当触发 lambda 时会出现 AccessDeniedException。

如果我转到 AWS 控制台 > Cognito > 用户池 > 我的池 > 触发控制台并保存相同的配置,而不更改任何内容,下次触发 Lambda 时将没有任何问题。

我查看了更新用户池配置的 Lambda 的 IAM 权限,我们更改为对 Cognito 用户池的完全访问权限以查看是否已解决,但得到了一些结果。我们需要任何其他许可吗?

我终于找到了造成这种情况的原因thread

我的情况略有不同,但基本上我有 2 个选择:

1 - 可以向更新用户池的 lambda 添加权限 Lambda.addPermission。

2 - 将策略添加到触发的 lambda 以允许在我部署后由用户池调用。

现在选项 2 对我来说似乎更好,所以我选择这个。