【问题标题】:Gcloud auth account used by go sdkgo sdk 使用的 Gcloud 身份验证帐户
【发布时间】:2020-04-07 18:17:14
【问题描述】:

我可用的gcloud auth 帐户:

▶ gcloud auth list                                                        
         Credentialed Accounts
ACTIVE  ACCOUNT
        account1@gmail.com
        account2@gmail.com
*       account3@gmail.com

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

当执行gcloud projects list时,我得到与上面指示为ACTIVE的帐户相对应的项目列表(即带有星号的那个,account3@gmail.com

尽管如此,当我使用go google cloud sdk,更具体地说是cloudresourcemanager 来列出我的项目时,我得到了与account1@gmail.com 对应的项目。

为什么 Go SDK 不使用 gcloud 认为是 ACTIVE 的帐户,我该如何指示它这样做?

奇怪的是,当我使用 Python SDK 开发一些工具时,行为很简单,所有的 SDK 调用确实都在使用活动帐户,而我无需执行任何额外的配置步骤。

【问题讨论】:

    标签: go sdk gcloud


    【解决方案1】:

    Google 的 [Golang] Cloud SDK 默认使用 Application Default Credentials (ADCs) 对 Google Cloud Platforms 服务进行身份验证。

    我怀疑 (!) 在某些时候,您使用了 gcloud auth application-defaultaccount1@gmail.com,因此使用了此帐户。

    最佳做法是使用服务帐户而不是人工帐户与 ADC,然后使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量引用该帐户。

    同时,您也许可以使用上述命令切换到account3@gmail.com 以确认该行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-29
      • 2022-08-04
      • 2020-08-29
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 2020-07-13
      相关资源
      最近更新 更多