我在GCP中创建了一个项目。然后创建带有ComputeAdmin角色的服务帐户。然后为项目启用"Compute“。
但无法处理实例:
#gcloud计算实例列表 错误:(gcloud.compute.instances.list)一些请求没有成功:-需要“项目/某个项目”的“compute.zones.list”许可
我做错什么了?
编辑的
从服务帐户:
错误:(gcloud.projects.get-iam-policy)用户cloud66@project_id.iam.gserviceaccount.com没有访问项目id:getIamPolicy的权限:调用者没有权限
当我切换到主要的google帐户时:
$ gcloud项目get-iam-策略project_id绑定:
- serviceAccount:cloud66@project\_id.iam.gserviceaccount.com 角色:角色/计算。管理
- serviceAccount:service-855312803173@compute-system.iam.gserviceaccount.com角色:角色/计算。服务代理
- serviceAccount:855312803173-compute@developer.gserviceaccount.com
- serviceAccount:855312803173@cloudservices.gserviceaccount.com角色:角色/编辑器
- user:my\_google\_user role: roles/owner
从日志视图:
2020年-01-28 16:46:30.932 EET计算引擎列表区域cloud66@project_id.iam.gserviceaccount.com PERMISSION_DENIED 代码:7 信息:"PERMISSION_DENIED“
发布于 2020-01-30 11:18:02
在Google测试期间,我第一次创建了一个服务帐户"cloud66“。很可能,这会影响访问权限。然后我把账单从测试期改为付费期。我删除并重新创建了“API& Services ->凭据”部分中的->服务帐户。但是在"IAM“部分中有一个"cloud66”的访问策略,它的作用是"ComputeAdmin“。当我从"IAM“部分删除访问策略并重新创建服务帐户时,问题就解决了。
发布于 2020-01-29 10:02:24
先看一下文档。如果您的服务帐户没有足够的权限,通常会发生这样的错误。在本例中,您应该使用检查可用角色,在那里搜索所需的权限,如compute.zones.,并将其添加到您的服务帐户中,就像它描述的这里一样。例如,它可能是Compute Instance Admin (v1) role。
编辑看起来Compute Admin role应该适合您。要确定,请使用命令检查项目中已授予的角色:
gcloud projects get-iam-policy YOUR_PROJECT_ID 如果想使用来自某些应用程序的Cloud服务帐户,请查看此使用说明。
EDIT2试着检查第三位的服务帐户和密钥(比如一些linux桌面或服务器),就像它在文档中描述的那样。
https://stackoverflow.com/questions/59963718
复制相似问题