简体   繁体   中英

GCP Authenticate as End User using gcloud auth (not service account)

On my GCP VM (ubuntu) server, if I run:

gcloud init

in the terminal, and log in as my username (NOT A SERVICE ACCOUNT), eg my.name@companyname.com , then I can be authenticated as my user self, and am authenticated for all gcp related python functions.

>>> import google.auth
>>> credentials, project = google.auth.default()
UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK without a quota project. You might receive a "quota exceeded" or "API not enabled" error. We recommend you rerun `gcloud auth application-default login` and make sure a quota project is added. Or you can use service accounts instead. For more information about service accounts, see https://cloud.google.com/docs/authentication/
warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)

However, when I follow the same process on my local windows machine, I get this error:

>>> import google.auth
>>> credentials, project = google.auth.default()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\google\auth\_default.py", line 354, in default
    raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the
 application. For more information, please see https://cloud.google.com/docs/authentication/getting-started

I do not want to use a service account. I want to be authenticated using end user credentials (Without using flow).

Solution:

Run

gcloud auth application-default login

in the windows machine, and login as the user you want.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM