基于Cognito角色的身份验证不起作用

时间:2019-11-18 11:19:27

标签: amazon-cognito

因此,我是Cognito的新手,并尝试将其与我的Lambda函数链接。我试图将我的API调用划分为不同的IAM角色。以下是我已经尝试过但未应用该政策的步骤:

  • 我首先创建了一个用户池及其应用程序客户端,并将该用户池分为三个组。

  • 我使用用户池ID和客户端ID创建了联合身份。对于角色选择,我做了 “从令牌中选择角色”。

  • 我创建了具有身份ID的IAM角色,并将此策略附加到该角色:

    {     “ Version”:“ 2012-10-17”,     “声明”:[         {             “ Sid”:“ VisualEditor0”,             “效果”:“拒绝”,             “ Action”:“ execute-api:”,             “资源”:“ ”         }     ] }

  • 我将IAM角色附加到用户池组1。

  • 我创建了一个Cognito授权器,并将其附加到API网关中的API。

  • 我创建了一个用户,并将其分配给组1。登录后,我得到了ID_Token,其JWT 解密包括我附加的角色。

  • 最后,我从Postman发出了带有令牌的请求,并期望响应为 禁止,因为我已经拒绝了政策中的所有内容。

最后,我得到的响应为200,并且访问不受限制。

1 个答案:

答案 0 :(得分:0)

APIGateway仅使用cognito来检查您的令牌是否有效。然后,如果您使用令牌生成临时AWS凭证并使用它们向AWS资源(包括对APIGateway)发出任何请求,那么您将获得请求的禁止响应。