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
我什么时候应该使用另一个?
答案 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库的访问权限。