【问题标题】:How to resolve GCloud permissions?如何解决 GCloud 权限?
【发布时间】:2021-08-04 14:18:36
【问题描述】:

我正在尝试将我的 Android 应用发布到我们公司的 Play 商店。

在 Google API 访问页面上

我正在尝试创建新的服务帐户。它不起作用。

您至少缺少以下所需权限之一: 项目

orgpolicy.policy.get resourcemanager.projects.get 检查 文件夹、组织和项目 ID 有效并且您拥有 访问它们的权限

我的 GCP 显示 myname@github.com 谷歌帐户。 另一方面,Google API(Google Play Console) 显示 MYCOMPNAY Team 帐号。

如何解决这个 IAM 问题?

【问题讨论】:

    标签: google-cloud-platform gcloud google-iam


    【解决方案1】:

    我会尽力回答,但问题缺少一些细节。

    如错误所述,服务帐户是 Google 使用的一种独特类型的凭据,旨在供软件(而不是人类)用于与 Google 服务交互。在此服务中,您需要使用服务帐户而不是人工帐户,这是有道理的(尽管我不熟悉 Play 流程)。

    与常规(人类)帐户(例如 yourname@github.com)不同,服务帐户归 Google 项目所有。创建服务帐号时,您需要将帐号范围限定为现有的 Google 项目。

    Google 为不同的服务提供各种控制台。我最熟悉 Google Cloud Platform (GCP),因此我会使用 GCP 的 CLI(Cloud SDK aka gcloud)或 https://console.cloud.google.com 创建项目和服务帐户。你在用类似的东西吗?

    不幸的是,我认为 Google 的工具将项目(即使这些是通用的 Google 资源)扩展到特定平台(云、Firebase、应用程序等),因此您可能无法通过例如云端控制台。

    所以....

    如果你有一个 Play (!?) 控制台,应该有一种机制来列出|创建项目。如果您还没有,请创建一个项目来拥有您的服务帐户。然后该工具应提供创建服务帐户的机制。在那个项目下这样做。最后,您需要授予服务帐号权限,以便它可以执行您需要它执行的操作(例如发布您的应用)。

    如果您在问题中添加更多详细信息,我可能会提供帮助。

    注意 人类(例如,将 yourname@github.com 作为 Google 帐户)和服务帐户之间的一个区别是人类帐户使用 3-legged OAuth 而服务帐户使用 2-legged OAuth。这是因为服务帐户无法像人类用户那样与 OAuth 提示进行交互,并且当您需要使用人类与服务帐户时,它通常是一个很好的“提示”。

    见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-23
      • 2018-11-13
      • 2014-09-21
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多