AWS Cognito - IAM - 拒绝对public / unauth用户的所有访问 - 联合

时间:2017-04-14 19:28:23

标签: api amazon-web-services amazon-iam amazon-cognito

我有一个网络应用程序,使用cognito连接到后端,所有这些都在aws服务中。有一个公共api方法(Lambda),它可以调用cognito进行身份验证并从后端返回会话令牌等等,问题是任何人都可以直接从web访问cognito api(连接到aws api)直接),我不希望...我如何定义一个策略,以便不向用户授予对cognito的公共访问权限?

当然是了解我的用户池/认知ID

的用户

TIA

1 个答案:

答案 0 :(得分:0)

可能有几种方法可以解决这个问题。这是我想到的三个想法。

  • Cognito联合身份将两个角色链接到您的身份池,一个用于未经过身份验证的用户,另一个用于经过身份验证的用户。您不能对unauth角色授予任何权限,只允许人们在与某个提供商(例如Facebook)登录后访问它。
  • 您可以将Lambda放在API网关后面,然后使用联合身份安全访问(使用上述策略)。
  • 最后,您还可以使用Cognito用户池对API网关进行身份验证。 API Gateway与用户池紧密集成,因此您只需登录并提供一个返回的登录令牌进行身份验证。