使用CLI向Google Computer Engine实例进行身份验证

时间:2016-06-15 05:42:39

标签: authentication curl oauth-2.0 command-line-interface google-compute-engine

我已经设置了Google Compute Engine实例,我希望能够使用家用计算机上的脚本打开和关闭它。我看到有一个API可以通过发送这样的POST请求来实现:

curl --data '' https://www.googleapis.com/compute/v1/projects/my-project/zones/asia-east1-a/instances/my-instance/stop

但我得到的答案是:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

所以我试图了解如何允许我的脚本授权在计算引擎上使用API​​而无需用户交互。我该怎么做?

Google似乎需要OAuth 2.0身份验证,但它似乎非常复杂。

我在Google的文档中找到的最接近的内容是this page,但我无法解决如何使其成为一堆卷曲声明。

This SO thread越来越近了,但在那里看了一下脚本 - 看起来他们需要用户互动。

1 个答案:

答案 0 :(得分:0)

我认为你需要Application Default Credentials。你看过这个页了吗?

https://developers.google.com/identity/protocols/application-default-credentials