首页 文章

Google Compute Engine:必需'compute.zones.get'权限错误

提问于
浏览
0

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

计算引擎中出现未知错误:“EXTERNAL:Google Compute Engine:'project / my-project-198766 / zones / us-west1-a'的'compute.zones.get'权限 . ”错误代码:“18”

当我使用gcloud时,我会收到以下回复:

(gcloud.container.clusters.create)ResponseError:code = 403,message = Google Compute Engine:'projects / my-project-198766 / zones / us-west1-a'所需的'compute.zones.get'权限

请注意,我有所有者角色,我可以创建没有任何问题的VM实例 .

有任何想法吗?

3 回答

  • 2

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

    这可能是由于API调用而导致的,该调用具有缺少来自"roles/editor"绑定的cloudservices机器人的SetIamPolicy . SetIamPolicy是一个直接的PUT,它将覆盖请求中提供的任何策略 . 您可以使用以下命令获取项目的IAM策略列表given in this article .

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

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

    [id] @ cloudservices.gserviceaccount.com

    要解决此问题,您可以grant the mentioned service account "Editor" 权限并检查是否可以解决问题 .

    希望这可以帮助 .

  • 0

    在我的情况下,当我尝试创建kubernetes集群时,我删除了服务帐户/ IAM或者其他任何错误消息 .

    我要求Google重新创建我的服务帐户,他们提到您只需重新启用服务帐户即可重新创建服务帐户及其权限 . 因此,在我的情况下,我运行以下两个命令,以使kubernetes再次工作:

    gcloud services enable compute
    gcloud services enable container
    

    这是他们给我的链接:https://issuetracker.google.com/64671745#comment2

  • 1

    我想我明白了 . 我试图遵循GitHub的建议 . 我需要在我的帐户上设置的权限(称为 blahblah-compute@developer.gserviceaccount.com )是:

    roles/compute.instanceAdmin roles/editor roles/iam.serviceAccountUser

    最后一个似乎至关重要 .

相关问题