“ gcloud auth应用程序默认登录”和“ gcloud auth登录”之间的区别

时间:2018-11-14 17:53:07

标签: google-cloud-platform gcloud

gcloud auth application-default logingcloud auth login有什么区别?

尽管有以下定义,仍然很难区分它们。 gcloud auth application-default login - acquire new user credentials to use for Application Default Credentials gcloud auth login - authorize gcloud to access the Cloud Platform with Google user credentials

我什么时候应该使用另一个?

2 个答案:

答案 0 :(得分:10)

不同之处在于用例:

作为开发人员,我想通过gcloud与GCP进行交互。
gcloud auth login
这将获取您的凭据并将其存储在~/.config/gcloud/中。现在,您可以从终端运行gcloud命令,它将自动找到您的凭据。在这种情况下,任何代码/ SDK都会不会自动获得您的信任。

参考:https://cloud.google.com/sdk/gcloud/reference/auth/login

作为开发人员,我希望我的代码通过SDK与GCP交互。
gcloud auth application-default login
这将通过网络流获取您的凭据,并将其存储在“应用程序默认凭据的知名位置” 中。现在,您运行的所有代码/ SDK都将能够自动找到凭据。这是本地测试代码的良好替代品,该代码通常会在服务器上的文件上使用某些服务帐户凭据。

参考:https://cloud.google.com/sdk/gcloud/reference/auth/application-default/login

答案 1 :(得分:2)

我将其添加为答案,因为我没有评论的声誉。我认为@Himal的答案很明确,但是我想澄清一下,当它说代码/ SDK时,我们应该认为代码或语言(Java / Ruby / Python)SDK v / s gcloud SDK(也称为gSDK)云SDK)。这让我有些困惑,因为我有同样的疑问

所以, gcloud auth登录->登录到gcloud SDK

gcloud auth应用程序-默认登录->登录到计算机上运行的任何代码(应用程序中的语言SDK)

在打开的浏览器窗口的OAuth身份验证屏幕中,还有一个赠品:

gcloud auth登录名要求您选择一个帐户以继续授予对“ google cloud sdk”的访问权限。

gcloud auth应用程序默认登录名要求您授予对Google auth库的访问权限。