未经身份验证/来宾请求的主要ID,通过Lambda自定义授权程序?

时间:2018-02-13 08:49:39

标签: amazon-web-services aws-lambda aws-api-gateway aws-iam

我的API网关配置为在授权请求时调用我的自定义授权程序Lambda函数。

对于带有身份验证令牌的请求,Lambda函数会在向上游传递请求之前对JWT令牌进行解密和解码,并进行一些验证。如果令牌验证失败,授权人将使用401 Unauthorized将请求短路。

对于不带有身份验证令牌的请求,该功能仅允许通过发出请求(生成允许策略。)网关上游负责决定给定请求是否需要身份验证(仍然,令牌解密/解码/验证被巧妙地封装在网关中,而不是在每个上游实现。)

我的问题是:对于我的网关/授权人“允许”的未经身份验证的请求,允许策略的主体ID的适当值是什么?我似乎没有选择离开它undefined

此外,如果我在多个不相关的请求之间重新使用主ID,是否有任何风险?假设X%的请求共享'unauthenticated'主体ID,是否存在任何风险,作为最坏情况的例子,这些不相关的请求之间存在某种行为“冲突”?也许风险厌恶/面向未来的解决方案是简单地附加UUID后缀:'unauthenticated|{uuid}'

https://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html

  

除了返回IAM策略外,自定义授权者函数还必须返回调用者的主体标识符。

0 个答案:

没有答案