首页 > 解决方案 > “gcloud auth application-default login”和“gcloud auth login”之间的区别

问题描述

gcloud auth application-default loginvs 和有什么不一样gcloud auth login

尽管有以下定义,但仍然很难区分它们。

gcloud auth 应用程序默认登录

gcloud 身份验证登录

我什么时候应该使用其中一种?

标签: google-cloud-platformgcloud

解决方案


不同之处在于用例:

作为一名开发人员,我想通过 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

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

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


推荐阅读