我创建了一个项目并设置了Windows 2012 VM。我正在尝试列出项目中的网络。以下是我执行的步骤:
最初,我根据创建VM时创建的凭据登录VM。 从那里,打开Google Cloud SDK Shell(以管理员身份) 接下来,我按如下方式设置项目名称:
C:\windows\system32> gcloud config set project <proj-name>
然后,我试图列出网络(应该只有一个 - 默认)。以下是与许可相关的错误。
C:\windows\system32> gcloud compute networks list
NAME IPV4_RANGE GATEWAY_IPV4
ERROR: (gcloud.compute.networks.list) Some requests did not succeed:
- Insufficient Permission
答案 0 :(得分:18)
这是创建的虚拟机凭据的权限问题。
要解决此问题,您可以使用gcloud auth login
并通过浏览器登录您的Google帐户。您还可以在Cloud Console中创建服务帐户并将其加载到计算机上,然后使用gcloud auth activate-service-account
激活。
这个问题在Cloud Console中最容易看到。导航到此VM的实例页面;你会看到类似的东西:
请注意,“Compute”设置为“Disabled”。
要在云控制台中创建新VM实例时更改这些权限,请展开“管理,磁盘,网络,访问和安全选项”视图:
然后,导航到“访问和安全性”并更改“计算”的权限:
这将创建对您项目的Google Compute Engine设置具有读取权限的新虚拟机。
要使用gcloud
创建新实例,请将以下标记添加到gcloud compute instances create
:
--scopes "https://www.googleapis.com/auth/compute.readonly"
您还需要添加任何其他权限。
答案 1 :(得分:7)
首先使用gcloud auth login
命令进行身份验证并获取该工具的凭据。
答案 2 :(得分:1)
正如this post中的Misha Brukman回答的那样,您不必包含网址(因为这可能会改变),但只需输入--scopes选项“compute -rw”,如下所示:
gcloud compute instances create <vm name> --scopes compute-rw
如果您已经创建了vm实例,则只需使用等效的更新命令,如下所示:
gcloud compute instances update <vm name> --scopes compute-rw
答案 3 :(得分:0)