我创建了一个用户池,并添加了2个用户组。注册2个用户,并附属于不同的组。具有不同角色的组,具有策略的角色,可以使用资源 /countries执行Lambda函数的组获得具有另一个策略的角色,该角色可以使用资源POST /countries执行Lambda函数。但是,两个用户都可以通过将ID令牌作为授权头来访问这两个资源。
我用的政策是
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:us-west-1:12098989898:sdsds56ffdf/*/GET/countries"
}]
}
我是否需要在政策中添加任何条件?为什么用户可以访问这两个资源。如何根据用户池组进行限制?
发布于 2021-05-22 13:44:06
您使用的默认认知授权器只检查令牌是否有效,是否属于正确的用户池。如果您也想检查组,您可以使用一个自定义lambda授权器,它使用sdk将令牌传递给authorizer,并检查用户属于哪个组。
或者,您可以稍微修改授权程序,使其将群名发送到后端,在后端可以进行条件检查。
https://stackoverflow.com/questions/67648508
复制相似问题