当您运行gcloud auth login或gcloud auth list时,它在哪里存储凭据?
https://developers.google.com/identity/protocols/application-default-credentials
答案 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 工具(如 bq
和 gsutil
)使用的凭据存储在 ~/.config/gcloud/credentials.db
的数据库中。但是,问题是关于应用程序默认凭据 (ADC),credentials.db
中的凭据不用作 ADC 的一部分。
gcloud auth application-default login
,这会在 ~/.config/gcloud/application_default_credentials.json
创建一个凭据文件。gcloud auth login
(或 gcloud auth activate-service-account
),这会在 credentials.db
数据库中附加一个条目。这些不同的凭据不必对同一用户进行身份验证;使用 gcloud auth login
登录不会启用 ADC。
我写了一篇关于此的博客文章,其中详细介绍了以下内容: Authentication on GCP: Application Default Credentials。