2017-06-05 121 views
0

我想创建一个通过服务代理连接到s3的Api网关路由。AWS自定义授权lambda批准Api网关服务代理操作?

只有具有特定权限(存储在DynamoDb表中)的经过身份验证和授权的用户(来自Cognito用户池)才能够上载文件。

由于我没有使用S3作为服务代理而不是lambda,因此可以将代码与Dynamodb在自定义授权器lambda中进行检查吗? (令牌已经过验证并且在发送成功回调之前)。

该查询很简单,基于Cognito用户唯一标识,我检查用户是否有权上传的表中。

我不想通过lambda函数完成上传,因为一些文件很大。

感谢

+1

是的,这很简单,对我有意义。任何其他选项都不能真正允许您通过Dynamo表直接控制访问。 –

回答

2

你也可以考虑S3桶

  • 设置CloudFront的盈。
  • 在API网关处使用IAM授权。
  • 编写一个Lambda端点,用于检查请求上下文中的Cognito ID与Dynamodb。
  • 返回来自Lambda的Signed URL,授权用户可以直接从浏览器客户端上传文件到S3。
相关问题