跨项目推送 pub sub 和防火墙规则

Posted

技术标签:

【中文标题】跨项目推送 pub sub 和防火墙规则【英文标题】:Cross project push pub sub and firewall rules 【发布时间】:2017-05-19 09:39:30 【问题描述】:

我有一个项目,叫它Project A。我创建了对 Project B 拥有的 Pub/Sub 主题的订阅。此订阅配置为向我的端点发送推送通知。我想创建一些防火墙规则来限制对处理发布/订阅通知的实例的访问,以便只有谷歌可以在传递通知时访问这些实例。我不希望主机有任何其他入站流量。我该怎么做?

【问题讨论】:

【参考方案1】:

我认为这是不可能的。从 https://cloud.google.com/pubsub/docs/subscriber#pubsub-pull-messages-csharp

目前唯一支持的端点是 HTTPS 服务器,它可以 接受 Webhook 交付。请注意,Webhook 的 HTTPS URL必须 可从公共网络访问。接收端点可能是 与 Pub/Sub 订阅分离;所以来自多个的消息 订阅可以发送到单个端点。

回答可能与您相关的更大问题:

如何防止攻击者向我的端点发布虚假消息?

该问题的答案是在项目 A 和项目 B 之间共享一个秘密,并在消息属性中包含该秘密的工件。使用私钥对消息进行签名,并将签名包含在属性中。然后,端点接收消息并根据公钥验证签名。

【讨论】:

项目 B 创建一个公钥/私钥对并且只共享它的公钥。那么密钥就不需要保密了。

以上是关于跨项目推送 pub sub 和防火墙规则的主要内容,如果未能解决你的问题,请参考以下文章

MobileFirst Platform - 发送推送通知的防火墙规则

跨网段文件和打印机共享的防火墙设置小技巧

将来自不同项目的服务帐户分配给 Pub/Sub 上的推送订阅

iptables---linux防火墙

项目服务器需要开启防火墙但避免访问项目时被拦截

跨 Pub/Sub 订阅触发云函数