gpt4 book ai didi

firebase - 使用没有组织或文件夹的服务帐户创建 GCP 和 Firebase 项目

转载 作者:行者123 更新时间:2023-12-05 09:15:01 25 4
gpt4 key购买 nike

我需要使用 Google Cloud Platform (GCP) 服务帐户通过 Resource Manager REST API 以编程方式创建项目。我想以 headless 方式创建 Firebase 项目。

我们当前的解决方案涉及模仿用户和浏览器来实现此目的,因为在没有组织(或必须在组织下的文件夹)的情况下,似乎无法通过 GCP 资源管理器 REST API 创建项目即服务帐户).

当我尝试将项目创建为服务帐户时,我收到 403 错误请求响应,内容为“服务帐户无法在没有父项的情况下创建项目”。

尝试创建一个父级为空的项目即服务帐户会产生 400 Bad Request 响应,指出“请求包含无效参数”。

尝试创建项目即服务帐户,其父级类型为“组织”但没有 ID 会产生 400 错误请求响应,指出“父级 ID 必须是数字”。

由于我没有组织(调用 organizations.list 返回 {})并且我无法在没有域的情况下创建组织,所以我不确定如何沿着这条路前进。

最佳答案

问:如何在没有 GCP 组织的情况下使用服务帐户以编程方式创建 Google Cloud Platform (GCP) 项目?

答:你不能。


实际的 gmail.com 用户可以在无组织中创建项目,但服务帐户必须指定一个组织或一个文件夹作为项目创建时的parent

您当前以用户身份执行此操作的解决方案可能是唯一真正的解决方法。为此,您将使用 OAuth2 ClientIDSecret 为具有 https://www 的用户获取 offline 凭据。 googleapis.com/auth/cloud-platform 范围。然后,您可以使用 refresh_token 生成用于调用 Cloud Resource Manager APIaccess_tokenscreate projects .

但是,我会为组织做一个强有力的案例。如果您可以获得域,则可以使用该域来设置 Cloud Identityget an Organization resource .然后,您可以授予服务帐户您的组织资源的Project Creator角色,它将能够以编程方式创建项目。

这里的好处是您使用此服务帐户创建的所有项目都将在一个组织下,因此您可以轻松地授予权限并管理所有的访问权限一个地方的项目。一个新人加入您的团队,而不是一次授予他们访问您的每个 Firebase 或 GCP 项目的权限,您可以通过向 Organization 资源添加一个权限来实现。

更多:Granting, Changing, and Revoking Access to Resources

关于firebase - 使用没有组织或文件夹的服务帐户创建 GCP 和 Firebase 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53284949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com