检查CognitoUser是否具有特定权限



我正试图在我的网络应用程序上设置一个受保护的路由。为此,我在用户池中创建了一个组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组中,那么您就知道他们拥有您感兴趣的权限。您可以通过多种方式获取用户的组成员资格,具体取决于您使用的语言和检查位置。

相关内容

  • 没有找到相关文章

最新更新