amazon-web-services - 有没有办法在不使用额外的 AWS Lambda 来检查授权的情况下将 S3 Bucket 与 Appsync 集成?
问题描述
我的堆栈:
AWS Appsync + AWS Lambda(到 Mongodb)+ 自定义 OpenId-Connect 提供程序(也是 Lambda)
我想要达到的目标
我想将一些用户数据存储到 S3 存储桶中。我希望我可以直接从 appsync 访问存储的数据,而不是每次必须访问数据时调用 lambda 进行授权检查。
我想存储的信息主要有两种。例如,userPicture 和 userSecret。
- 用户图片,任何人都可以访问。
由于没有访问控制检查,这部分可以通过发出 presignedUrl 来实现。无需进一步授权。
- userSecret,可以被自己和所有管理员访问
这是我试图避免调用另一个 lambda 来进行授权检查的部分。我已经将其userId and role
存储在 中$context.identity
,但还没有找到实际执行检查的方法。
有没有办法可以避免 lambda 开销?
解决方案
AppSync 最近推出了对多个授权提供程序的支持。因此,例如,您可以使用 OpenID Connect 提供程序保护您的 userSecret,并使用 Api 密钥保护您的 userPictures。这是否满足您的用例?
推荐阅读
- c# - ac#异步方法是否必须使用await
- python - Matlab function into python
- javascript - 使用 API 使用 javascript 转换货币
- angular - Angular 通过 cookie 维护会话 API 调用
- python - OSError: [WinError 10048] 通常只允许使用一种套接字地址(协议/网络地址/端口)
- curl - 卷曲上传到 Google/Shopify 失败,出现 400 错误和“格式错误的多部分正文”
- entity-framework - 如何查询 m-to-m 关系 EF Core?
- php - PHP/Laravel - 为另一个类定义函数
- centos - vagrantfile 定义要安装的东西
- node.js - MongoDB 从列表中插入对象数组