【问题标题】:Authenticate requests from GCE to BigQuery through IAP通过 IAP 验证从 GCE 到 BigQuery 的请求
【发布时间】:2021-02-13 08:13:08
【问题描述】:

我正在使用 GCE 实例和 GCP 提供的 python/jupyter 笔记本图像之一来进行一些数据分析。数据驻留在 BigQuery 中。默认情况下,该实例可以使用服务帐户访问 BiqQuery,但出于数据保护的原因,我必须使用个人用户帐户来请求数据。

我知道可以在 python 中使用编程 oauth 流程来请求凭据以使用个人帐户对 BigQuery 进行身份验证,但是每次重新启动 ipython 内核时都必须以交互方式运行该流程,并且涉及在浏览器中打开该授权 URL 和然后粘贴秘密,这很烦人。

由于我使用 IAP 以我的帐户登录 GCE 实例,有没有办法从 IAP 获取个人凭据以用于自动对 BigQuery 进行身份验证?

【问题讨论】:

    标签: google-cloud-platform google-bigquery google-oauth google-iam identity-aware-proxy


    【解决方案1】:

    据我了解,IAP 就像用户和应用程序(在您的情况下是在 GCE 上运行的 jupyter 服务器)之间的登录屏幕,用于向应用程序验证用户身份,例如jupyter 服务器。

    IAP 在您进行身份验证后将 id_token (JWT) 作为signed headers 添加到您的 http 请求中,JWT 是专门为 IAP 实例制作的,如果您对 jwt 进行 base64 解码,您会看到受众声明设置为IAP实例的client_id,不能用于其他用途。

    bigquery 还需要 access_token 而不是 id_token。我认为做一个oauth流程可能是唯一的方法。但很高兴得到纠正...

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 2020-04-05
      • 2020-03-17
      • 2010-11-05
      • 2020-11-04
      • 2021-08-04
      相关资源
      最近更新 更多