【问题标题】:How to invoke API Gateway only from static s3 site如何仅从静态 s3 站点调用 API 网关
【发布时间】:2019-03-13 08:16:40
【问题描述】:

我在 S3 存储桶中托管了一个静态站点,其中包含指向我使用 Amazon API Gateway 部署的 REST API 的链接。现在我希望 REST API 的方法只能从静态站点调用。

为了编写资源策略,我不能使用静态 IP,因为 AWS 非常清楚 S3 站点的 IP 是动态的。我能想到的唯一选择是在 API 网关中启用 CORS 并将 Access-Control-Allow-Origin 配置为静态站点的域。但这对我来说似乎不是很有说服力..

有更好的选择吗?

【问题讨论】:

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


    【解决方案1】:

    无论如何您都不能这样做,因为 API Gateway 请求来自访问者的浏览器,而不是来自 S3 托管服务的服务器端。

    CORS 将限制其他网站使用常规浏览器调用您的 API,但 REST API 客户端可以不受限制地调用它。

    如果您想限制访问,请使用 API 密钥(比安全性更晦涩)或在 API Gateway 中实施自定义授权器来授权您的客户端。见这里:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

    【讨论】:

      猜你喜欢
      • 2019-09-03
      • 2021-04-02
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多