【问题标题】:Authorizing REST API calls to GCP授权对 GCP 的 REST API 调用
【发布时间】:2020-11-16 22:20:40
【问题描述】:

我对 GCP 产品完全陌生。我正在尝试使用文档中提供的 REST API 创建和管理资源,即虚拟机。我正在尝试的端点之一是

GET https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances?key={API_KEY}

虽然要对平台进行授权调用,但我需要配置我为其创建相关服务帐户的 OAuth 2.0 身份验证。我不确定如何进一步使用它来授权请求​​。这方面的任何线索都会非常有帮助。谢谢!

编辑: 我打算从 Python 调用 REST API。不确定这是否正确。

【问题讨论】:

  • 您需要如何生成 API 密钥?
  • 这可能是个入门的好地方...cloud.google.com/docs/authentication
  • 我已经生成了作为路径参数传递的 API 密钥。为了进一步授权请求,我需要传递需要 OAuth 2.0 令牌的 Authorization 标头,我想知道如何生成 OAuth 2 Bearer 令牌。
  • @Kolban 感谢您的领导。尽管我查看了您提供的文档,但我不清楚生成应该作为标头传递的 OAuth 令牌
  • 也许试试这个...developers.google.com/identity/protocols/oauth2 ...您可能还想查看其中一个客户端库。直接进行 REST 调用是可能的最低级别 API。

标签: google-cloud-platform google-oauth


【解决方案1】:

我终于能够通过创建 JWT 来授权对 GCP 的 API 调用,将其序列化为 UTF-8 表示(UTF-8 很重要),使用 google 客户端库 google.auth 对其进行签名,最后向 @ 发出请求987654323@ 传递了POST 参数grant_type = urn:ietf:params:oauth:grant-type:jwt-bearerassertion,其值为使用签名JWT 令牌的令牌的签名jwt。

参考:https://developers.google.com/identity/protocols/oauth2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2019-07-05
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多