首页 > 解决方案 > 如何保护由 GCS 触发的 App Engine Pub/Sub Push Endpoint?

问题描述

我正在尝试找到一种方法来保护我的谷歌云应用引擎标准环境端点订阅了由在谷歌云存储上创建文件触发的推送发布/订阅主题。

由于只能将 IP 地址设置为应用引擎的防火墙规则,并且 pub/sub 没有预定义的 IP 地址集,因此无法使用此功能。由于我无法控制 pub/sub 请求,因此也无法在 pub/sub 调用上使用自定义标头并在应用引擎上检查其有效性。

关于如何保护应用引擎端点的任何建议?

谢谢

标签: google-app-enginegoogle-cloud-platformgoogle-cloud-storagegoogle-cloud-pubsub

解决方案


Cloud Pub/Sub 推送不适用于基于IP 的防火墙规则。使您的推送通知基于 IP 地址的安全性并不是最有效的方法

OAuth 和服务帐户可用于验证对 Google 产品的访问权限,例如Cloud Pub/Sub。这将阻止外部人员访问您的 Pub/Sub API,只要它们不包含在特定服务帐户下。

此外,为了保护您的推送通知,我将遵循以下两种解决方案之一:

确认推送通知来自 Cloud Pub/ Sub 。您可以配置仅接受包含秘密令牌的消息的端点

设置您自己的推送代理。一个简单的无状态服务可能会从 Pub/Sub 中提取消息并将它们从固定 IP 地址推送到您的 webhook。Pub/Sub 通过提供可扩展性和可用性在此设置中提供价值。

此外,我不确定您是否已经完全实现了这一点并且没有工作,但是来自另一个 Stackoverflow 问题的这个链接可能会有所帮助


推荐阅读