我想创建一个Api网关路由,它通过服务代理连接到s3 .
只有具有特定权限(存储在DynamoDb表中)的经过身份验证和授权的用户(来自Cognito Userpool)才能上载该文件 .
由于我没有使用S3作为服务代理而不是lambda,是否可以在Custom Authorizer lambda中对Dynamodb进行代码检查? (在验证令牌之后和发送成功回调之前) .
查询很简单,基于Cognito用户唯一ID,我在表中检查用户是否有权上传 .
我不希望通过lambda函数完成上传,因为有些文件很大 .
谢谢
1 回答
你也可以考虑一下
在S3存储桶前面设置CloudFront .
在API网关上使用IAM授权 .
编写一个Lambda endpoints ,用于检查请求上下文中的Cognito ID与Dynamodb .
从Lambda返回Signed URL,授权用户直接从浏览器客户端将文件上传到S3 .