繁体   English   中英

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

[英]Difference between "gcloud auth application-default login" and "gcloud auth login"

gcloud auth application-default logingcloud auth login什么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 进行交互。
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

编辑(09/19/2019):
正如 Kent 在下面的评论中所贡献的, “应用程序默认凭据的众所周知的位置”是一个名为application_default_credentials.json的文件,位于您的本地~/.config/gcloud/目录中。 我在下面添加了一个附加链接,指向Theodore SuiDaniel De Leo的一篇文章,其中详细介绍了不同的身份验证方法。

文章: https : //medium.com/google-cloud/local-remote-authentication-with-google-cloud-platform-afe3aa017b95

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

因此,gcloud auth login -> Login to gcloud SDK

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

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

gcloud auth login要求您选择一个帐户以继续访问“google cloud sdk”。

gcloud auth application-default login要求您授予对 google auth 库的访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM