gpt4 book ai didi

amazon-web-services - Cognito 用户池组不适用于不同的角色

转载 作者:行者123 更新时间:2023-12-04 08:06:59 26 4
gpt4 key购买 nike

我正在努力实现以下目标:
我有一个 Web 应用程序,需要对某些菜单和 API 网关调用具有不同的用户权限。

我做了以下工作:
- 设置具有 2 个组(组 1 和组 2)的用户池
- 将用户分配到这些组
- 设置 2 个策略(策略 1 和策略 2,其中策略 1 是 fed.identites 中已验证角色的默认策略)
- 在角色中设置正确的信任策略
- 在联合身份中,在身份验证提供程序下,我设置了经过身份验证的角色选择以从 token 中选择角色

在前面,我已经解码了 ID token 并在初始化登录时验证了 cognito:groups 等是否正确。

因此,组 1 是允许所有内容的宽松策略,而策略 2 是更严格的策略,不应允许调用 API 网关中的某个资源。

但是,当我将用户分配到具有更严格策略 2 的组 2 时,该用户似乎仍然使用允许所有内容的策略 1。我在这里做错了什么?

我和 this thread 有同样的问题并完全按照它所说的去做,但仍然没有进展

最佳答案

检查分配给用户组的角色是否有 trust relationship .它需要这样才能承担联合身份提供者的角色。

您可以通过执行以下操作为用户池组角色构建适当的角色:

  • 打开 AWS 控制台
  • 进入 IAM 部分
  • 选择角色
  • 选择网络身份
  • 选择亚马逊 Cognito
  • 粘贴您的身份池 ID(联合身份)
  • 点击下一步
  • 现在为用户组添加/创建您需要的策略,如 S3 访问,或其他。
  • 为角色命名并保存。
  • 转到您的用户池组,对其进行编辑并分配刚刚创建的角色。
  • 打开联合身份
  • 将 Authenticated role selection dropbox 设置为 Choose role from token
  • 可选设置 Role resolutionDENY

  • 引用:

    Fine grained auth

    Role based access control

    关于amazon-web-services - Cognito 用户池组不适用于不同的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44002724/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com