【问题标题】:How to trigger GCP cloud function(private) from AWS SNS over http trigger如何通过 http 触发器从 AWS SNS 触发 GCP 云功能(私有)
【发布时间】:2020-04-06 16:11:52
【问题描述】:

我在 GCP 中有云功能,当使用 SNS 通知在 s3 存储桶中收到任何对象时触发。 SNS 已以这种方式配置,当任何对象进入 s3 存储桶时,它会使用 http 触发器(https url)通知 GCP 云函数。截至目前,云功能端点是公开的,因此如果有人拥有严重安全问题的 url,它甚至可以从任何地方触发,甚至可以从 Web 浏览器触发。因此,我想将其设为私有,并希望它只能通过 AWS SNS 访问,但不知道如何实现。

【问题讨论】:

    标签: amazon-web-services google-cloud-platform google-cloud-functions amazon-sns hybrid-cloud


    【解决方案1】:

    您无法阻止用户调用您的 HTTP 终端节点,因为您必须公开该终端节点才能使 Amazon SNS 能够调用您的终端节点。您可以验证请求并拒绝您不想处理的请求(返回 401 Unauthorized)。

    有几种方法可以验证请求。我列出了从最不安全到最安全(也是最容易到最难实现)的方法。

    检查 x-amz-sns-topic-arnx-amz-sns-subscription-arn 以获得您期望在 HTTP POST 请求标头中的值。

    使用用户名和密码将 SNS 配置为使用基本身份验证。验证这两个值。

    验证 SNS 通知签名。此方法需要下载 Amazon 证书并验证每个请求的签名。

    Using Amazon SNS for system-to-system messaging with an HTTP/s endpoint as a subscriber

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-13
      • 2020-11-20
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 2018-05-19
      • 2020-08-03
      • 2021-11-27
      相关资源
      最近更新 更多