Как полностью выйти из Google Cloud? `gcloud auth revoke --all` не помогает

Как полностью выйти из Google Cloud? `gcloud auth revoke --all` не помогает

Выход из Google Cloudкажетсякак будто это должно быть легко. Если я запущу:

$ unset GOOGLE_APPLICATION_CREDENTIALS

$ gcloud auth revoke --all
Revoked credentials:
  - [my account]
$ gcloud auth list

No credentialed accounts.

To login, run:
  $ gcloud auth login `ACCOUNT`

Сначала этовыглядиткак будто я полностью вышел из gcloud. Но посмотрите, что происходит, когда я открываю оболочку Python:

>>> from google.cloud import secretmanager_v1beta1 as secretmanager
>>> client = secretmanager.SecretManagerServiceClient()
/Users/my/path/.venv/lib/python3.7/site-packages/google/auth/_default.py:66: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues to use end user credentials from Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error. For more information about service accounts, see https://cloud.google.com/docs/authentication/
  warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)
>>> path = client.secret_version_path(project="my-project-name", secret="my-secret", secret_version="latest")
>>> secret = client.access_secret_version(path)
>>> secret.payload.data.decode()
"Oh, no! I should be secret!"

Как видите, даже несмотря на то, что я запустил, gcloud auth revoke --allя все еще могу получить доступ к Google Cloud через Python SDK, используя учетные данные пользователя, которые где-то хранятся. Есть ли способполностьювыйти из Google Cloud на моем ноутбуке?

EDIT: для дальнейшего уточнения: на этом компьютере не сохранено ни одного JSON-файла учетной записи Google Cloud Service, и я отменил установку GOOGLE_APPLICATION_CREDENTIALSпеременной среды.

решение1

Не уверен, поможет ли это вам, но я столкнулся с похожей проблемой. После того, как я отозвал все учетные данные с помощью команды, gcloud auth revoke --allя все еще мог выполнять скрипты в своей среде. В конце концов, я нашел файл учетных данных приложения по умолчанию, расположенный в~/.config/gcloud/application_default_credentials.json. Переименование или удаление этого файла помогло полностью отозвать учетные данные. И теперь клиентская библиотека не имеет доступа к среде:

  File "audit_test.py", line 8, in main
    client = resource_manager.Client()
  File "fake_path/python3.7/site-packages/google/cloud/resource_manager/client.py", line 72, in __init__
    super(Client, self).__init__(credentials=credentials, _http=_http)
  File "fake_path/python3.7/site-packages/google/cloud/client.py", line 132, in __init__
    credentials, _ = google.auth.default()
  File "fake_path/python3.7/site-packages/google/auth/_default.py", line 321, 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

решение2

Как прокомментировал вышеАджанЧарльз, gcloud auth application-default revokeработает. Просто нажмите команду, и она удалит application-defaultкредиты. Посмотрите разницуздесьУ меня была та же проблема, и только это помогло.

Редактировать:

Помните, что вам все равно нужно вызвать , gcloud auth revoke --allпоскольку gcloud auth application-default revokeудаляются только учетные данные приложения по умолчанию.

Связанный контент