服务帐户不一致

时间:2015-04-10 12:43:40

标签: google-app-engine google-compute-engine google-cloud-platform

在过去的几天里,我试图在Google开发者控制台中整合项目。 我发现主要在权限(服务帐户)和凭据中存在不一致。

创建新项目时,它将有两个服务帐户(可在Google开发人员控制台的“权限”选项卡中看到):

<project-id>@appspot.gserviceaccount.com (App Engine service account)
<project-number>-compute@developer.gserviceaccount.com (Google APIs service account)

此时凭据标签中没有凭据。

单击“计算”选项卡下的选项卡后,将启动为新项目初始化计算引擎的活动,并添加另一个服务帐户:

<project-number>@cloudservices.gserviceaccount.com (Google APIs service account)

仍然没有凭据,这种状态似乎没问题。

不幸的是,大多数旧项目的情况不同,我观察到两种不同的情况:

  1. 项目有计算引擎类型的服务帐户:

    <project-number>@developer.gserviceaccount.com (Compute Engine service account)

  2. 此帐户可以删除,但似乎在凭据选项卡中标有“计算引擎和App Engine”标识的凭据。 无法删除这些凭据,最终将重新创建相同的帐户。 在此项目中(启用计费),每次尝试在计算引擎中打开选项卡都会触发计算引擎的初始化,但会因“未知错误”而失败。 - 不确定它是否与现有的Compute Engine服务帐户有共同点。

    1. 项目的服务帐户格式为

      <project-number>-<randomstring>@developer.gserviceaccount.com

    2. 例如123412341234-cd139d7lp7v0vjlf2l87grmpcmsh6aru@developer.gserviceaccount.com 同样可以删除此帐户,但似乎在凭据选项卡中标有“计算引擎和App Engine”的凭据绑定到该帐户。 这些项目(已启用计费)的计算引擎初始化成功完成。

      无法删除的凭据是否会导致此不一致,或者可能是其他项目状态? “计算引擎和App Engine”凭据的目的是什么以及为什么无法删除它们? 我很抱歉很长一段时间,但是我几天都在为此苦苦挣扎,并希望有人能在这个灰色地带发光。

      使用旧的appengine控制台升级所有旧项目&gt;应用程序设置&gt;云集成。

      感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

每个项目都有一个默认的Compute Engine和App Engine服务帐户,并且无法删除,很可能是因为没有它,Cloud SDK无法对项目进行身份验证。如果可以删除服务帐户,则表示它不是默认帐户。

我唯一注意到的不一致是服务帐户的命名格式。我的旧项目有[project-id] @ developer.gserviceaccount.com作为默认服务帐户电子邮件地址,而我的新项目有[project-id] - [random-string] @ developer.gserviceaccount.com。除了命名格式之外,它们的行为似乎完全相同。