跨不同项目设置发布/订阅订阅?

2024-03-18

在我的 GCP 项目(项目A)我创建了一个 Pub/sub 主题(topicA)并且在此发布/订阅主题中发布的消息需要在其他 GCP 项目(项目B) 通过订阅 (订阅B).

推荐的设置方式是什么订阅B ?

  1. Define 订阅B在项目 A 中,并使用适当的 IAM 权限添加项目 B 中的服务帐户。
  2. Define 订阅B在项目 B 中。在云控制台中,可以通过授予 pubsub.topic.attachSubscription 来附加来自不同主题的订阅(如下所示)。

方法2可能吗?如果是,那么何时使用方法 2 以及方法 2 需要做什么?


第二种方法是可以的,还有第三种方法。

  1. 使用角色roles/pubsub.subscriber在项目B的服务帐户上,在项目A的订阅(或项目)上
  2. 你需要有这个角色roles/pubsub.subscriber关于项目 A 上您想要的主题(或项目)。根据消息中的定义,您至少需要权限pubsub.topics.attachSubscription关于主题(或项目)。为此,您可以创建一个自定义角色 https://cloud.google.com/iam/docs/creating-custom-roles如果您只想授予此权限并且不是该角色的另外 2 个roles/pubsub.subscriber https://cloud.google.com/pubsub/docs/access-control#roles
  3. 第三种方案是在方案一的基础上,在项目A中创建订阅,但是是Push订阅,并将消息推送到HTTP端点。这次B项目不需要认证。但是,如果您想保护 HTTP 端点(例如部署在 Cloud Run 或 Cloud Functions 上),您将需要:在projectA的推送订阅中,拥有调用端点的正确授权 https://cloud.google.com/pubsub/docs/push#authentication_and_authorization_by_the_push_endpoint在项目B中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨不同项目设置发布/订阅订阅? 的相关文章

随机推荐