amazon-web-services - AWS 认知授权
问题描述
我有一个需要身份验证和授权的应用程序(node.js)。我的应用程序需要访问 postgres 数据库,还需要继承(角色等)
实现该选项的一种选择是使用 aws 的 cognito 服务(该应用程序将正确托管在 aws 上 - 不确定)
所以问题是
- cognito 服务是否支持使用不是 aws 上的服务的数据库对 node.js 进行授权?(我读到“身份池”适用于 mariaDB 等 AWS 服务)
- 如果我的应用程序将在 heroku 上(而不是在 aws 上),我也可以使用 cognito 服务(用于授权)?
- cognito 是否支持角色/用户继承?
Tnx
解决方案
Cognito 身份池用于授予对 aws 服务的访问权限。用户池用于将用户凭据交换为令牌,该令牌可以包含有关用户的其他信息,一旦解码。所以是的,您可以仅使用用户池进行身份验证。您的用户属性可以包含与该用户需要访问的服务相关的信息。
但是,如果您计划存储数据库凭证,我建议您使用 AWS Secrets Manager 来存储您的数据库凭证并授予 cognito 用户访问此密钥的权限。在这种情况下,您需要同时使用用户池和身份池。
- 不是直接的,但您可以使用它来访问存储数据库凭据的机密管理器。
- 是的,您可以在任何地方使用 cognito。但是,它将连接到 AWS 以授予您令牌。这些令牌仅在 AWS 上被识别。这就是为什么您需要使用它们来访问可用于访问您想要的任何其他服务的其他秘密。
- Cognito 支持群组。我不确定这是否是您所说的继承。您可以在组中拥有基于令牌的角色。
推荐阅读
- html - recv() 循环将最后一个“块”两次添加到缓冲区
- javascript - “视频播放器正在加载”“这是一个模态窗口”-如何在 react videojs .m3u8 流中删除不需要的文本
- javascript - 如何通过它的地图属性值获取密钥
- javascript - jquery在按名称属性获取值的问题
- shell - 如果第 5 列有连字符,则从文件中删除该行
- sql - 使用两个不同的外键连接两个表以获得相同的字段
- mysql - 通过控制台选择数据时不需要的注销
- haskell - 与也许 | 只是数据类型,不能构造无限类型
- java - 如何使用 Collectors groupingBy 将频率映射到新对象?
- java - 无法执行 com.github.eirslett