因此,我是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,并且访问不受限制。
答案 0 :(得分:0)
APIGateway仅使用cognito来检查您的令牌是否有效。然后,如果您使用令牌生成临时AWS凭证并使用它们向AWS资源(包括对APIGateway)发出任何请求,那么您将获得请求的禁止响应。