google-cloud-platform - “gcloud auth application-default login”和“gcloud auth login”之间的区别
问题描述
gcloud auth application-default login
vs 和有什么不一样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
编辑(2019 年 9 月 19 日):
正如 Kent 在下面的评论中所贡献的那样,“应用程序默认凭据的知名位置”是一个application_default_credentials.json
位于本地~/.config/gcloud/
目录中的文件。我在Theodore Sui和Daniel De Leo的文章下面添加了一个附加链接,该文章更详细地介绍了不同的身份验证方法。
文章: https ://medium.com/google-cloud/local-remote-authentication-with-google-cloud-platform-afe3aa017b95
推荐阅读
- python-3.x - 有选择地禁用 matplotlib 图上的 mplcursors
- angular - Angular 6+:在非根模块中提供导致循环依赖
- sapui5 - SAPUI5:我无法在 XML 视图或控制器内部分配自定义控件属性
- linux - AIX Openssl dgst hmac 结果不同
- asp.net - IIS 8 将现有文件夹设置为虚拟
- android - 匕首2方法注入?
- c++ - 信号槽自定义结构问题
- spring-boot - 如何将 Spring Boot 执行器上的指标拆分为单独的端点/端口
- laravel-5 - 将数据传递给 Laravel 中控制器提供的所有视图
- python - python线程:只有一个Python线程在运行