有没有一种方法可以将S3 Bucket与Appsync集成在一起,而无需使用额外的AWS Lambda来检查授权?

时间:2019-05-27 12:19:00

标签: amazon-web-services amazon-s3 aws-lambda aws-appsync

我的堆栈:

AWS Appsync + AWS Lambda(到Mongodb)+自定义OpenId-Connect Provider(也包括Lambda)

我要实现的目标

我想将一些用户数据存储到S3存储桶中。我希望我可以直接从appsync访问存储的数据,而不必每次都要访问数据时调用lambda进行授权检查。

我要存储的信息主要有两种。例如,userPicture和userSecret。

  1. userPictures,任何人都可以访问。

由于没有访问控制检查,因此可以通过发出presignedUrl来实现此部分。无需进一步的授权。

  1. userSecret,可以由自己和所有管理员访问

这是我要避免避免仅为了授权检查而调用另一个lambda的部分。我已经将userId and role存储在$context.identity中,但是仍然没有找到一种实际执行检查的方法。

有没有办法避免lambda开销?

1 个答案:

答案 0 :(得分:0)

AppSync最近启动了对多个授权提供者的支持。因此,例如,您可以使用Api密钥通过OpenID Connect提供程序和userPictures保护userSecret。这是否满足您的用例?