Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 应用程序需要访问客户谷歌云项目_Google Cloud Platform_Google Cloud Firestore_Google Cloud Datastore - Fatal编程技术网

Google cloud platform 应用程序需要访问客户谷歌云项目

Google cloud platform 应用程序需要访问客户谷歌云项目,google-cloud-platform,google-cloud-firestore,google-cloud-datastore,Google Cloud Platform,Google Cloud Firestore,Google Cloud Datastore,我想建立一些服务,其中一个客户/公司可以提供google云存储bucket+firestore db,我想对bucket文件和firestore执行一些操作(读/写),但我不确定访问他们资源的最佳方式是什么 [my gc project] -> [customer 1 gc project: bucket + firestore] -> [customer 2 gc project: bucket + firestore]

我想建立一些服务,其中一个客户/公司可以提供google云存储bucket+firestore db,我想对bucket文件和firestore执行一些操作(读/写),但我不确定访问他们资源的最佳方式是什么

[my gc project] -> [customer 1 gc project: bucket + firestore]
                -> [customer 2 gc project: bucket + firestore]
                -> [customer n gc project: bucket + firestore]
我可以想象的解决方案:

  • 使用OAuth请求访问,但更像是用户给了我权限,而不是公司
  • 客户创建了一个服务帐户并给了我“json”
  • 我为每个客户创建了一个服务帐户,他必须将其添加到他的项目中,我不知道这是否可行,我认为每个客户大约有100个服务帐户的限制
  • 我创建了一个服务帐户,每个客户都必须将其添加到其项目中
其他一些要求:

  • 我需要以可以在后台运行计划作业的方式访问客户项目
  • 我必须使用谷歌云功能访问客户项目

什么最适合我,或者我错过了什么

如果项目将由您代表他们创建,我建议您创建一个组织。在组织中,项目分类在文件夹中,类似于文件系统。然后,您可以将对特定元素的访问控制添加到内部的所有项目中


否则,您将不得不手动(或创建脚本)请求服务帐户(第二个点)或创建唯一的服务帐户,并将此唯一的服务帐户添加到每个客户项目(第三个点)。

我认为您可以探索我认为它可以帮助您实现您的目标。请注意,每个产品都有自己的云IAM,您可能希望在和上阅读更多有关它的信息。让我知道这是否适合你的需要。为了遵守一些政策,我希望他们是项目的所有者。因此,当我创建它们时,我必须让它们成为所有者,然后删除我的大部分特权。在选项2的情况下。三,。你会推荐什么?我个人会专注于创建一个脚本,为一个服务帐户授予权限。该脚本可以从Cloud Shell运行,以便于您的客户使用