You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Cognito用户池配置Lambda别名触发器报PreSignUp调用AccessDeniedException错误

解决方案

AccessDeniedException报错的核心原因是:通过CLI手动绑定Lambda别名作为Cognito触发器时,不会像Web控制台配置默认版本触发器那样自动生成Lambda调用授权,也不需要额外创建Cognito专属IAM角色,直接在Lambda侧配置资源策略即可解决问题。

操作步骤

  • 提前收集以下参数:带别名后缀的Lambda完整ARN、Cognito用户池完整ARN、AWS账号ID、资源所在区域
  • 执行以下AWS CLI命令添加Lambda资源策略,替换命令中的占位符为你实际的参数值:
aws lambda add-permission \
  --function-name <替换为带别名的Lambda完整ARN> \
  --statement-id allow-cognito-invoke-pre-signup-alias \
  --action lambda:InvokeFunction \
  --principal cognito-idp.amazonaws.com \
  --source-arn <替换为Cognito用户池完整ARN> \
  --source-account <替换为你的AWS账号ID> \
  --region <替换为资源所在的AWS区域>
  • 执行验证命令确认策略添加成功:
    aws lambda get-policy --function-name <替换为带别名的Lambda完整ARN> --region <替换为资源所在的AWS区域>
    返回结果中存在你刚才添加的策略条目即为配置完成,重新测试用户注册流程即可恢复正常。

注意:必须指定带别名后缀的Lambda完整ARN作为function-name参数的值,若仅填写不带别名的函数ARN,权限只会对函数的$LATEST版本生效,指定别名仍然会触发访问拒绝错误。

内容的提问来源于stack exchange,提问作者Bharat Vishe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:00:02