Difference between “gcloud auth application-default login” and “gcloud auth login”
尽管有以下定义,仍然很难区分它们。
gcloud auth应用程序-默认登录名:
-
acquire new user credentials to use for Application Default Credentials
gcloud身份验证登录名:
-
authorize gcloud to access the Cloud Platform with Google user credentials
我什么时候应该在另一个上使用?
不同之处在于用例:
作为一名开发人员,我想通过gcloud与GCP进行交互。
这将获取您的凭据并将其存储在
参考:https://cloud.google.com/sdk/gcloud/reference/auth/login
作为一名开发人员,我希望我的代码通过SDK与GCP进行交互。
这将通过网络流获取您的凭据,并将其存储在"应用程序默认凭据的众所周知位置"中。现在,您运行的任何代码/ SDK都将能够自动找到凭据。当您要本地测试通常在服务器上运行并使用服务器端凭据文件的代码时,这是一个很好的替代方法。
参考:https://cloud.google.com/sdk/gcloud/reference/auth/application-default/login
编辑(09/19/2019):
正如肯特(Kent)在下面的评论中所述,"应用程序默认凭据的众所周知位置"是位于本地
文章:
https://medium.com/google-cloud/local-remote-authentication-with-google-cloud-platform-afe3aa017b95
我将其添加为答案,因为我没有评论的声誉。我认为@Himal \\的答案很明确,但我想澄清一下,当它说代码/ SDK时,我们应该认为代码或语言(Java / Ruby / Python)SDK v / s gcloud SDK(这是也称为Cloud SDK)。这让我有些困惑,因为我有同样的疑问
所以,
gcloud auth登录->登录到gcloud SDK
gcloud auth应用程序-默认登录->登录到计算机上运行的任何代码(应用程序中的语言SDK)
打开的浏览器窗口中的OAuth身份验证屏幕中也有一个赠品: