【发布时间】:2017-05-19 09:39:30
【问题描述】:
我有一个项目,叫它Project A。我创建了对 Project B 拥有的 Pub/Sub 主题的订阅。此订阅配置为向我的端点发送推送通知。我想创建一些防火墙规则来限制对处理发布/订阅通知的实例的访问,以便只有谷歌可以在传递通知时访问这些实例。我不希望主机有任何其他入站流量。我该怎么做?
【问题讨论】:
标签: google-cloud-platform gcloud google-cloud-pubsub
我有一个项目,叫它Project A。我创建了对 Project B 拥有的 Pub/Sub 主题的订阅。此订阅配置为向我的端点发送推送通知。我想创建一些防火墙规则来限制对处理发布/订阅通知的实例的访问,以便只有谷歌可以在传递通知时访问这些实例。我不希望主机有任何其他入站流量。我该怎么做?
【问题讨论】:
标签: google-cloud-platform gcloud google-cloud-pubsub
我认为这是不可能的。从 https://cloud.google.com/pubsub/docs/subscriber#pubsub-pull-messages-csharp
目前唯一支持的端点是 HTTPS 服务器,它可以 接受 Webhook 交付。请注意,Webhook 的 HTTPS URL必须 可从公共网络访问。接收端点可能是 与 Pub/Sub 订阅分离;所以来自多个的消息 订阅可以发送到单个端点。
回答可能与您相关的更大问题:
如何防止攻击者向我的端点发布虚假消息?
该问题的答案是在项目 A 和项目 B 之间共享一个秘密,并在消息属性中包含该秘密的工件。使用私钥对消息进行签名,并将签名包含在属性中。然后,端点接收消息并根据公钥验证签名。
【讨论】: