You need to enable JavaScript to run this app. AWS Amplify Cognito用户组成员丢失默认authRole权限问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

AWS Amplify Cognito用户组成员丢失默认authRole权限问题咨询

Cognito身份池的IAM角色授权规则说明

你观察到的行为是AWS Cognito的既定官方设计逻辑,既不是你配置操作失误,也不是产品异常:

  • 核心授权规则:Cognito身份池在为用户签发AWS临时凭证时,角色选择采用*「单角色覆盖」逻辑*,而非「多权限叠加」逻辑。只要用户属于关联了IAM角色的用户组,身份池将直接返回对应用户组关联角色的凭证,完全剔除默认已认证角色(authRole)的权限,不会自动叠加authRole下配置的通用权限。
  • 常见认知偏差来源:很多开发者会混淆两类鉴权逻辑——Cognito用户池下发的ID令牌中包含的组属性,可被应用服务、API网关用于做细粒度接口权限判断;但一旦进入身份池换取AWS服务权限的环节,就完全脱离令牌属性判断,严格执行单角色返回的逻辑,不存在自动追加组权限的机制。
  • 无重复策略的低成本适配方案:
    • 完全不需要在每个自动生成的{USERPOOLID}-*GroupRole中重复编写authRole下的通用策略,仅通过跨角色委托即可实现「通用权限全继承 + 组专属权限追加」的预期效果
    • 具体配置只需要两处小改动:在每个组关联角色的权限策略中追加sts:AssumeRole权限,允许其代入默认authRole的身份;同时在authRole的信任策略中,添加允许所有对应组关联角色代入的信任规则
    • 这套配置可以在CloudFormation中通过内置的动态引用直接获取authRole的全局ARN,天然适配多环境、多资源动态配置的场景,零重复策略维护成本
  • 额外注意规则:如果同一个用户同时归属多个关联了IAM角色的用户组,身份池会按照你在用户组设置中配置的优先级顺序,选择优先级最高的组角色返回,同样不会叠加多个组的角色权限,设计多组权限体系时需要提前对齐该规则。

内容的提问来源于stack exchange,提问作者Jack O'Connor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 11:27:03