google-cloud-platform - 谷歌计算引擎: Required 'compute.zones.get' permission error

标签 google-cloud-platform google-compute-engine google-kubernetes-engine

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

An unknown error has occurred in Compute Engine: "EXTERNAL: Google Compute Engine: Required 'compute.zones.get' permission for 'projects/my-project-198766/zones/us-west1-a'". Error code: "18"

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

(gcloud.container.clusters.create) ResponseError: code=403, message=Google Compute Engine: Required 'compute.zones.get' permission for 'projects/my-project-198766/zones/us-west1-a'

请注意,我拥有所有者角色,并且可以毫无问题地创建虚拟机实例。

有什么想法吗?

最佳答案

如果您的云服务机器人作为项目编辑器被删除,则可能会出现此类问题。我最好的猜测是,在你的情况下,这就是问题所在。

发生这种情况的原因可能是 API 调用的 SetIamPolicy 缺少“角色/编辑器”绑定(bind)中的云服务机器人。 SetIamPolicy 是一个直接的 PUT,它将覆盖请求中提供的任何策略。您可以使用以下命令获取项目的 IAM 策略列表:given in this article .

gcloud projects get-iam-policy [project-id]

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

[id]@cloudservices.gserviceaccount.com

要解决此问题,您可以 grant the mentioned service account “编辑者”权限并检查是否解决了问题。

希望这有帮助。

关于google-cloud-platform - 谷歌计算引擎: Required 'compute.zones.get' permission error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232189/

相关文章:

kubernetes - 集群自动扩缩器未降级

google-app-engine - 托管 VM 部署在 "Copying certificates for secure access..."上挂起

kubernetes - 将现有实例添加到kubernetes集群

java - 以编程方式创建任务队列

google-cloud-platform - 将日志严重性与 Google Compute Engine 和 Cloud Logging 代理一起使用

kubernetes - GKE 自动扩缩器 'optimize-utilization'

google-cloud-messaging - Google PubSub 错误 [代码=8a75]

node.js - rethinkdb谷歌计算引擎断开连接

google-compute-engine - Goland 显示未解析类型(实例,具体在 GCE 库中),但核心/测试运行良好 ("invalidate and restart"解决方案在这里不起作用)

使用 Google Cloud Kubernetes TCP 负载均衡器的 Nginx 状态代码 499