【问题标题】:AWS Custom Authorization lambda to approve Api Gateway service proxy action?AWS 自定义授权 lambda 以批准 Api Gateway 服务代理操作?
【发布时间】:2017-06-30 21:57:50
【问题描述】:

我想创建一个通过服务代理连接到 s3 的 Api 网关路由。

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

由于我没有使用 S3 作为服务代理而不是 lambda,因此可以将针对 Dynamodb 的代码检查放在 Custom Authorizer lambda 中吗? (在验证令牌之后发送成功回调之前)。

查询很简单,根据 Cognito 用户唯一 ID,如果用户被授权上传,我会检查该用户的表。

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

谢谢

【问题讨论】:

  • 是的,这很简单,对我来说很有意义。任何其他选项都不允许您直接通过 Dynamo 表控制访问。
  • 你好@Guy Wald,你真的经历过这个解决方案吗?你能分享你的经验吗?它可能会帮助我解决我正在处理 rn 的类似要求。

标签: amazon-web-services aws-lambda aws-api-gateway


【解决方案1】:

你也可以考虑

  • 在 S3 存储桶前面设置 CloudFront。
  • 在 API Gateway 上使用 IAM 授权。
  • 编写一个 Lambda 端点,在请求上下文中针对 Dynamodb 检查 Cognito ID。
  • 从 Lambda 返回Signed URL,供授权用户直接从浏览器客户端上传文件到 S3。

【讨论】:

    猜你喜欢
    • 2020-06-17
    • 2017-05-18
    • 2018-01-11
    • 1970-01-01
    • 2020-04-30
    • 2017-04-13
    • 2016-11-30
    • 1970-01-01
    • 2018-01-15
    相关资源
    最近更新 更多