我正试图在我的网络应用程序上设置一个受保护的路由。为此,我在用户池中创建了一个组Admins
。我已将此组分配给WebappAdmins
角色,其中包含自定义策略:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "webapp:*",
"Resource": "*"
}]
}
如何从Web应用程序中辨别登录的CognitoUser是否具有webapp:ViewUploadDocumentsPage
权限?由于属于Admins
组的所有CognitoUsers都具有webapp:*
权限,所以如果我没有弄错的话,他们应该具有webapp:ViewUploadDocumentsPage
权限。我知道在网络应用程序上验证他们的权限是不安全的,无论如何这都无关紧要,因为我计划向WebappAdmins
角色添加特定的lambda权限,以防止其他用户造成任何实际伤害。
我希望有某种端点,我可以代表CognitoUser向其发出经过身份验证的post请求,并将webapp:ViewUploadDocumentsPage
传递到主体中。在我广泛的研究中,我没有发现任何暗示这一点的东西,所以我认为我错了。
我是否可以使用只接受具有webapp:ViewUploadDocumentsPage
权限的CognitoUsers请求的授权程序创建API网关?我真的不知道该怎么办。
与其验证用户拥有哪些IAM权限,不如检查用户所在的组更简单吗?如果用户在Admins组中,那么您就知道他们拥有您感兴趣的权限。您可以通过多种方式获取用户的组成员资格,具体取决于您使用的语言和检查位置。