Выход из 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 на моем ноутбуке?
РЕДАКТИРОВАТЬ: чтобы уточнить: на этом компьютере нет файлов JSON учетной записи Google Cloud Service, и я отключил GOOGLE_APPLICATION_CREDENTIALS
переменная окружения.
Не уверен, что это поможет вам, но я столкнулся с аналогичной проблемой. После того как я отозвал все учетные данные с помощью команды «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