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

Amazon Cognito是否支持区分本地用户与联合用户并实现权限隔离?

Amazon Cognito 用户池用户分类需求支持方案

Cognito原生支持你提出的两类用户权限需求,但部分场景需要配合自定义Lambda触发器来实现严格的操作拦截。

本地用户(管理员添加,仅本地登录+支持密码重置)

  • 创建这类用户时,选择仅本地认证模式,不关联任何外部身份提供商(IdP)。管理员可通过控制台或AdminCreateUser API创建,支持直接设置初始密码,也可触发密码重置流程让用户自行设置。
  • 原生逻辑会自动限制这类用户无法通过联合服务登录——因为没有绑定任何外部IdP,Cognito会直接拒绝这类登录请求,无需额外配置。

联合服务关联用户(仅外部IdP登录,禁止本地密码操作)

  • 这类用户需通过外部IdP的联合流程创建,或管理员用AdminLinkProviderForUser API将用户与指定IdP绑定。原生状态下这类用户没有本地密码,无法走Cognito本地登录流程,但要完全禁止本地密码相关操作,需要Lambda触发器配合:
    • PreSignUp触发器:拦截用户自行注册本地账户的请求,确保这类用户只能通过联合服务创建。
    • PreAuthentication触发器:识别用户是否为联合用户(可通过自定义属性user_type: federated标记),如果用户尝试用本地密码登录,直接拒绝请求。
    • 自定义触发器拦截密码操作:针对ForgotPassword、ChangePassword等请求,识别用户类型后返回错误提示,阻止操作执行。

Lambda触发器的必要性

  • 基础的登录权限隔离(本地用户不能用IdP登录、联合用户不能用本地密码登录)Cognito原生就能实现。
  • 但如果要杜绝管理员误操作给联合用户设置本地密码、或用户主动发起本地密码重置的情况,必须通过自定义Lambda触发器识别用户类型并拦截违规操作——这部分是原生逻辑覆盖不到的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:38:11