Google compute engine GCE API要求';compute.zones.list';许可';项目/someproject';

Google compute engine GCE API要求';compute.zones.list';许可';项目/someproject';,google-compute-engine,Google Compute Engine,我已经在GCP中创建了一个项目。然后,我使用ComputeAdmin角色创建服务帐户。然后我为项目启用“计算引擎API” 但无法处理实例: #gcloud计算实例列表 错误:(gcloud.compute.instances.list)某些请求未成功:-必需的“compute.zones.list” “项目/someproject”的权限 我做错了什么 已编辑 从服务帐户: 错误:(gcloud.projects.get iam策略)用户 [cloud66@project_id.iam.gse

我已经在GCP中创建了一个项目。然后,我使用ComputeAdmin角色创建服务帐户。然后我为项目启用“计算引擎API”

但无法处理实例:

#gcloud计算实例列表

错误:(gcloud.compute.instances.list)某些请求未成功:-必需的“compute.zones.list” “项目/someproject”的权限

我做错了什么

已编辑


从服务帐户:

错误:(gcloud.projects.get iam策略)用户 [cloud66@project_id.iam.gserviceaccount.com]没有权限 要访问项目[project_id:getIamPolicy](或者它可能不存在),请执行以下操作: 呼叫方没有权限

当我切换到google主帐户时:

$gcloud项目获取iam策略项目\u id绑定:

  • 成员:

    • 服务帐户:cloud66@project_id.iam.gserviceaccount.com
    角色:角色/compute.admin

  • 成员:

    • 服务帐户:服务-855312803173@compute-system.iam.gserviceaccount.com
    角色:角色/compute.serviceAgent

  • 成员:

    • 服务帐户:855312803173-compute@developer.gserviceaccount.com
    • 服务帐户:855312803173@cloudservices.gserviceaccount.com
    角色:角色/编辑

  • 成员:

    • 用户:我的谷歌用户角色:角色/所有者
从日志视图:

2020-01-28 16:46:30.932 EET计算引擎列表区域 cloud66@project_id.iam.gserviceaccount.com拒绝许可

代码:7
消息:“权限被拒绝”

看看第一个。如果您的服务帐户没有足够的权限,通常会发生这种错误。在这种情况下,您应该在那里搜索所需的权限,如
compute.zones.
,并按说明将其添加到您的服务帐户中。例如,它可能是

编辑看起来
计算管理员角色
应该适合您。请确保使用以下命令检查项目中授予的角色:

gcloud projects get-iam-policy YOUR_PROJECT_ID 
如果您想使用您的服务帐户和来自某个应用程序的云API,请查看以下内容


EDIT2尝试检查您的服务帐户和第三名的密钥(如某些linux桌面或服务器)。这是我在Google测试期间第一次创建服务帐户“cloud66”时所述。这很可能会影响访问权限。然后我把账单从测试期改为付费期。我在“API&服务->凭证”部分删除并重新创建了cloud66服务帐户。但是在“IAM”部分有一个“cloud66”的访问策略,其角色是“ComputeAdmin”。当我从“IAM”部分删除访问策略并重新创建服务帐户时,问题已得到解决。

它已计算Admin roleI已使用gcloud命令结果更新了我的问题。如您所见,“serviceAccount:cloud66”的角色是“roles/compute.admin”。是的,命令输出看起来不错。您是否出于其他原因使用Cloud66服务或以这种方式命名的服务帐户?请提供有关您的用例的更多详细信息。是的,我正在尝试在中添加GCE作为云提供商。在我从IAM for cloud66中删除策略后,我已解决了该问题,然后重新创建了该策略(早期我仅从服务帐户中删除了clud66)。非常感谢您抽出时间!