【发布时间】:2017-11-13 17:41:47
【问题描述】:
是否可以配置 Google Cloud Pub/Sub,以便您可以让任意数量的匿名订阅者阅读某个主题的消息,同时发布消息的内容由拥有 Google Cloud 帐户的授权发布者控制?
例如,假设我正在构建一个每秒发布 GOOG 股票行情价格的应用程序。我希望互联网上的任何人都能够订阅我的应用程序以获取股票价格。但是,除了我自己的应用程序之外,不应允许任何应用程序发布价格。我需要了解这是否可能。
【问题讨论】:
是否可以配置 Google Cloud Pub/Sub,以便您可以让任意数量的匿名订阅者阅读某个主题的消息,同时发布消息的内容由拥有 Google Cloud 帐户的授权发布者控制?
例如,假设我正在构建一个每秒发布 GOOG 股票行情价格的应用程序。我希望互联网上的任何人都能够订阅我的应用程序以获取股票价格。但是,除了我自己的应用程序之外,不应允许任何应用程序发布价格。我需要了解这是否可能。
【问题讨论】:
可以使用 Google Cloud Identity and Access Management (IAM) 设置这种消息分发场景。创建主题后(例如 /topics/goog),需要使用应用程序帐户的 IAM 角色/pubsub.publisher 权限设置主题。这也可以是您的应用程序的 IAM 服务帐户。
接下来,您需要为 /topics/goog 主题创建订阅(例如 /subscriptions/goog)并为订阅配置 IAM 权限。您应该授予 IAM allUsers 对 /subscriptions/goog 主题的权限。
设置此配置后,将只允许授权帐户发布到 /topics/goog,并且任何连接互联网的用户都将被允许从 /subscriptions/goog 拉取消息
【讨论】: