AWS.如何控制从lambda访问s3 bucket



AWS有大量不同用户可以访问的bucket。还有一个lambda函数,可以从s3中选择数据,并通过Api网关将其提供给客户端。客户端有机会在api请求中指定lambda应该从哪个bucket中进行选择。但是,如何检查他是否正在请求他所允许的桶呢?

在iam策略中,我只能表示它可以访问特定的api资源,但该资源是每个人共享的。在lambda authorizer中,我无法获得有关用户权限和权限的信息(或者我可以吗?(。

请告诉我你能如何解决这个问题。往哪走?

附言:这应该是亚马逊用户的授权,我不能给他们我的JWT和我的数据。

您有责任在自己的代码中对身份验证和权限要求进行编码。通过API网关提出请求的人不是IAM用户,因此AWS无法识别他们,也无法根据正常的AWS权限模型授予访问权限。

您的代码需要:

  • 识别并验证用户
  • 确定允许用户访问哪些资源(存储桶(
  • 仅提供对许可资源的访问权限

如何做到这一点由您决定。您应该从识别和验证用户的方法开始。

最新更新