【问题标题】:Setting up shared services for projects in GCP在 GCP 中为项目设置共享服务
【发布时间】:2021-03-17 13:03:10
【问题描述】:

我想在 GCP 中设置一些共享服务(例如 neo4j、MongoDB 和 Kafka)。这些服务将被各种应用程序(单独的 GCP 项目)使用。这些服务不能公开访问,它们只能从我们帐户中的其他 GCP 项目通过网络访问。每个应用程序都有一个单独的数据库。

我的想法是在独立项目中设置服务(例如 managed-services-prod、managed-services-test)等。应用程序使用 GCP 访问共享服务的最佳方式是什么?

【问题讨论】:

  • 当您说“来自 GCP 的其他项目”时,您是指同一组织内的其他项目还是其他不相关的项目?
  • 我们 Google 帐户中的其他项目。我们不使用组织,因为我们没有 GSuite 或 Cloud Identity。
  • tbh Google 建议创建组织。从安全性、访问角度和某些功能可能需要组织节点来管理所有这些项目会容易得多。 cloud.google.com/docs/enterprise/…
  • 要回答您的问题,最佳做法之一是为访问创建服务帐户
  • 您可以使用服务帐户通过客户端库(例如 Java 应用程序 -> neo4j)访问数据库吗?我还以为它更像是 VPC 网络访问之类的?

标签: google-cloud-platform


【解决方案1】:

重述以提高知名度:

  1. Google 建议创建组织来管理多个项目。
  2. 您可以创建一个Service Account 并授予它访问不同项目中资源的权限:
gcloud projects add-iam-policy-binding $PROJECT_1 \
--member=serviceAccount:${PROJECT_2}@appspot.gserviceaccount.com \
--role=roles/cloudbuild.builds.viewer \

您可以找到更多信息here。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-04
    • 2018-02-18
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2021-06-14
    • 2021-04-21
    • 1970-01-01
    相关资源
    最近更新 更多