Google应用程序默认凭据存储在哪里?

时间:2016-10-13 23:31:23

标签: authentication gcloud

4 个答案:

答案 0 :(得分:13)

我找到了他们。它们位于〜/ .config / gcloud / credentials 中。我能够通过挂载docker run --rm -it -v ~/.config/gcloud:/root/.config/gcloud alpine:3.4 sh将默认凭据传递给我正在处理的docker镜像。

答案 1 :(得分:5)

视窗:

RestTemplate

C:\Users\%username%\AppData\Roaming\gcloud\credentials

答案 2 :(得分:1)

当前接受的答案不再正确。

现在,如约翰·汉利(John Hanley)在https://superuser.com/a/1508016/111814中所述:

您的凭据存储在~/.config/gcloud

凭据存储在该目录中的两个文件中:access_tokens.db和凭据.db。这两个文件都是SQLite数据库。

要查看内容,例如:sqlite3 ~/.config/gcloud/credentials.db .dump

答案 3 :(得分:0)

我将对 Peter V. Mørch 的回答进行补充,并说这里的答案都不正确,甚至可能曾经正确!

如其他答案中所述,gcloud 和其他 Google Cloud SDK 工具(如 bqgsutil)使用的凭据存储在 ~/.config/gcloud/credentials.db 的数据库中。但是,问题是关于应用程序默认凭据 (ADC),credentials.db 中的凭据不用作 ADC 的一部分。

  • 要创建供 ADC 使用的凭据,您可以运行 gcloud auth application-default login,这会在 ~/.config/gcloud/application_default_credentials.json 创建一个凭据文件。
  • 要创建供 Cloud SDK 使用的凭据,您可以运行 gcloud auth login(或 gcloud auth activate-service-account),这会在 credentials.db 数据库中附加一个条目。

这些不同的凭据不必对同一用户进行身份验证;使用 gcloud auth login 登录不会启用 ADC。

我写了一篇关于此的博客文章,其中详细介绍了以下内容: Authentication on GCP: Application Default Credentials