gcloud auth application-default login
和gcloud 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
我什么时候应该使用另一个?
不同的是用例:
作为开发人员,我想通过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
这将通过Web流获取您的凭据,并将其存储在“应用程序默认凭据的众所周知的位置”中。现在,您运行的任何代码/ SDK都可以自动查找凭据。这是本地测试代码的良好替代品,通常在服务器上的文件上使用某些服务帐户凭据。
参考:https://cloud.google.com/sdk/gcloud/reference/auth/application-default/login
我正在添加这个作为答案,因为我没有评论的声誉。我认为@Himal的答案很明显,但我想澄清一下,当它说代码/ SDK时,我们应该认为代码或语言(Java / Ruby / Python)SDK v / s是gcloud SDK(也称为云SDK)。这让我有点困惑,因为我有同样的怀疑
所以,gcloud auth登录 - >登录gcloud SDK
gcloud auth application-default login - >登录计算机上运行的任何代码(应用程序中的语言SDK)
打开的浏览器窗口中的OAuth身份验证屏幕还有一个赠品:
gcloud auth login要求您选择一个帐户以继续访问“google cloud sdk”。
gcloud auth application-default login会要求您访问google auth库。