3

We could run "gcloud auth list" to get our credentialed account, and now I want to do the same thing in my python code, that is checking the credential account by API in python. But I didn't fine it..... Any suggestion?

More information is: I want to check my account name before I create credentials

CREDENTIALS = GoogleCredentials.from_stream(ACCOUNT_FILE)
CREDENTIALS = GoogleCredentials.get_application_default()
Watacroft
  • 322
  • 2
  • 11
Shuishui
  • 61
  • 1
  • 3
  • As of May 2019, this still seems to be the case. See https://googleapis.github.io/google-cloud-python/latest/resource-manager/#authentication – Stephan May 15 '19 at 17:13

1 Answers1

2

gcloud stores credentials obtained via

  • gcloud auth login
  • gcloud auth activate-service-account

in its internal local database. There is no API besides gcloud auth list command to query them. Note that this is different (usually a subset) from the list of credentials in GCP.

Credentials used by gcloud are meant to be separate from what you use in your python code.

Perhaps you want to use https://cloud.google.com/sdk/gcloud/reference/iam/service-accounts/keys/list, there is also API for that https://cloud.google.com/iam/docs/creating-managing-service-accounts.

For application default credentials you would download json key file using developer console https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR_PROJECT or use gcloud iam service-accounts keys create command.

There is also gcloud auth application-default login command, which will create application default credential file in well known location, but you should not use it for anything serious except perhaps developing/testing. Note that credentials obtained via this command do not show up in gcloud auth list.

cherba
  • 8,681
  • 3
  • 27
  • 34