如何解决如何在Google Cloud Platform计算引擎上查看外部IP?
我已通过ssh登录到计算引擎。我正在使用我的个人ssh密钥进行ssh输入。我做了gcloud compute ssh --project someproj --zone somezone someserver
登录。然后,我尝试执行gcloud compute instances list
以查看外部ip。它说我没有足够的特权。我的理解是,尽管我以ssh登录为自己,但实际上我正在使用服务帐户。因此,我将服务帐户编辑为具有Role: Compute Viewer
,但是仍然出现错误。我在做什么错了?
请注意,我知道我可以从控制台或使用cli通过我的电脑查看外部IP。我对为什么在IAM设置下为何计算实例看不到它感兴趣。
这是实际错误:
$ gcloud compute instances list
ERROR: (gcloud.compute.instances.list) Some requests did not succeed:
- Insufficient Permission: Request had insufficient authentication scopes.
这是我的gcloud sdk配置:
$ gcloud config list
[core]
account = some-service-account@developer.gserviceaccount.com
disable_usage_reporting = True
project = some-project
Your active configuration is: [default]
解决方法
创建Compute Engine实例时,您可以指定“作用域”。范围是一种较旧的技术,我们可以根据允许的执行范围来限制请求。默认设置为“允许默认访问”,它允许某些GCP服务,而不允许其他GCP服务。其他两个选项是“允许完全访问”和“为每个API设置访问权限”。如果您指定“允许完全访问”,则对GCP服务的访问仅由IAM控制。如果它是默认设置或每个API的访问权限,那么您将同时受制于两个范围和IAM权限。
您可能正在使用默认访问权限,这会阻止您要运行的gcloud命令。设置“允许完全访问”或更改特定范围以允许“计算”范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。