【发布时间】:2020-12-27 11:49:05
【问题描述】:
我知道令牌授权方是一个自定义 AWS Lambda 函数,可用作 AWS Lambda 请求的网关或预处理步骤。它包含令牌类型、methodArn 标识符和令牌本身,它被放置在对 Lambda 路由的请求的标头中,并使用以下内容进行验证:
resp = tokens_table.query(KeyConditionExpression=Key("token").eq(token))
我们当前的授权人有问题。我需要有 3 个级别的角色——普通用户、管理员和超级用户,他们每个人都只能访问特定的资源/路由或方法。如果这是我唯一的路由授权机制,那么不记名令牌如何足以允许或拒绝特定请求,因为令牌授权者通常只检查数据库是否存在令牌?
我是否必须在授权函数中编写额外的逻辑来考虑路由所需的权限级别?这是否需要使用 request authorizer 来验证多个字段并计算 ALLOW 或 DENY 响应?此外,更好的设计策略是为每个级别的用户编写 3 个单独的令牌授权器吗?
【问题讨论】:
标签: amazon-web-services authentication aws-lambda