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