如何将Spring Cloud GCP用于多个Google项目



对于那些非常了解GCP的人来说,它在用户和权限控制方面有一些"限制"。

例如,数据存储无法管理数据库本身的用户角色,它只有平台的 IAM。

正因为如此,谷歌的员工建议他们的客户使用GCP的多个项目和文件夹来更好地控制。我已经看了一段时间了。

问题是:如何在春云GCP上连接GCP多个项目的多个资源?我们有应用程序应该从不同的项目访问数据存储和其他资源,我在这里苦苦挣扎。

即使Spring Cloud GCP不支持多个GCP项目,有什么解决方法吗?

谢谢大家。

您的答案应该在"共享 VPC"中。

共享 VPC 允许组织将多个项目中的资源连接到公共 VPC 网络,以便它们可以使用来自该网络的内部 IP 安全高效地相互通信。

要使用它,您的所有项目都必须属于同一个"组织节点",您可能已经在所有项目之上设置了该节点。然后,您将项目设置为宿主项目和服务项目。主机。。。井:

主机项目包含一个或多个共享 VPC 网络。共享 VPC 管理员必须首先将项目启用为主机项目。之后,共享 VPC 管理员可以向其附加一个或多个服务项目。

服务项目是指已由共享 VPC 管理员附加到主机项目的任何项目。此附件允许它参与共享 VPC。通常的做法是由组织中的不同部门或团队操作和管理多个服务项目。

值得注意的是:"服务项目"项目不能同时成为主机。至于如何设置一个,这将取决于您的具体实现,但这里有一些示例和用例。

您可以使用为每个单独的服务提供的低级客户端库,使用如下所示提供的构建器创建实例,以便将 pubsub 发布到具有不同项目 ID 的主题。

ProjectTopicName topicName = ProjectTopicName.of(projectId, topic);
publisher = Publisher.newBuilder(topicName)
.setChannelProvider(transportChannelProvider)
.setCredentialsProvider(credentialsProvider)
.build();

然后,您可以创建一个 Bean 并在您的应用程序中自动连接它以使用它。 虽然对于使用具有多个项目 ID 的 spring-cloud-gcp-pubsub,您可以参考这个答案

相关内容

  • 没有找到相关文章

最新更新