gcloud计算列表网络错误:"某些请求未成功: - 权限不足"

eta*_*tak 4 google-compute-engine google-cloud-platform gcloud

我创建了一个项目并设置了Windows 2012 VM.我正在尝试列出项目中的网络.以下是我执行的步骤:

最初,我根据创建VM时创建的凭据登录VM.从那里,打开Goog​​le Cloud SDK Shell(以管理员身份)接下来,我按如下方式设置项目名称:

C:\windows\system32> gcloud config set project <proj-name>
Run Code Online (Sandbox Code Playgroud)

然后,我试图列出网络(应该只有一个 - 默认).以下是与权限相关的错误.

C:\windows\system32> gcloud compute networks list
NAME IPV4_RANGE GATEWAY_IPV4
ERROR: (gcloud.compute.networks.list) Some requests did not succeed:
 - Insufficient Permission
Run Code Online (Sandbox Code Playgroud)

Zac*_*man 19

这是创建的虚拟机的凭据的权限问题.

要解决此问题,您可以gcloud auth login通过浏览器使用并登录Google帐户.您还可以在Cloud Console中创建服务帐户并将其加载到计算机上,然后使用激活gcloud auth activate-service-account.


此问题在云控制台中最容易看到.导航到此VM的实例页面; 你会看到类似的东西:

VM的权限,显示

请注意,"计算"设置为"已禁用".

要在云控制台中创建新VM实例时更改这些权限,请展开"管理,磁盘,网络,访问和安全选项"视图:

管理,磁盘,网络,访问和安全选项

然后,导航到"访问和安全性"并更改"计算"的权限:

设置权限

这将创建新的虚拟机,该虚拟机具有对项目的Google Compute Engine设置的读取权限.


要使用创建新实例gcloud,请将以下标志添加到gcloud compute instances create:

--scopes "https://www.googleapis.com/auth/compute.readonly"
Run Code Online (Sandbox Code Playgroud)

您还需要添加任何其他权限.


Kam*_*ran 8

首先使用gcloud auth login命令进行身份验证并获取该工具的凭据.