AWS Cognito UserPool 与 IdentityPool:IdentityPool 是强制性的吗?

问题描述 投票:0回答:1

AWS Cognito 是否强制使用 IdentityPool?

我的用例:

我的网络应用程序有可以自行注册的用户,并将被添加到我设置的 Cognito 用户池中。我只想向经过身份验证的用户(即属于authentiatedRole IAM 角色的用户)提供对后端资源的访问权限。我的要求很简单,单个经过身份验证的角色足以处理我的应用程序的资源授权要求,我只想拒绝未经身份验证的用户访问所有后端资源。

仅使用 UserPool 是否可以实现这一点?如果可以,我该如何实现这一点?

注意:我使用 CDK 将我的基础设施定义为代码。

amazon-web-services amazon-cognito
1个回答
3
投票

Cognito 绝不强制要求使用身份池。它完全基于用例。这里需要澄清一些事情。

  • 用户池 - 用于身份验证
  • 身份池 - 用于授权

基本上,如果您希望最终用户注册、登录,然后访问 AWS 资源或进行 AWS API 调用,那么您必须使用身份池。假设您有一个游戏应用程序,最终用户可以通过 FB、Google 或本地(用户名和密码)登录。这就是身份验证,在这里我们将使用 Cognito 用户池。现在用户已登录并正在玩游戏。他们取得了高分。此高分可能需要添加到用户的 S3 或 DynamoDB 表记录中。为此,使用身份池。身份池将帮助您出售最终用户可以使用的临时 AWS 凭证。

我相信在您的用例中,用户池应该足够了。您可以通过验证Cognito为最终用户返回的访问令牌来授予对资源的访问权限。

© www.soinside.com 2019 - 2024. All rights reserved.