【问题标题】:User Roles in Amazon CognitoAmazon Cognito 中的用户角色
【发布时间】:2020-01-06 05:18:55
【问题描述】:

我有一个通过 Amazon Cognito 进行身份验证的 Jhipster 应用程序。可以访问此应用程序的用户是那些无权访问 AWS 资源的用户,因此我使用用户池而不是身份池进行了迁移。请让我知道如何分配与 Amazon IAM 无关的角色,因为无论我在 cognito 中提到角色,都提到以下网站Link Here

请让我知道我可以保持角色的另一种方式

【问题讨论】:

  • 您是如何获得通过 Amazon Cognito 进行身份验证的 Jhipster 应用程序的?这就是我想做的。它对你有用吗?
  • @KingAndrew 你可以做到,当你创建一个 jhipster 应用程序时,它会询问你是否要创建具有 oauth2 实现的应用程序。但问题是 jhipster 生成的实现基本上是针对 okta 的,而 cognito 中没有角色概念。 ACL需要自己实现。

标签: java jhipster amazon-cognito spring-security-oauth2


【解决方案1】:

您可以使用 Cognito 用户池的组来建立简约的基于角色的访问控制。由于可以在 JWT 中找到 cognito 组,因此您可以根据用户所在的组来处理用户:

"cognito:groups": [
"Admin",
"User"

]

一个用户可以属于一个或多个组(AWS 硬限制:25),每个用户池最多可以有 500 个组。更多信息请关注:Limits in Amazon Cognito

此外,每个组都必须有一个 IAM 角色。您可以在那里为用户指定权限,或者只使用不同的组来处理它。

【讨论】:

  • 我已经设法使用了组功能,我想知道是否有可能将授予的权限设置从 cognito 传递给 jhipster 应用程序,因为默认情况下 jhipster 会查看授予的权限属性用于管理角色的身份验证令牌
  • 每个用户的 Cognito 组限制已增加到 100 个。不幸的是,这仍然是一个硬限制。
  • @Quappinger 我们可以使用 AWS congito 为我们的自定义应用程序实施访问控制列表吗?还是仅用于 IAM 和 AWS 资源访问?
  • @MohsinSaeed 从我从文档中了解到的任何内容都与 IAM 角色相关联。如果我错了,请纠正我
猜你喜欢
  • 2020-10-16
  • 2016-09-11
  • 2017-09-02
  • 1970-01-01
  • 2019-10-06
  • 2019-08-15
  • 1970-01-01
  • 2018-07-17
  • 2020-09-19
相关资源
最近更新 更多