Google cloud platform 谷歌计算引擎:必选';compute.zones.get';权限错误

Google cloud platform 谷歌计算引擎:必选';compute.zones.get';权限错误,google-cloud-platform,google-compute-engine,google-kubernetes-engine,Google Cloud Platform,Google Compute Engine,Google Kubernetes Engine,我正在尝试在Google Cloud Platform中创建Kubernetes群集,当我尝试从Web应用程序创建群集时,收到以下错误: 计算引擎中出现未知错误:“外部:Google” 计算引擎:必需的“Compute.zones.get”权限 “projects/my-project-198766/zones/us-west1-a”。错误代码:“18” 当我使用gcloud时,我收到以下响应: (gcloud.container.clusters.create)ResponseError:co

我正在尝试在Google Cloud Platform中创建Kubernetes群集,当我尝试从Web应用程序创建群集时,收到以下错误:

计算引擎中出现未知错误:“外部:Google” 计算引擎:必需的“Compute.zones.get”权限 “projects/my-project-198766/zones/us-west1-a”。错误代码:“18”

当我使用gcloud时,我收到以下响应:

(gcloud.container.clusters.create)ResponseError:code=403, message=Google计算引擎:需要“Compute.zones.get”权限 对于“项目/my-project-198766/zones/us-west1-a”

请注意,我拥有所有者角色,我可以创建VM实例而不会出现任何问题


有什么想法吗?

如果您的cloudservices机器人以某种方式被删除为项目编辑器,则可能会出现这种问题。我最好的猜测是,在你的情况下,这就是问题所在

这可能是由于API调用的SetIamPolicy在“角色/编辑器”绑定中缺少cloudservices robot造成的。SetIamPolicy是一个直接PUT,它将覆盖请求中提供的任何策略。您可以使用以下命令获取项目的IAM策略列表

从列表中,您可以检查以下服务帐户是否具有编辑器权限

[id]@cloudservices.gserviceaccount.com

要解决此问题,您可以“编辑器”权限,并检查这是否解决了问题


希望这有帮助。

我想我明白了。我试着听从他的建议。我需要在我的帐户上设置的权限(称为
blahblah)-compute@developer.gserviceaccount.com
)是:


角色/compute.instanceAdmin
角色/编辑
角色/iam.serviceAccountUser


最后一个似乎很关键。

在我的例子中,我删除了服务帐户/IAM或其他什么,当我试图创建kubernetes群集时,同样的错误消息弹出

我要求谷歌重新创建我的服务帐户,他们提到,你可以重新创建服务帐户及其权限,只需再次启用它们。因此,在我的例子中,我运行了以下两个命令以使kubernetes再次工作:

gcloud services enable compute
gcloud services enable container
这是他们给我的链接:

对于我来说,从控制台用新名称重新创建服务帐户解决了这个问题。我只给服务帐户赋予了“编辑”角色

我不小心删除了计算服务帐户。我必须遵循上面提到的所有步骤

  • 取消删除计算服务帐户
  • 将权限添加回服务帐户-编辑器、serviceaccountuser、computeinstanceAdmin
  • 再次启用计算和容器服务。尽管未禁用这些帐户,但运行gcloud services enable compute container为计算机器人创建了一些默认服务帐户,如service--@compute-system.iam.gserviceaccount.com和service--@container-engine-robot.iam.gserviceaccount.com

  • 希望这有帮助

    这对我不起作用。我拥有具有项目编辑器权限的服务帐户,并且我的帐户是所有者角色帐户。我仍然无法让gcloud创建集群而不抱怨我必须添加以下两个SA并赋予它们这些角色。项目编号-compute@developer.gserviceaccount.com(计算引擎默认服务帐户),角色:Dataproc Worker,服务帐户用户项目_ID@cloudservices.gserviceaccount.com(谷歌API服务代理),角色:Editor@DavidXia你的评论解决了问题,谢谢!id已禁用,然后使用上述方法启用该服务,并解决了我的问题issue@MaduAlikor哦,谢谢你!下次发生这种情况时我会试试
    gcloud services enable compute
    gcloud services enable container