【发布时间】:2018-09-28 13:48:09
【问题描述】:
大家好,我已经编写了一个 AWS lambda 函数,它应该对所有人开放。我还配置了我的云前端,用户可以访问它。如何使 API 网关仅接受来自云端的请求或将云端域列入白名单。类似于 Allowed_hosts。
我应该无法响应邮递员或任何此类工具的任何电话。 API 网关应该只响应来自云端的调用。
我该怎么做?我不想像 Congnito 或 IAM 那样设置身份验证系统。
有没有更好的方法来做到这一点?
我查看了 CORS 和访问控制允许来源。但这些都是基于浏览器的。
我需要一个只接受来自云端或我的 s3 存储桶的调用的方法。不是来自本地主机或邮递员等。
提前致谢。
【问题讨论】:
-
澄清一下:您的意思是在 S3/CloudFront 上托管一个使用 JavaScript 调用您的 API 方法的静态 Web 应用程序?
-
是的,它是一个静态站点,我正在使用 JS 调用我的 API 方法
-
在这种情况下,请求将来自客户端(浏览器),而不是 CloudFront,因为 JavaScript 在客户端执行。因此,CORS 不适合您,您可能需要某种身份验证来控制对 API 网关的访问。
标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudfront aws-api-gateway